Sans serveur ou Kubernetes sur AWS

Vous aider à choisir

Amazon Web Services (AWS) offre à ses clients la flexibilité de choisir une stratégie pour créer des applications modernes qui répondent aux besoins de leur entreprise. Les clients qui élaborent une stratégie pour créer des applications modernes sur AWS adoptent souvent l'une de ces deux approches de haut niveau suivantes : un modèle de stratégie sans serveur avec AWS utilisant AWS Lambda et des conteneurs, ou Kubernetes sur AWS.

AWS est conçu pour vous permettre d'accéder aux services de calcul et secondaires (comme les services de base de données, de messagerie et d'orchestration) adaptés à vos charges de travail. AWS permet de créer des applications sans serveur à l'aide d'un service de calcul basé sur les événements comme AWS Lambda et d'options de conteneurs sans serveur comme AWS Fargate et AWS App Runner. AWS permet de créer des applications de conteneur avec Amazon Elastic Container Service (Amazon ECS) et des options Kubernetes comme Amazon Elastic Kubernetes Service (Amazon EKS), le service Red Hat OpenShift sur AWS (ROSA) et Kubernetes autogéré sur Amazon Elastic Compute Cloud (Amazon EC2).

Le contenu suivant vous aidera à choisir l'approche la mieux adaptée à votre environnement et à commencer à mettre en œuvre votre approche sur AWS.

Les avantages des applications modernes

Créez à l'aide de modèles architecturaux modulaires et tirez parti des modèles opérationnels des services gérés.

Créez des applications plus durables sur le plan environnemental, pouvant être mises à l'échelle et résilientes.

Accélérez l'innovation, réduisez les risques, accélérez les délais de commercialisation et réduisez votre coût total de possession (TCO).

Soyez prêt à commencer à déployer des charges de travail de production dans le cloud en définissant clairement les étapes suivantes.

Étape 1 : définissez vos critères

Les applications modernes sont conçues selon des modèles architecturaux modulaires et peuvent tirer parti des modèles opérationnels sans serveur pour créer des applications plus durables, pouvant être mises à l'échelle et résilientes. Ces capacités vous permettent d'innover plus rapidement, de réduire les risques, d'accélérer les délais de commercialisation et de réduire votre TCO. Lorsqu'ils créent des applications modernes ou modernisent des applications existantes, les architectes et les développeurs disposent d'un grand nombre de composantes, l'une des plus importantes étant le choix des services de calcul. AWS est conçu pour vous fournir un accès au service de calcul adapté à vos charges de travail, un choix qui prend en charge la stratégie de développement d'applications modernes que vous jugerez appropriée pour répondre à vos besoins.

