Résumé

Résumé

12.1 Introduction aux applications infonuagiques natives

  • Les applications infonuagiques tirent parti des plateformes infonuagiques ; cependant, elles n'exploitent pas pleinement les caractéristiques inhérentes de l'infonuage comme le font les applications infonuagiques natives. Les monolithes peuvent être déployés dans l'infonuage en tant qu'applications infonuagiques, mais peuvent être convertis pour tirer parti d'une architecture de microservices en tant qu'applications infonuagiques natives.
  • Les microservices sont des unités logicielles autonomes. Des composants étaient déjà utilisés dans des architectures plus anciennes telles que les composants de services web et l'architecture SOA. Cependant, la manière dont les composants communiquent entre ces architectures est très différente.
  • Plusieurs défis sont associés à la mise en œuvre d'une architecture de microservices. La création de microservices capables d'interopérer entre eux, ainsi que le test, le débogage, la gestion des versions, le déploiement, la journalisation et la surveillance des microservices ajoutent des défis supplémentaires.
  • Les caractéristiques des applications infonuagiques natives incluent le fait qu'elles sont basées sur des microservices, basées sur des conteneurs, basées sur des API, et qu'elles sont orchestrées dynamiquement pour s'adapter et optimiser l'utilisation des ressources informatiques.
  • DevOps est une méthodologie qui combine le génie logiciel Agile et les opérations informatiques pour livrer des logiciels de meilleure qualité plus rapidement. CI/CD est une approche DevOps qui propose des étapes pour construire, empaqueter, tester, déployer et livrer des composants logiciels dans le but d'automatiser autant d'étapes que possible dans le processus.
  • Certains avantages des applications infonuagiques natives sont qu'elles sont rentables, facilement évolutives, portables car conteneurisées, fiables et plus faciles à gérer via un pipeline DevOps utilisant CI/CD.
  • Les bonnes pratiques pour la création d'applications infonuagiques natives incluent l'automatisation d'une grande partie du cycle de vie du développement, la surveillance de l'environnement de développement ainsi que l'utilisation des microservices, la documentation des services pour faciliter leur intégration, et la planification de livraisons incrémentielles et réversibles.
  • Les microservices sont conteneurisés. Docker est une plateforme à code source ouvert qui crée, déploie et gère les conteneurs de microservices.
  • Kubernetes est une plateforme d'orchestration à code source ouvert utilisée pour automatiser le déploiement, la mise à l'échelle et la gestion de la santé des charges de travail basées sur des conteneurs de microservices.
  • Il existe diverses catégories d'outils pouvant être utilisés pour développer des applications infonuagiques natives, notamment les outils IaC (par exemple, Terraform), les plateformes DevOps infonuagiques (par exemple, GitLab, GitHub), les produits et plateformes logicielles de conteneurisation (par exemple, Red Hat OpenShift), et les outils de développement pour créer et déployer rapidement des applications (par exemple, Tanzu, Node).

