Réarchitecture sous forme de microservices dans des conteneurs Linux - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réarchitecture sous forme de microservices dans des conteneurs Linux

Une architecture de microservices est une approche qui permet de développer une application unique sous la forme d'une suite de petits services. Chaque service fonctionne selon son propre processus et communique avec d'autres services par le biais de mécanismes légers. Cette approche décompose une application monolithique en services plus petits, chaque service ayant un objectif unique et étant déployé en tant que conteneur.

Cas d'utilisation

Cette stratégie de migration est utile si :

  • Vous souhaitez diviser votre système monolithique en microservices.

  • Vous disposez des ressources et du temps nécessaires à la refactorisation.

  • Vous pouvez résoudre toutes les dépendances du .NET Framework.

  • Vous avez une application de longue durée.

Avantages

Cette approche de migration présente les avantages suivants par rapport aux applications .NET locales :

  • Innovation plus rapide car il est plus facile d'ajouter de nouvelles fonctionnalités dans une architecture de microservices

  • Disponibilité et fiables élevées élevées élevées élevées élevées élevées

  • Agilité accrue et évolutivité à la demande

  • Déploiement indépendant et pipelines d'intégration et de déploiement continus (CI/CD) modernes (CI/CD) élevées via des pipelines continus et continus

  • Fortes limites entre les modules et diversité technique

Inconvénients

  • Effort et coût du refactoring

  • Complexité opérationnelle potentielle

AWSservices

Vous pouvez utiliser lesAWS services suivants pour développer un système basé sur des microservices :

Outils

AWSLes services professionnels proposent des outils et des services personnalisés pour vous aider à transformer vos applications monolithiques en microservices.

Décisions de déploiement élevées

Vous pouvez choisir parmi cinq options de déploiement :

  • Si vous souhaitez contrôler totalement la configuration de votre environnement informatique, y compris les paramètres de mémoire et de stockage, et contrôler les correctifs du système d'exploitation, déployez votre application en tant que conteneur Linux sur une instance EC2.

  • Si vous souhaitez que le conteneur soit géré par Kubernetes et exécuté comme un conteneur sans serveur : déployez votre application en tant que conteneur Linux sur Amazon EKS avec Fargate.

  • Si vous souhaitez que le conteneur soit géré par Amazon ECS et exécuté comme un conteneur sans serveur : déployez votre application en tant que conteneur Linux sur Amazon ECS avec Fargate.

  • Si vous souhaitez que le conteneur soit géré par Kubernetes, mais que vous souhaitez gérer vous-même les ressources de calcul du conteneur, déployez votre application en tant que conteneur Linux sur Amazon EKS.

  • Si vous souhaitez que le conteneur soit géré par Amazon ECS, mais que vous souhaitez gérer vous-même les ressources de calcul du conteneur, déployez votre application en tant que conteneur Linux sur Amazon ECS.

Refactoring .NET applications as microservices in Linux containers on AWS