Microservices
Les API sont la porte d'entrée des microservices. Cela signifie que les API servent de point d'entrée pour la logique des applications derrière un ensemble d'interfaces de programmation, généralement une API de services web REST
Implantation de microservices
AWS a intégré des éléments de base qui soutiennent le développement des microservices. Deux approches populaires consistent à utiliser AWS Lambda
Avec AWS Lambda, chargez votre code et de laissez Lambda s'occuper de tout pour que vous puissiez exécuter et mettre à l'échelle l'implémentation en fonction de votre courbe de demande réelle, tout en assurant une haute disponibilité. Aucune administration de l'infrastructure n'est nécessaire. Lambda prend en charge plusieurs langages de programmation et peut être déclenché à partir d'autres services AWS, ou appelé directement depuis n'importe quelle application web ou mobile. L'un des atouts principaux d'AWS Lambda est de vous rendre agile : vous pouvez vous concentrer sur votre logique métier car la sécurité et la mise à l'échelle sont gérées par AWS. L'approche résolument innovante de Lambda est à la base de la plateforme évolutive.
Le déploiement basé sur des conteneurs est l'une des approches courante permettant de réduire les efforts opérationnels pour le déploiement. Les technologies de conteneur comme Docker
AWS Fargate est un moteur de calcul sans serveur pour les conteneurs qui fonctionne à la fois avec Amazon ECS et Amazon EKS. Avec Fargate, vous n’avez plus à vous soucier de provisionner suffisamment de ressources de calcul pour vos applications conteneur. Fargate peut lancer des dizaines de milliers de conteneurs et s’adapter facilement pour exécuter vos applications les plus stratégiques.
Amazon ECS prend en charge les stratégies et contraintes de positionnement de conteneurs afin de personnaliser la façon dont Amazon ECS positionne les tâches et y met fin. La contrainte de positionnement d'une tâche est une règle prise en compte lors du positionnement des tâches. Vous pouvez associer des attributs, qui sont des paires clé/valeur, à vos instances de conteneur, puis utiliser une contrainte pour positionner des tâches en fonction de ces attributs. Par exemple, vous pouvez utiliser des contraintes afin de positionner certains microservices en fonction du type d'instance ou de la capacité d'instance, comme les applications alimentées par le GPU.
Amazon EKS s'appuie sur les versions à jour du logiciel open source Kubernetes, ce qui vous permet d'utiliser tous les plug-ins et outils existants de la communauté Kubernetes. Les applications s’exécutant sur Amazon EKS sont entièrement compatibles avec les applications s’exécutant sur n’importe quel environnement Kubernetes standard, qu’il s’agisse de centres de données sur site ou de clouds publics. Amazon EKS intègre IAM dans Kubernetes, vous permettant ainsi d’enregistrer les entités IAM avec le système d’authentification natif de Kubernetes. Il n'est pas nécessaire de configurer manuellement les informations d'identification pour l'authentification auprès du plan de contrôle Kubernetes. L'intégration IAM vous permet d'utiliser IAM pour vous authentifier directement auprès du plan de contrôle lui-même et fournir un accès granulaire précis au point de terminaison public de votre plan de contrôle Kubernetes.
Les images Docker utilisées dans Amazon ECS et Amazon EKS peuvent être stockées dans Amazon Elastic Container Registry
L'intégration et la livraison continues (CI/CD) constituent des bonnes pratiques et un élément essentiel d'une initiative DevOps qui autorise les changements logiciels rapides tout en maintenant la stabilité et la sécurité du système. Toutefois, cela n'entre pas dans le cadre de ce livre blanc. Pour de plus amples informations, veuillez consulter le livre blanc Application de l'intégration continue et de la livraison continue sur AWS.
Liens privés
AWS PrivateLink
Les liens privés constituent un excellent moyen d'améliorer l'isolation et la sécurité de l'architecture des microservices. Un microservice, par exemple, peut être déployé dans un VPC totalement séparé, avec un équilibreur de charge en avant-plan, et exposé à d'autres microservices via un point de terminaison AWS PrivateLink. Avec cette configuration, l'utilisation de AWS PrivateLink permet au trafic réseau à destination et en provenance du microservice de ne jamais traverser l'Internet public. La conformité réglementaire pour les services traitant des données sensibles tels que des données PCI, HIPPA et le bouclier de protection des données UE/États-Unis constitue un cas d'utilisation pour ce type d'isolement. En outre, AWS PrivateLink permet de connecter des microservices entre différents comptes et VPC Amazon, sans avoir besoin de règles de pare-feu, de définitions de chemin ou de tables de routage, ce qui simplifie la gestion du réseau. En utilisant PrivateLink, les fournisseurs de logiciels en tant que service (SaaS) et les ISV peuvent également proposer leurs solutions basées sur des microservices avec une isolation opérationnelle complète et un accès sécurisé.