CNA
Initiales de cloud native architecture (architecture native du cloud).
CNA : une infrastructure conçue pour le cloud, pas seulement portée vers le cloud
L'architecture cloud native (CNA) est un modèle de conception pour les systèmes conçus dès le départ pour fonctionner sur des plateformes cloud, utilisant généralement des charges de travail conteneurisées, des systèmes d'orchestration comme Kubernetes et des microservices distribués plutôt que des applications monolithiques. Contrairement aux logiciels traditionnels simplement transférés vers le cloud, un système CNA suppose que les ressources de calcul, de stockage et de réseau sont élastiques, transitoires et accessibles via des API.
Une application CNA est construite en couches : la couche application s'exécute dans des conteneurs (généralement Docker), la couche d'orchestration gère la planification et la mise à l'échelle entre les nœuds, et la couche d'infrastructure comprend des services cloud gérés comme le stockage d'objets, les bases de données gérées et les files d'attente de messages. Cette architecture remplace les hypothèses de matériel fixe par des pools de ressources qui peuvent augmenter ou diminuer en fonction de la demande. Le système s'attend à ce que les composants individuels échouent et récupère automatiquement grâce à des vérifications de santé et des politiques de redémarrage plutôt que d'essayer de prévenir les pannes.
La CNA englobe plusieurs approches techniques. Les applications « twelve-factor » suivent des principes comme le stockage de la configuration dans des variables d'environnement et le traitement des journaux comme des flux d'événements. Les outils de « service mesh » comme Istio ajoutent une logique de réseau entre les services. Le calcul sans serveur (« serverless »), que la CNA exploite souvent, permet d'exécuter des extraits de code déclenchés par des événements sans provisionner de serveurs. Certaines organisations adoptent la CNA progressivement, modernisant les systèmes existants pièce par pièce ; d'autres construisent de nouveaux systèmes avec elle dès le départ.
Le côté électrique et instrumentation de la CNA est important dans les environnements industriels. Les systèmes cloud natifs collectent les données des capteurs à partir de dispositifs périphériques distribués, les traitent en parallèle sur l'infrastructure cloud et renvoient des signaux de commande avec une latence minimale. Cela nécessite une conception minutieuse des protocoles de communication, de la sérialisation des données et du comportement de basculement, en particulier lorsque des garanties en temps réel sont importantes.
Les pièges courants incluent la sous-estimation de la complexité opérationnelle, l'ignorance des coûts de sortie lors du déplacement de données hors des régions cloud, et la construction de systèmes qui ne peuvent pas tolérer la latence plus élevée des API cloud par rapport aux appels locaux. Les équipes découvrent souvent qu'une refonte véritablement cloud native nécessite des changements non seulement au code, mais aussi à la façon dont les équipes sont organisées et à la façon dont elles surveillent les systèmes en production.
Sources
- Source de la définitionWiktionary