Cloud-native, c’est quoi ?

13 novembre 2020/Emilie Ravet

Le cloud est de plus en plus utilisé. Paradoxalement, il est à l’origine de malentendus. Le Cloud revêt différents univers et technologies. D’où l’apparition d’expressions dont l’une des plus utilisées est « cloud-native ». Mais que cache-t-elle en réalité ?

 

Les apparences sont trompeuses. À première vue, l’expression « cloud native » pourrait signifier qu’une application soit déployée et qu’elle fonctionne dans le cloud. En réalité, cette expression fait référence à la manière dont des applications sont conçues, déployées et gérées.

L’idée est d’exploiter les avantages du modèle dit de « cloud computing » pour accroître la vitesse, la flexibilité et la qualité du développement des applications tout en réduisant les risques.

 

Une application « cloud-native » est aussi plus facile à migrer vers le cloud puisqu’elle a été déjà conçue en tenant compte des principes de multi-tenancy, de l'évolutivité, de la facilité d'intégration et enfin de la gestion du cloud. À l’inverse, la migration vers le cloud d’une application qui n’est pas dite « cloud-native » nécessite de modifier certaines de ses caractéristiques (refactoring).

 

Le concept dit de « cloud-native » se caractérise essentiellement par les quatre points suivants :

  • L'architecture basée sur les services, dont les microservices. Avec une approche native du cloud, les développeurs se concentrent sur la création de services spécialisés à fonction unique, appelés microservices. Ensemble, ces petites unités individuelles constituent une application complète, mais chacune d'entre elles peut être déployée, mise à niveau et gérée de manière autonome.
  • La communication basée sur les API réduisant ainsi la complexité et les efforts d'extensibilité et de maintenance
  • L'infrastructure basée sur les conteneurs. La conteneurisation est souvent utilisée pour rendre les microservices faciles à gérer. Contrairement aux machines virtuelles standard, qui nécessitent un système d'exploitation intégré, les conteneurs sont conçus pour fonctionner n'importe où et ne dépendent pas d'une plate-forme en nuage ou d'un service en nuage spécifique.
  • Le DevOps qui est une méthode de développement logiciel qui met l’accent sur la communication, l’intégration et la collaboration entre les professionnels de l’IT pour permettre un déploiement rapide des produits.

 

En découpant le code d'une application en microservices, les développeurs peuvent rapidement déployer des mises à jour pour n'importe quelle partie de l'application. L’approche dite « cloud-native » permet le « Continuous delivery » et une flexibilité accrue.


Emilie Ravet
À propos de Emilie Ravet : Emilie est responsable Marketing en charge de la publication des articles du blog.