Avant de déterminer la stratégie de développement d'applications modernes à mettre en œuvre, vous devez définir vos critères en fonction de la taille de vos charges de travail.

  • Les entreprises peuvent choisir le cloud pour réduire leurs coûts opérationnels en normalisant les services gérés qui font peser la charge opérationnelle sur AWS. Des niveaux d'abstraction plus élevés permettent aux développeurs et aux opérateurs de se concentrer sur leurs propres activités à valeur ajoutée, plutôt que sur des tâches indifférenciées.

    La création à l'aide de la technologie sans serveur AWS utilise des services présentant les niveaux d'abstraction les plus élevés pour transférer à AWS les frais d'exploitation liés à la maintenance de l'infrastructure.

    AWS propose également plusieurs offres gérées pour Kubernetes. Ces offres diffèrent selon la couche technologique que l'entreprise doit gérer. AWS fournit également des accélérateurs, comme des modules complémentaires et des plans EKS, pour accélérer la configuration.

  • De nombreux clients AWS standardisent avec des technologies open source largement prises en charge. L'open source peut permettre à une organisation de trouver les bonnes compétences et d'éviter certains risques liés à l'enfermement. Faire les mauvais choix dans un écosystème open source peut conduire à se retrouver enfermé dans des abstractions et des intégrations locales. En outre, la responsabilité de faire fonctionner ensemble les différents composants open source incombe souvent à l'organisation qui fait le choix. Il est fréquent que les entreprises consacrent trop de temps à la maintenance des intégrations open source.

    Remarques :

    • Prenez en compte les sources communautaires et le soutien d'entreprises ou de fondations lorsque vous réalisez ces investissements. L'investissement dans ces projets n'est pas uniquement financier. Vous devez également investir dans la formation et l'éducation de votre équipe sur les technologies utilisées. 
    • Vous pouvez également vous exposer à une certaine dette technique (en raison du travail nécessaire à la maintenance de ces intégrations), car ces composants et les intégrations associées doivent généralement être mis à jour.
    • Consultez le blog AWS Open Source pour trouver des idées sur les implémentations open source.
  • Lorsque vous choisissez une stratégie de développement d'application moderne, il est important que votre stratégie s'adapte à divers modèles de charge de travail. Vous pouvez plus facilement faire des choix d'architecture en comprenant vos modèles de charge de travail. Par exemple, des applications web, des microservices basés sur des API, des applications basées sur des événements, de la diffusion en continu et de la messagerie, des pipelines de données, des automatisations informatiques, etc. Certaines charges de travail seront plus performantes ou plus rentables dans un environnement de calcul plutôt que dans un autre type.

    Lors de la création avec les technologies sans serveur AWS, des services comme App Runner et AWS Batch sont conçus pour répondre facilement aux exigences d'un type de charge de travail donné. Les charges de travail utilisant cette approche seront plus faciles à créer, plus performantes ou plus rentables, même si cela se fait au détriment de la flexibilité.

    Kubernetes assure la cohérence entre les environnements dans le cloud et sur site si votre organisation l'exige.

  • Les charges de travail ne fonctionnent pas de manière isolée. Les charges de travail sont prises en charge par des technologies telles que les bases de données, la messagerie, la diffusion en continu, l'orchestration et d'autres services. Une stratégie de développement d'application moderne efficace nécessite l'intégration à ces services. Les intégrations gérées simplifient les frais d'exploitation tout autant que la gestion de l'infrastructure sous-jacente.

    Les options de technologie sans serveur AWS sont profondément intégrées à l'écosystème AWS. AWS Lambda peut s'abonner aux événements de plus de 200 autres services. Les extensions AWS Lambda, par exemple, permettent une intégration avec des outils de surveillance, d'observabilité, de sécurité et de gouvernance. Lambda invoque une fonction donnée dans un environnement d'exécution, ce qui fournit un environnement d'exécution sécurisé et isolé dans lequel le code de la fonction est exécuté. 

    Les offres gérées par AWS pour Kubernetes fournissent des intégrations avec les offres gérées. Kubernetes dispose lui-même d'un riche écosystème de partenaires, offrant une intégration avec de nombreuses autres technologies.

  • De nombreux clients ont besoin de créer des expériences pour valider leurs idées. Ces prototypes peuvent être l'idée d'une nouvelle application, et/ou être abandonnés en cas d'échec. La capacité à fournir un environnement dans lequel vous pouvez rapidement écrire, déployer et valider des idées est essentielle pour un environnement sain. Cet environnement est souvent négligé lors de l'élaboration d'une stratégie de développement d'application moderne, mais la capacité d'innovation au sein de l'entreprise peut en dépendre. Permettre aux équipes d'utiliser des services permettant de créer, de tester et d'itérer rapidement est inestimable pour découvrir de nouvelles opportunités commerciales.

  • De nombreux clients souhaitent s'assurer que leurs applications peuvent s'exécuter dans un environnement différent et être facilement migrées ou déplacées vers celui-ci. Ils veulent pouvoir conserver leur choix de changer de fournisseur de cloud, ou d'exécuter une application à la fois sur site et dans le cloud. Cela inclut souvent la nécessité de prendre en charge des frameworks de langage et des scénarios de développement populaires. Par exemple, les développeurs Java peuvent souhaiter utiliser Spring ou Python, et les ingénieurs de données peuvent souhaiter utiliser PyTorch. Le choix d'une approche de développement d'application moderne ne suffira pas à lui seul. De bonnes pratiques et une architecture seront nécessaires pour garantir la portabilité des applications. Nous vous recommandons de développer vos compétences en matière d'architectures logicielles et de créer des empaquetages qui vous permettent de transférer plus facilement une logique métier différenciée entre les services de calcul.

    Les applications créées à l'aide de certaines technologies peuvent s'exécuter plus efficacement sur certains services de calcul que sur d'autres. Les services de conteneurs constituent généralement une meilleure cible de migration pour les applications existantes que Lambda, qui nécessitera une modification de l'architecture.

  • Il doit y avoir une nette différence entre la portabilité des applications et celle de l'automatisation. La plupart du temps, le choix entre la technologie sans serveur AWS et AWS Kubernetes n'a en fait rien à voir avec le caractère portable ou non d'une application. Ce sont plutôt les outils utilisés par les équipes chargées de l'infrastructure et les équipes DevOps qui constituent un facteur clé. Les clients qui choisissent l'approche Kubernetes sur AWS recherchent souvent la portabilité de l'infrastructure et des outils de déploiement.

  • Les compétences de votre organisation représentent un facteur important lorsqu'il s'agit de décider d'adopter une approche sans serveur ou basée sur des conteneurs pour le développement d'applications modernes. Le sans serveur et les conteneurs nécessitent tous les deux d'investir dans les équipes DevOps et SRE (Site Reliability Engineer). La création d'un pipeline automatisé pour déployer des applications est courante dans la plupart des applications modernes.

    Certains choix augmentent le niveau de gestion. Par exemple, certaines entreprises disposent des compétences et des ressources nécessaires pour exécuter et gérer une implémentation de Kubernetes, car elles investissent dans de robustes équipes SRE chargées de gérer les clusters Kubernetes. Ces équipes s'occupent des mises à niveau fréquentes des clusters (par exemple, Kubernetes publie trois versions majeures par an et rend obsolètes les anciennes versions).

    La taille de l'organisation est un facteur clé, car les plus petites start-ups peuvent disposer d'un personnel informatique restreint composé de personnes occupant plusieurs rôles, tandis que les grandes entreprises peuvent prendre en charge des centaines de charges de travail en production à la fois.

  • Les décisions en matière d'architecture s'accompagnent de compromis, dont l'un est souvent le coût. Il est souvent difficile d'estimer le coût des applications modernes en raison de la nature dynamique des composants concernés. Bien que le coût d'un ensemble fixe de serveurs soit plus facile à estimer, vous payez également pour ces serveurs même s'ils n'apportent aucune valeur ajoutée à l'entreprise.

    Les deux approches offrent de multiples leviers pour atteindre les objectifs de coûts pour vos charges de travail. Le choix de haut niveau entre les approches doit prendre en compte le coût non seulement des ressources, mais également des efforts nécessaires pour créer et maintenir cette stratégie. Le Calculateur de prix AWS peut être utile pour comprendre les coûts d'une charge de travail donnée.

  • Le respect des exigences de sécurité et de conformité est à la base de chaque charge de travail. Les services AWS associés aux deux stratégies peuvent vous permettre de répondre à des exigences de conformité strictes.
     
    La création avec la technologie sans serveur AWS vous permet de tirer parti de l'intégration à AWS Identity and Access Management (IAM) pour contrôler l'accès, les structures réseau AWS natives et l'assistance fournie par les outils de gouvernance AWS.
     
    Kubernetes sur AWS nécessite une compréhension à la fois des modèles de sécurité de Kubernetes et d'AWS et peut nécessiter un mappage entre les politiques de sécurité. Les offres AWS gérées, comme Amazon EKS, fournissent des accélérateurs pour exécuter des applications en toute sécurité sur EKS.
  • La création à la fois avec la technologie sans serveur AWS et Kubernetes sur AWS vous permet de créer des charges de travail performantes, pouvant être mises à l'échelle et résilientes. Vous pouvez répondre aux exigences techniques dont vous avez besoin. Les services présentant les niveaux d'abstraction les plus élevés gèrent le placement dans les zones de disponibilité AWS et la mise à l'échelle de l'environnement, améliorant ainsi les performances et la résilience. Des niveaux d'abstraction plus faibles vous permettent de mieux contrôler la mise à l'échelle de votre charge de travail. Les principaux compromis sont les coûts et la complexité de la gestion.

