Sans serveur
Créer et exécuter des applications sans vous soucier des serveurs
Qu'est-ce que le sans serveur ?
Le sans serveur désigne l'architecture native du cloud qui vous permet de déléguer davantage de responsabilités opérationnelles à AWS, ce qui augmente votre agilité et votre innovation. Le sans serveur permet de concevoir et d'exécuter des applications et des services sans se soucier des serveurs. Cela permet d'éliminer les tâches de gestion des infrastructures, comme le provisionnement de serveur ou de cluster, la correction, la maintenance des systèmes d'exploitation et la mise en service de capacités. Vous pouvez en concevoir pour pratiquement n'importe quel type d'application ou de service backend. Tous les aspects nécessaires à l'exécution et au dimensionnement de votre application avec une haute disponibilité sont gérés à votre place.
Pourquoi utiliser le sans serveur ?
Le sans serveur vous permet de construire des applications modernes avec une agilité accrue et un coût total de possession diminué. La conception d'applications sans serveur signifie que vos développeurs peuvent se concentrer sur leur produit au lieu de se soucier de la gestion et de l'exploitation de serveurs ou de moteurs d'exécution, que ce soit dans le cloud ou sur site. Cette réduction des opérations nécessaires permet à vos développeurs de consacrer davantage de temps et d'énergie au développement de produits fiables, évolutifs et formidables.
Quels sont les avantages du sans serveur ?
Le sans serveur présente quatre principaux avantages :
AUCUNE GESTION DE SERVEUR
DIMENSIONNEMENT FLEXIBLE
Paiement à l'utilisation
HAUTE DISPONIBILITÉ AUTOMATISÉE
Il n'est pas nécessaire d'allouer ou de maintenir le moindre serveur. Il n'y a pas de logiciel ou de moteur d'exécution à installer, à entretenir ou à administrer.
Votre application peut évoluer automatiquement ou en ajustant sa capacité à travers l'activation des unités de consommation (comme le débit ou la mémoire) plutôt que les unités de serveurs individuels.
Payez pour un débit ou une durée d'exécution constants plutôt que par unité de serveur.
Le sans serveur fournit une disponibilité et une tolérance aux pannes intégrées. Vous n'avez pas besoin de développer ces capacités, car le service exécutant l'application les fournit par défaut.
Études de cas
The Coca-Cola Company, une multinationale américaine spécialisée dans les boissons, a utilisé AWS Lambda et AWS Step Functions pour créer une solution sans serveur rentable.
FINRA supervise les fournisseurs de courtiers de sécurité aux Etats-Unis, y compris pour l'anaylse d'un maximum de 75 milliards d'événements de marché quotidiens pour identifier les fraudes et les échanges internes.
iRobot, un leader mondial sur le marché de la robotique domestique, utilise AWS Lambda et AWS IoT pour exécuter des applications Web qui se connectent aux nouveaux aspirateurs Roomba Wi-fi.
Autodesk utilise AWS Lambda pour automatiser les opérations informatiques et minimiser le temps et les coûts requis pour la gestion des infrastructures.
Fonctionnalités de la plateforme sans serveur AWS
Une application sans serveur de production pouvant s'exécuter à grande échelle nécessite une plateforme proposant un large éventail de fonctionnalités. Voici comment AWS prend en charge des applications sans serveur d'entreprise :
COUCHE CLOUD LOGIQUE
Optimisez votre logique business avec AWS Lambda, qui peut servir de plan de contrôle et de couche logique pour toutes vos ressources d'infrastructure interconnectées et API Web. Définissez, orchestrez et exécutez des applications conteneurisées de niveau de production et des microservices sans avoir besoin de gérer des infrastructures en utilisant AWS Fargate.
ORCHESTRATION ET GESTION DES ÉTATS
Coordonnez et gérez l'état de chaque composant distribué ou microservice de votre application sans server à l'aide d'AWS Step Functions.
SOURCES DE DONNEES REACTIVES
Faites votre choix parmi un large éventail de sources de données et de fournisseurs que vous pouvez utiliser pour traiter des données ou déclencher des événements en temps réel. Consultez notre documentation pour obtenir la liste des sources de données réactives.
FRAMEWORK DE MODELISATION D'APPLICATIONS
Utilisez le modèle d'application sans serveur AWS open source pour modéliser et déployer vos applications et services sans serveur. Diffusez en continu vos applications sans serveur à l'aide d'outils de gestion du cycle de vie tels qu'AWS CodePipeline et AWS CodeBuild.
ECOSYSTEME DE DEVELOPPEMENT
Exploitez un écosystème d'outils tiers et de projets open source qui simplifient la création, le test et le déploiement de code, du développement à la production. Consultez notre page Outils pour développeurs ou la page sur les écosystèmes pour les outils de tiers.
BIBLIOTHEQUE D'APPLICATION ET D'INTEGRATIONS
Utilisez AWS Serverless Application Repository pour découvrir et déployer rapidement des applications sans serveur et des composants d'applications pour divers cas d'utilisation dont les backends mobiles et Web, les chatbots, l'IoT, les compétences Alexa, le traitement de données et de flux, et plus encore. Vous pouvez également rechercher des intégrations avec des services tiers connus comme Slack, Algorithmia, Twilio, Loggly, Splunk, Sumo Logic, Box et bien d'autres.
SECURITE ET CONTROLE D'ACCES
Garantissez la conformité et sécurisez l'ensemble de votre environnement informatique avec la journalisation, le suivi des modifications, les contrôles d'accès et le chiffrement. Contrôlez l'accès à vos ressources AWS en toute sécurité avec AWS Identity and Access Management (IAM). Gérer et authentifier les utilisateurs finaux de vos applications sans serveur avec Amazon Cognito. Utilisez Amazon Virtual Private Cloud (VPC) pour créer des réseaux virtuels privés auxquels vous seul pouvez accéder.
FIABILITE ET PERFORMANCES
AWS propose des services hautement disponibles, évolutifs et à faible coût qui peuvent offrir d'excellentes performances à l'échelle de l'entreprise. AWS Lambda exécute de manière fiable votre logique business grâce à des fonctionnalités intégrées telles que les files d'attente de lettres mortes et les tentatives automatiques. Consultez les témoignages de nos clients pour découvrir comment les entreprises utilisent AWS pour exécuter leurs applications.
ECHELLE ET PORTEE GLOBALES
Donnez à votre application et à vos services une portée mondiale en quelques minutes grâce à notre présence internationale. AWS Lambda est disponible dans plusieurs régions AWS et dans tous les emplacements périphériques AWS via Lambda@Edge. Vous pouvez également exécuter des fonctions Lambda sur des appareils locaux connectés avec AWS Greengrass.
La plateforme sans serveur AWS
AWS propose un ensemble de services entièrement gérés que vous pouvez utiliser pour concevoir et exécuter des applications sans serveur. Les applications sans serveur ne nécessitent pas d'allouer, de maintenir ni d'administrer des serveurs pour des composants backend comme le calcul, les bases de données, le stockage, le traitement de flux, les files d'attente de messages et bien plus. Vous n'avez plus à vous préoccuper de la tolérance aux pannes ni de la disponibilité de votre application. Au lieu de cela, AWS gère toutes ces capacités pour vous. Cela vous permet de vous concentrer sur l'innovation produit tout en profitant d'une mise sur le marché accélérée.
CALCUL
AWS Lambda vous permet d'exécuter du code sans avoir à mettre en service ou gérer des serveurs. Vous payez uniquement pour le temps de calcul consommé, il n'y a aucuns frais lorsque votre code n'est pas exécuté.
Lambda@Edge vous permet d'exécuter les fonctions Lambda à des emplacements AWS Edge pour répondre à des événements Amazon CloudFront.
AWS Fargate est un moteur de calcul dédié sans serveur pour les conteneurs. Fargate dimensionne et gère les infrastructures qui doivent exécuter vos conteneurs.
STOCKAGE
Amazon Simple Storage Service (Amazon S3) offre aux développeurs et aux équipes informatiques un espace de stockage d'objets sécurisé, durable et hautement évolutif. Amazon S3 est facile à utiliser et doté d'une interface de services web simple pour stocker et récupérer toute quantité de données depuis n'importe où sur le Web.
Amazon Elastic File System (Amazon EFS) fournit un stockage de fichiers simple, élastique et scalable. Il est conçu pour se mettre à l'échelle de façon basée sur Elastic à la demande, en croissant et décroissant automatiquement lorsque vous ajoutez et retirez des fichiers.
BANQUES DE DONNÉES
Amazon DynamoDB est un service de base de données NoSQL rapide et flexible, pour toutes les applications nécessitant une latence constante de quelques millisecondes, quelle que soit l'échelle.
Amazon Aurora sans serveur est une configuration de scalabilité automatique à la demande pour Amazon Aurora (édition compatible MySQL), où la base de données démarre, s'éteint et augmente ou réduit la capacité automatiquement en fonction des besoins de votre application.
API PROXY
Amazon API Gateway est un service entièrement géré, qui permet aux développeurs de créer, publier, gérer, surveiller et sécuriser facilement des API à n'importe quelle échelle. Il fournit une plateforme complète pour la gestion des API. API Gateway permet de traiter des centaines de milliers d'appels d'API simultanés et se charge de la gestion du trafic, du contrôle des autorisations et des accès, de la surveillance et de la gestion de la version des API.
INTÉGRATION D'APPLICATIONS
Amazon SNS est un service de messagerie pub/sub entièrement géré qui facilite le découplage et la mise à l'échelle des microservices, des systèmes décentralisés et des applications sans serveur.
Amazon SQS est un service de file d'attente de messagerie entièrement géré qui facilite le découplage et le dimensionnement des microservices, des systèmes décentralisés et des applications sans serveur.
AWS AppSync simplifie le développement applicatif en vous permettant de créer une API flexible pour accéder à des données en toute sécurité, mais également les manipuler et combiner depuis une ou plusieurs sources de données.
ORCHESTRATION
AWS Step Functions facilite la coordination des composants d'applications distribuées et de microservices utilisant des flux de travail visuels. Le développement d'applications à partir de composants individuels qui réalisent chacun une fonction discrète vous permet de mettre à l'échelle et de modifier les applications rapidement. Step Functions est un moyen fiable de coordonner des composants et suivre les fonctions de votre application.
ANALYSE
Amazon Kinesis est une plateforme destinée aux données en streaming sur AWS qui propose des services puissants facilitant le chargement et l'analyse des données en streaming, et offrant également la possibilité de concevoir des applications de données en streaming personnalisées afin de répondre à vos besoins spécifiques.
Amazon Athena est un service de requêtes interactif qui facilite l'analyse des données dans Amazon S3 grâce au SQL standard. Athena fonctionne sans serveur. Il n'existe aucune infrastructure à gérer et vous ne payez que pour les requêtes que vous exécutez.
OUTILS DU DEVELOPPEUR
AWS fournit des outils et des services qui aident les développeurs lors du processus de développement d'applications sans serveur. AWS et son écosystème de partenaires offrent les outils nécessaires pour l'intégration et la diffusion continues, les tests, les déploiements, la surveillance et le diagnostic, les kits SDK, les frameworks et les modules d'extension pour environnement de développement intégré (IDE).
Cas d'utilisation d'une application sans serveur
Créez pratiquement n'importe quel type d'application ou de service backend à l'aide d'une architecture sans serveur. Vous trouverez ci-dessous quelques cas d'utilisation :
Applications Web et backends
Il est possible de créer des applications Web et des backends sans serveur à l'aide d'AWS Lambda, d'Amazon API Gateway, d'Amazon S3 et d'Amazon DynamoDB pour gérer des requêtes d'API Web, mobiles, ou encore provenant de l'Internet des objets (IoT) ou de chatbots.
Exemple : application météorologique
Architecture de référence : exemple de code
Exemple : backend mobile pour application de réseau social
Architecture de référence : exemple de code
Bustle exécute un backend sans serveur pour son application iOS Bustle et ses sites web à l'aide d'AWS Lambda et d'Amazon API Gateway. Grâce aux architectures sans serveur, Bustle n'a pas à se soucier de la gestion de l'infrastructure. Chaque ingénieur peut donc se concentrer sur la création de nouvelles fonctionnalités et sur l'innovation. Lire l'étude de cas »
Traitement de données
Vous pouvez créer différents systèmes de traitement de données en temps réel à l'aide d'AWS Lambda, d'Amazon Kinesis, d'Amazon S3 et d'Amazon DynamoDB.
Exemple : création de vignette d'image
Architecture de référence : exemple de code
Square Enix utilise AWS Lambda pour exécuter le traitement d'image de son jeu en ligne massivement multijoueur. Grâce à Lambda, l'éditeur a été capable de gérer de façon fiable des pics correspondant à 30 fois son trafic normal. Cela a également réduit le temps nécessaire pour le traitement de l'image, passant de plusieurs heures à un peu plus de 10 secondes, et les coûts d'infrastructure et d'exploitation ont diminué. Lire l'étude de cas »
Exemple : analyse de données en streaming de réseaux sociaux
Architecture de référence : exemple de code
Thomson Reuters utilise une architecture sans serveur pour traiter jusqu'à 4 000 événements par seconde pour son service d'analyse d'utilisation. Ce service gère de façon fiable des pics correspondant à deux fois son trafic normal et dispose d'une durabilité élevée. L'entreprise a déployé le service en production en seulement cinq mois grâce à AWS. Lire l'étude de cas »
Démarrez avec le sans serveur
Créer des applications sans serveur
En savoir plus sur la création d'applications sans serveur