AWS (Amazon Web Services) a développé une gamme de services Serverless qui permettent aux développeurs de créer des applications évolutives, hautement disponibles et sans souci de gestion de l'infrastructure sous-jacente. Dans cet article, nous allons explorer en détail AWS Serverless et comprendre pourquoi cette approche gagne en popularité.
Qu’est-ce que l’architecture Serverless ?
Avant d’entrer plus en détail sur les propositions d’Amazon concernant ce type de service, il est essentiel de définir et de comprendre ce que signifie exactement ce terme.
Une architecture Serverless est un modèle de développement d’applications à partir duquel les développeurs peuvent se concentrer sur l’écriture de leur code et de la logique métier sans avoir à se soucier de la gestion des serveurs et infrastructures sous-jacentes. Dans ce type d’environnement, les fournisseurs de services cloud, comme Amazon AWS, gèrent dynamiquement les ressources nécessaires pour exécuter et mettre à l’échelle les applications.
Bénéfices d’une infrastructure Serverless
Les architectures Serverless présentent des avantages considérables :
Coût de gestion | Vous avez à payer uniquement pour les ressources utilisées, ce qui résulte en d’importantes économies. | |
---|---|---|
Mise à l’échelle | Les applications se mettent automatiquement à l’échelle en fonction des demandes changeantes. Aucune gestion d’infrastructure de mise à l’échelle nécessaire. | |
Rapidité | Les applications peuvent être développées et publiées très rapidement, répondant par conséquent à des enjeux business évidents. | |
Haute disponibilité | Cette architecture est conçue pour être hautement disponible : les applications sont accessibles à n’importe quel moment. | |
Modèle “Pay-per-use” | Vous êtes débité uniquement pour le nombre de requêtes ou d’évènements, ce qui rend aisé le suivi des coûts d’utilisation. |
Les principaux services Serverless de Amazon AWS
Comme nous l’avons évoqué en introduction, AWS propose tout un panel de services Serverless. Voici les principaux :
AWS Lambda | Il permet d’exécuter du code en s’affranchissant du provisionnement ou de la gestion des serveurs. L’un des avantages majeurs de AWS Lambda est que vous ne payez que pour le temps de calcul réellement utilisé. Avec Lambda vous pouvez exécuter du code sur n’importe quel type d’application ou de service. Ainsi, Lambda prendra en charge automatiquement tout le nécessaire pour la bonne exécution et la haute disponibilité de votre code. |
|
---|---|---|
AWS API Gateway | Avec ce service Serverless, vous bénéficiez de plusieurs fonctionnalités essentielles pour la gestion de vos API. Il offre une puissante plateforme de gestion, et vous permet de prendre en charge plusieurs milliers de requêtes API simultanées, de gérer le trafic, les autorisations, le monitoring et le versionning de vos API | |
DynamoDB | Ce service propose une base de données NoSQL très réactive et flexible, conçue pour répondre aux besoins de toutes les applications nécessitant une latence de l’ordre de quelques millisecondes, quelle que soit l’échelle. Entièrement gérée, elle dispose de fonctionnalités intégrées de sécurité, de sauvegarde et restauration, ainsi que de mise en cache pour les applications à grande échelle. | |
Amazon S3 | Il s’agit d’un service de stockage qui offre une évolutivité, une disponibilité, une sécurité et des performances de premier plan. Avec sa capacité d’évolution, S3 peut s’adapter aux besoins de stockage changeants des clients. Il permet en outre une disponibilité élevée, assurant que les données stockées sont toujours accessibles lorsque cela s’avère nécessaire. Amazon S3 a également été conçu pour offrir une latence et des temps de réponses très faibles, permettant ainsi aux utilisateurs et aux applications d’accéder aux données stockées très rapidement. |
|
Amazon Kinesis | Kinesis est une plateforme de streaming de données qui offre de puissants moteurs de calcul pour le chargement et l’analyse de données, vous permettant également de construire vos propres applications de streaming. | |
AWS Fargate | Fargate est un moteur de calcul sans serveur spécialement conçu pour les conteneurs. | |
Amazon SNS | Il s’agit d’un service de messagerie hautement disponible, sécurisé et entièrement géré qui vous permet de dissocier les microservices, les systèmes distribués et les applications sans serveur. SNS fournit des rubriques pour la messagerie à haut débit basée sur le push. Vos systèmes d’éditeurs pourront diffuser vos messages vers un très grand nombre de points de terminaison pour un traitement en parallèle. |
|
Amazon SQS | SQS est un système de file d’attente de message, entièrement géré, qui facilite le découplage et la mise à l’échelle des microservices, des systèmes distribués et des applications sans serveur. À l’aide de SQS vous serez en mesure d’envoyer, de stocker et de recevoir des messages entre différents composants logiciels. |
Conclusion
L’architecture Serverless a révolutionné la façon dont les applications modernes sont développées et déployées. Grâce aux différents services Amazon AWS, les développeurs peuvent créer des applications évolutives et hautement disponibles.
AWS offre un écosystème puissant permettant ainsi aux développeurs de s’affranchir de toute la gestion de l’infrastructure sous-jacente.