Étape 2 : définissez ce que vous souhaitez gérer

L'un des principaux avantages de la modernisation est la capacité à transférer les responsabilités opérationnelles, ce qui vous permet de libérer des ressources pour réaliser davantage d'activités à valeur ajoutée et axées sur l'innovation. Il existe toute une gamme d'options de responsabilité partagée à différents niveaux de modernisation, allant d'Amazon EC2 (où vous pouvez créer et exécuter votre code tout en gérant les intégrations, la mise à l'échelle, les configurations de sécurité, l'approvisionnement, l'application de correctifs, etc.) aux fonctions sans serveur comme AWS Lambda (où vous ne gérez que le code de votre application).

Étape 3 : définissez votre cas d'utilisation

Nous vous recommandons d'examiner l'option de calcul la plus appropriée charge de travail par charge de travail dans le cadre de votre stratégie par défaut : sans serveur avec AWS ou Kubernetes sur AWS.

Les exemples de cas d'utilisation d'une stratégie sans serveur sur AWS peuvent inclure la création d'un système de traitement de documents ou la gestion des charges de travail d'un site web. Dans le cadre de cette stratégie, vous pouvez sélectionner AWS Lambda pour créer la charge de travail de traitement des documents principalement basée sur les événements et AWS AppRunner pour obtenir la faible latence et la capacité de mise à l'échelle nécessaires à un site web transactionnel.

