La montée dans le nuage procède par étapes progressives. Dans la longue courbe d’apprentissage des technologies cloud, le principe du « lift and shift » ne constitue qu’une phase intermédiaire. Il consiste à migrer des applications ou des bases de données on-premise vers des machines virtuelles, mais sans les modifier, simplement en les copiant-collant. En déplaçant ainsi ses ressources IT d’un environnement à l’autre, sans véritable remise en cause technologique, une entreprise ne tire pas toutes les promesses du cloud.
L’étape suivante est celle du cloud native. Une application est spécifiquement conçue pour le cloud afin de bénéficier de l’ensemble de ses atouts en termes de scalabilité, de haute disponibilité, de résilience ou d’interopérabilité. « A la différence des applications de type monolithique, l’approche granulaire du cloud native permet de déployer aisément de nouvelles fonctionnalités et de réduire ainsi le time to market », avance Mohammed Sijelmassi, chief technology officer de Sopra Steria.
Pour accélérer encore le développement, une entreprise peut appeler différents services cloud prêts à l’emploi proposés par les providers. Il peut s’agir notamment de services d’authentification ou de monitoring. « Pourquoi réécrire la énième brique de gestion des identités quand le cloud regorge de très bonnes solutions ? », interroge Mohammed Sijelmassi. « Autant, pour une entreprise, se focaliser sur les éléments différenciateurs. »
Avec ces atouts, le développement d’applications en cloud native est promis à un bel avenir. D’ici 2025, Gartner estime que plus de 95 % des nouvelles charges de travail numériques seront déployées sur des plateformes cloud native, contre 30 % en 2021. IDC prévoit, de son côté, que la part des applications cloud native dépassera les 90 % à la même échéance.
Microservices, containers, mesh, API et DevOps
L’environnement qui accueille cette nouvelle génération d’applications répond à un certain nombre de prérequis. L’approche cloud native est indissociable de l’architecture en microservices. Une application ou un service est découpé en petites briques logicielles qui peuvent être déployées, mises à niveau et gérées de façon autonome.
Qui dit microservices dit conteneurisation et la souplesse qu’elle apporte. En encapsulant une application pour qu’elle puisse s’exécuter sur n’importe quel serveur, la technologie de container logiciel permet de faire abstraction de l’infrastructure sous-jacente. Brique open source devenue incontournable, Kubernetes va venir gérer et orchestrer les clusters de containers.
Le cloud native fait également appel au service mesh. Ce maillage de services correspond à une couche d’infrastructure spécifiquement dédiée à une application. Il est ainsi possible de voir comment les différents composants interagissent entre eux et donc d’optimiser plus facilement les performances de ladite application.
Enfin, pour terminer avec les mots tendance, le cloud native recourt bien sûr aux API pour appeler des services cloud tiers. En proposant de déployer rapidement des mises à jour pour n’importe quelle partie de l’application, il s’inscrit aussi dans la mouvance du DevOps et du CI/CD (continuous integration/continuous delivery), le cycle d’intégration et de livraison en continu.
Manque de compétences internes
Si, sur le papier, le cloud native coche toutes les cases, il reste quelques freins à lever pour le voir se généraliser. Une étude d’OutSystems pointe notamment le manque de compétences et d’expertises en interne. « Raisonner architecture applicative en microservices exige une certaine maturité », avance Alexandre Cozette, directeur technique d’OutSystems pour la France. « Les développeurs cloud doivent maîtriser les principes de conteneurisation et connaître les offres des hyperscalers. »
Pour pallier cette pénurie de talents, OutSystems a annoncé en novembre Project Neo, une plateforme low code de nouvelle génération permettant de développer des applications full stack cloud native en se chargeant de toute la « tuyauterie » technique derrière.
« Le cloud native rajoute de la complexité », ajoute Mohammed Sijelmassi. « Il faut designer l’architecture pour découper une application en microservices suffisamment souples et contrôlables. Arriver au bon niveau de granularité exige une certaine montée en compétences. Si on décrit des services trop grands, on ne profite pas de la scalabilité du cloud. »
Le CTO de Sopra Steria évoque aussi le volet cyber. « Une entreprise agence des services qu’elle ne maîtrise pas à 100 %. Le design de ce type d’architecture doit reposer sur une approche de sécurité « by design ». »
Enfin, il ne faut pas, selon lui, devenir « un ayatollah du cloud native » et jeter à la poubelle tout l’environnement on-premise existant. « Dans une approche hybride, il convient de s’interroger sur ce que l’on conserve et ce que l’on réécrit. Une néobanque peut se permettre de bâtir de zéro son système d’information en cloud native. Une banque traditionnelle doit, elle, composer avec tout le poids de son legacy. »
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));