12.2 Technologies de déploiement des applications infonuagiques et infonuagiques natives

  • Il existe trois modèles de services (IaaS, PaaS et SaaS) et quatre modèles de déploiement (nuage public, nuage privé, infonuage communautaire et nuage hybride) qui constituent le modèle d'informatique en nuage.
  • Les modèles de services infonuagiques (IaaS, PaaS et SaaS) combinent et modifient la manière dont les ressources informatiques sont consommées par les clients du nuage dans le but de fournir une solution plus économique, car ils peuvent être mis à l'échelle à la demande à un coût prévisible. Ces modèles de services infonuagiques présentent un spectre allant d'un investissement complexe et à fort effort à un investissement simple et à faible effort, selon les besoins de l'entreprise.
  • Les modèles de déploiement infonuagique (nuage public, nuage privé, infonuage communautaire et nuage hybride) sont les endroits où les services infonuagiques sont mis en œuvre et mis à la disposition des utilisateurs finaux. Les déploiements d'informatique en nuage fonctionnent sur le principe de la virtualisation des ressources de calcul. Les modèles de déploiement infonuagique peuvent être combinés (par exemple, les nuages hybrides) pour offrir divers degrés de flexibilité quant à la manière dont les ressources infonuagiques sont accédées et gérées.
  • Plusieurs options de déploiement infonuagique sont disponibles, notamment les serveurs physiques, les machines virtuelles (VMs), les unikernels et les conteneurs, qui sont proposés dans divers modèles de services infonuagiques. L'informatique sans serveur est une autre option de déploiement infonuagique où les développeurs peuvent créer et exécuter des applications dans l'infonuage sans être responsables de l'approvisionnement, de la maintenance et de la mise à l'échelle de l'infrastructure de serveurs sur laquelle l'application s'exécute.
  • Étant donné qu'il existe plusieurs options technologiques de déploiement infonuagique, une compréhension des cas d'utilisation de ces technologies peut aider les clients à choisir les options les mieux adaptées qui répondent aux besoins de l'entreprise. Par exemple, les clients qui ont besoin d'un serveur dédié avec un niveau de contrôle élevé choisiraient des serveurs physiques, tandis que les clients qui ont besoin d'une solution avec une infrastructure immuable choisiraient des unikernels.
  • Plusieurs outils sont disponibles pour faciliter la mise en œuvre de services utilisant les technologies de déploiement infonuagique. Par exemple, les outils IaC sont utiles pour automatiser diverses étapes de la maintenance des systèmes d'exploitation lors de l'adoption de l'IaaS. En revanche, les outils qui automatisent les tâches du processus de développement logiciel sont plus adaptés lors de l'adoption du PaaS.
  • Certaines considérations clés lors de la sélection des technologies de déploiement infonuagique incluent l'évaluation de la satisfaction des besoins de l'entreprise par ces technologies, la compréhension des exigences de charge de travail/service, et la garantie qu'elles répondent aux exigences des applications et des services.
  • Certains éléments à prendre en compte lors de l'évaluation de l'adéquation des options technologiques de déploiement infonuagique aux besoins de l'entreprise sont le coût, l'adéquation architecturale, la performance, la conformité, les exigences d'élasticité, les exigences de contrôle, et si le service infonuagique entraîne un verrouillage.
  • Les applications et services infonuagiques peuvent être combinés pour former une application composite infonuagique. Les applications composites infonuagiques peuvent donner aux organisations un avantage concurrentiel en proposant rapidement des solutions compétitives sur le marché.
  • Certaines clés pour utiliser avec succès les technologies de déploiement infonuagique incluent l'identification des technologies de déploiement infonuagique actuellement disponibles et la manière dont elles s'adaptent à la prestation de services infonuagiques, la détermination des cas d'utilisation de ces technologies de déploiement infonuagique et l'identification des outils disponibles pour aider à fournir des services infonuagiques, et l'évaluation de ces technologies de déploiement infonuagique et la sélection de celles qui répondent le mieux aux besoins de l'entreprise.

12.3 Exemples de déploiements PaaS et FaaS d'applications infonuagiques natives

  • Une application infonuagique native a été créée et déployée sur une plateforme PaaS. L'application infonuagique native se compose de deux microservices, qui communiquent tous deux avec un seul magasin de données. Le fournisseur de services infonuagiques utilisé est Microsoft Azure. Bien que Microsoft Azure ait été utilisé dans cet exemple, d'autres fournisseurs de services infonuagiques (par exemple, AWS, IBM Cloud, GCP) peuvent être utilisés.
  • Une suite d'outils qui surveillent les grappes Kubernetes et les applications déployées a été configurée et déployée sur une plateforme PaaS. Le fournisseur de services infonuagiques utilisé est Amazon AWS. Bien qu'AWS ait été utilisé dans cet exemple, d'autres fournisseurs de services infonuagiques (par exemple, Microsoft Azure, IBM Cloud, GCP) peuvent être utilisés.
  • Une application distribuée a été créée, composée de deux fonctions FaaS, d'un bus d'événements et d'un magasin de données. Les fonctions FaaS ont été déployées sur une plateforme sans serveur. Le fournisseur de services infonuagiques utilisé est Microsoft Azure. Bien que Microsoft Azure ait été utilisé dans cet exemple, d'autres fournisseurs de services infonuagiques (par exemple, AWS, IBM Cloud, GCP) peuvent être utilisés.