Dans le même temps, un exemple de cas d'utilisation de conteneurs, et de Kubernetes sur AWS, pourrait être celui d'une approche progressive visant à déplacer des applications existantes vers des microservices. De nombreuses applications intergiciels existantes peuvent être remplacées avec un minimum d'effort par des conteneurs.

Remarque : certaines organisations prennent en charge plusieurs options ou modèles de charge de travail afin de permettre aux développeurs de faire des choix en matière de charge de travail.

Le tableau suivant présente un certain nombre d'autres cas d'utilisation que vous pouvez prendre en compte lors du choix de vos services de calcul.

Étape 4 : comparez et faites les bons choix pour vos charges de travail

AWS propose différentes options de conteneurs, comme Amazon ECS, des conteneurs sans serveur avec AWS Fargate et AWS App Runner, ainsi que différentes options Kubernetes, comme Amazon EKS, ROSA et Kubernetes autogéré sur Amazon EC2.

Le tableau comparatif suivant peut vous aider à définir votre approche en fonction de vos exigences en matière de charge de travail. Vous pouvez choisir des éléments des deux approches, ou un compromis, et avoir différentes équipes qui utilisent des approches différentes. Il n'est pas rare de voir une très grande entreprise avec des services utilisant des stratégies différentes.

 

  Sans serveur avec AWS Kubernetes sur AWS
Charges de travail Prend en charge une gamme de modèles de charge de travail avec des services spécifiques optimisés pour des charges de travail spécifiques. AWS Lambda peut être utilisé pour les charges de travail asynchrones, tandis qu'AWS Fargate peut être utilisé pour les charges de travail synchrones. Prend en charge une large gamme de modèles de charge de travail dans lesquels des modèles de déploiement cohérents dans les clouds ou les centres de données sur site sont préférés.
Caractéristiques de l'architecture Prend en charge la plupart des architectures et des modèles grâce à des services spécifiques qui optimisent les performances, la capacité de mise à l'échelle, la fiabilité et les coûts. Prend en charge la plupart des architectures pour lesquelles la cohérence entre les technologies est préférable. Certains niveaux d'optimisation sont disponibles, mais nécessiteront davantage d'efforts d'intégration et de gestion.
Intégrations La technologie sans serveur AWS propose des intégrations avec de nombreux services gérés. Certaines options, comme AWS Lambda, permettent de s'abonner à plus de 200 services et de recevoir des événements de manière gérée.  De nombreux partenaires proposent des intégrations AWS. Les offres gérées par AWS pour Kubernetes fournissent des intégrations avec les services AWS. L'écosystème de partenaires de Kubernetes est riche et permet une intégration avec d'autres technologies open source. De nombreux partenaires technologiques utilisent EKS comme premier choix pour valider leurs intégrations Kubernetes.
Prototypage La technologie sans serveur AWS est optimisée pour permettre aux clients d'écrire du code rapidement, de le déployer et de le modifier, ce qui en fait une option utile pour réaliser des travaux de prototypage rapides qui ne nécessitent pas de faire beaucoup de choix à l'avance. Les clients qui ont adopté une stratégie Kubernetes ont souvent besoin de configurer des clusters spéciaux dédiés au prototypage et de les entretenir comme n'importe quel autre environnement.
Frais généraux La technologie sans serveur AWS est conçue pour tirer le meilleur parti des services gérés, en ne nécessitant qu'un minimum d'efforts de gestion pour les serveurs, la mise en réseau et les intégrations. AWS fournit plusieurs modèles pour Kubernetes. Cela peut impliquer de gérer plusieurs niveaux technologiques (comme la mise en réseau des clusters et cloud) ou les rôles de sécurité de Kubernetes et AWS, bien qu'AWS propose des accélérateurs tels que des modules complémentaires et des plans EKS.
Écosystème AWS dispose d'un vaste écosystème de partenaires qui créent sur les services AWS et fournissent des solutions et des intégrations. AWS crée sur et avec de nombreuses technologies open source dans différents espaces. Kubernetes est un vaste écosystème qui bénéficie d'un soutien majeur dans tous les clouds et d'un soutien important de la communauté.  Le paysage de la CNCF est un exemple du vaste écosystème. AWS fournit des modules complémentaires et des plans pour aider les clients à adopter certains de ces outils populaires.
Portabilité d'application L'architecture des applications (pour les applications qui utilisent un ou plusieurs services gérés) peut être conçue de manière à ce que la logique métier puisse facilement être transférée de Lambda, App Mesh ou ECS vers d'autres environnements de calcul. Kubernetes est disponible sur la plupart des clouds et sur site, et les charges de travail sont pour la plupart portables. Certains modèles Kubernetes reposent sur le maillage des services dans le code (comme Istio ou des modèles de programmation tels que KNative), ce qui signifie que votre application nécessite Kubernetes et qu'elle n'est pas transférable vers autre chose que Kubernetes. Certaines fonctionnalités peuvent vous bloquer dans une version spécifique. Il se peut que vous deviez reconstruire des images pour prendre en charge différentes versions de Linux ou du matériel spécifique (ARM ou AMD).
Automatisation Prise en charge d'automatisation spécifique à AWS utilisant des versions basées sur une technologie ouverte. AWS CloudFormation, le modèle d'application sans serveur AWS (AWS SAM) et certaines bibliothèques AWS Cloud Development Kit (AWS CDK) en sont des exemples. Les clients peuvent utiliser des options open source comme Terraform. De nombreux clients AWS utilisent des outils DevOps open source comme Jenkins.   Les clients qui élaborent des stratégies sur Kubernetes choisissent généralement d'utiliser des outils qui automatisent Kubernetes. L'automatisation de la création de clusters est nécessaire et vous pouvez utiliser les API AWS, les outils AWS comme AWS CloudFormation ou CDK. De nombreux clients utilisent des technologies comme Terraform. Les plans AWS EKS sont un exemple d'accélérateur pour Terraform et CDK, pour la création de clusters et de modules complémentaires. De nombreux clients commencent à adopter les outils GitOps tels que Flux ou ArgoCD pour les déployer à l'aide d'une API Kubernetes et utilisent des outils tels que AWS Controllers ou Crossplane pour approvisionner des ressources cloud natives.
Taille et compétences de l'organisation Certaines entreprises standardisent avec un cloud principal et choisissent d'abord la technologie sans serveur AWS, car même si elles disposent des moyens financiers et des ressources nécessaires pour créer des équipes SRE, elles optent pour l'optimisation de l'agilité et la réduction des coûts opérationnels grâce à AWS. Les moyennes et grandes entreprises (ou les éditeurs de logiciels qui vendent des produits destinés à fonctionner dans différents clouds ou centres de données sur site) utilisent souvent une approche privilégiant Kubernetes. Les clients qui réussissent investissent généralement beaucoup plus dans l'infrastructure et les équipes SRE qui gèrent, exécutent et entretiennent de nombreux clusters.
Capacité de mise à l'échelle/Résilience Les clients d'AWS Lambda ne paient que lorsqu'une fonction est invoquée. Si Lambda ne vous convient pas, vous pouvez utiliser Fargate ou ECS. Offre un choix supplémentaire en matière d'architectures matérielles et d'options de tarification du calcul (comme les instances Spot AWS EC2). L'approche Kubernetes sur AWS peut être Well-Architected pour répondre à vos exigences en matière de performances, de capacité de mise à l'échelle et de résilience. EKS offre également la possibilité d'utiliser des options comme AWS EC2 Spot et Graviton.
Sécurité L'approche sans serveur AWS fait appel à la sécurité, à la mise en réseau et aux pratiques d'AWS. L'approche Kubernetes nécessite une compréhension à la fois de la sécurité de Kubernetes et de la sécurité d'AWS, ainsi que des frais opérationnels supplémentaires, tels que le mappage des politiques de sécurité de Kubernetes aux politiques AWS, la sécurisation des images et des environnements d'exécution des conteneurs, et la validation d'outils de conteneurs tiers.  

Lorsqu'ils créent des applications modernes ou modernisent des applications existantes, les architectes et les développeurs disposent d'un grand nombre de composantes, l'une des plus importantes étant le choix des services de calcul.

Connaître le type de charges de travail et d'applications que votre organisation crée et déploie est un facteur clé dans le choix d'une stratégie de développement d'applications modernes. Chaque charge de travail possède des caractéristiques et des exigences différentes. Par exemple, une charge de travail de traitement de documents a des exigences de latence et de temps de disponibilité très différentes de celles d'un site web transactionnel.

Étape 5 : évitez les pièges courants

Comprendre la standardisation dans votre environnement

De nombreuses organisations qui exécutent plusieurs modèles de charge de travail souhaitent standardiser un ensemble de modèles qu'elles peuvent gérer et exécuter efficacement. Certaines grandes entreprises tentent de standardiser les options de calcul et de sélectionner une plateforme par défaut pour exécuter la plupart des charges de travail, avec des exceptions lorsque cela est nécessaire.

La standardisation peut contribuer à assurer la cohérence et à minimiser le nombre de personnes possédant des compétences spécialisées qu'une organisation doit recruter. Ces options peuvent devenir les choix de calcul de préférence, les autres options n'étant prises en compte que lorsque les choix de préférence ne fonctionnent pas. Souvent, le choix standard prend en charge efficacement un ensemble de charges de travail, mais rencontre des difficultés avec d'autres. Par conséquent, certaines organisations prennent en charge plusieurs options ou modèles de charge de travail afin de permettre aux développeurs de faire des choix en matière de charge de travail.

Comprendre l'intégration dans votre environnement

Il est fréquent que certaines entreprises consacrent plus de temps qu'elles ne le souhaiteraient à la maintenance des intégrations open source.

Nous vous recommandons de prendre en compte les sources communautaires et/ou le soutien d'entreprises ou de fondations lorsque vous réalisez ces investissements. Un investissement dans ces projets n'est pas seulement financier, mais également un investissement en capital de connaissances et potentiellement en dettes techniques, car ces composants et les intégrations associées auront généralement besoin d'être mis à jour. Pour plus d'informations, reportez-vous au blog AWS Open Source.

Comprendre les caractéristiques de votre architecture

La capacité à prendre en charge un large éventail d'architectures est importante. Nous vous recommandons d'utiliser le cadre AWS Well-Architected comme guide pour vous aider à comprendre les avantages et les inconvénients des décisions que vous prenez lorsque vous créez des systèmes sur AWS. En outre, l'utilisation du cadre vous permet d'apprendre les bonnes pratiques architecturales pour concevoir et exploiter des systèmes fiables, pouvant être mis à l'échelle, sécurisés, efficaces et rentables dans le cloud.

Étape 6 : décidez de votre approche

En fonction de la taille de votre organisation et de la charge de travail, des modèles et des exigences commerciales, vous devrez peut-être sélectionner certains éléments des deux approches, ou demander à différentes équipes d'utiliser des approches différentes. Il n'est pas rare que les équipes utilisent des stratégies différentes.

Technologie sans serveur AWS avec AWS

  • Utilisez les services et outils gérés par AWS comme premier choix, comme AWS Lambda, AWS App Runner, Amazon ECS et AWS Fargate
  • Investissez dans le développement d'une discipline autour d'AWS, notamment en matière d'approvisionnement, de DevOps, d'automatisation de l'infrastructure, de sécurité, de mise en réseau et d'observabilité/opérations.
  • Augmentez la productivité et minimisez la charge opérationnelle.

Kubernetes sur AWS

  • Utilisez Kubernetes comme interface principale de votre plateforme de calcul.
  • Adoptez une discipline pour exécuter et gérer plusieurs clusters Kubernetes, la charge de travail et les outils qu'ils contiennent, ainsi que des modèles avancés tels que GitOps.
  • Intégrez différents écosystèmes et outils de partenaires.
  • Les clients de Kubernetes peuvent utiliser les services AWS gérés et d'autres options de calcul comme AWS Lambda pour certains cas d'utilisation.

Implémenter votre approche

Maintenant que vous avez déterminé l'approche la mieux adaptée à votre charge de travail pour votre environnement, nous vous recommandons de consulter les ressources suivantes pour vous aider à commencer à mettre en œuvre votre approche.

  • Présentation de la technologie sans serveur sur AWS
    Adoptez une stratégie privilégiant la technologie sans serveur pour créer des applications modernes de manière à accroître l'agilité de l'ensemble de votre pile d'applications. Ce guide met en valeur des services sans serveur pour les trois couches de votre pile : calcul, intégration et magasins de données.
    Créer une application web sans serveur
    Dans ce didacticiel, vous allez apprendre à créer une application web sans serveur simple à l'aide d'AWS Lambda, d'Amazon API Gateway, d'AWS Amplify, d'Amazon DynamoDB et d'Amazon Cognito.
    Ateliers pratiques pour calcul sans serveur
    Ces ateliers guidés gratuits présentent les bases de la conception d'applications et de microservices sans serveur en utilisant des services comme AWS Lambda, AWS Step Functions, Amazon API Gateway, Amazon DynamoDB, Amazon Kinesis et Amazon S3.
    AWS Fargate : calcul sans serveur pour conteneurs
    AWS Fargate est un moteur de calcul sans serveur à tarification à l'usage qui vous permet de vous concentrer sur la création d'applications sans avoir à gérer les serveurs. AWS Fargate est compatible à la fois avec Amazon Elastic Container Service (Amazon ECS) et Amazon Elastic Kubernetes Service (Amazon EKS).
    Présentation d'AWS App Runner
    Utilisez AWS App Runner pour créer, déployer et exécuter des applications web conteneurisées et des services API sans expérience préalable de l'infrastructure ou des conteneurs.
  • Choisir une approche Kubernetes
    Examinez vos options d'utilisation d'Amazon Elastic Kubernetes Service (EKS)n un service Kubernetes géré qui vous permet d'exécuter Kubernetes dans le Cloud AWS et dans les centres de données sur site.
    Mise en route avec Amazon EKS
    Fournit un guide étape par étape pour démarrer avec Amazon EKS contenant des liens vers des blogs et des vidéos utiles ainsi qu'un didacticiel détaillé.
    Atelier Amazon EKS
    Se familiariser avec les instructions étape par étape pour savoir comment tirer le meilleur parti d'Amazon EKS.
    Présentation d'AWS Controllers for Kubernetes (ACK)
    ACK est un outil qui vous permet de gérer directement les services AWS à partir de Kubernetes. ACK simplifie la création d'applications Kubernetes pouvant être mises à l'échelle et hautement disponibles qui utilisent les services AWS.
    Qu'est-ce que le service Red Hat OpenShift sur AWS ?
    Découvrez comment utiliser ROSA pour créer des clusters Kubernetes à l'aide des API et des outils ROSA, et accédez à la vaste et riche gamme de services AWS.

    Bonnes pratiques

    Sécurité

    La sécurité constitue un élément critique lors de la configuration et de la gestion des clusters et applications Kubernetes. Par défaut, Amazon EKS s'accompagne de clusters Kubernetes gérés et sécurisés. Cependant, vous devez toujours configurer les nœuds et les applications exécutés au sein de ceux-ci afin que l'implémentation soit sûre. Pour plus d'informations, consultez les guides des bonnes pratiques Amazon EKS en matière de sécurité.

    Sécurité de l'hôte

    Utilisez Amazon Inspector, un service automatisé de gestion des vulnérabilités qui recherche en permanence les vulnérabilités logicielles et les expositions réseau involontaires dans les charges de travail AWS.

Cette page vous a-t-elle été utile ?