Qu’est-ce que le cloud natif ?

Plan moyen d’un centre de données avec porte ouverte sur une baie de serveurs

Qu’est-ce que le cloud natif ?

Le cloud natif se réfère moins à la localisation d’une application qu’à la manière dont elle est construite et déployée. Une application cloud native comprend des composants discrets et réutilisables, appelés microservices, conçus pour s’intégrer dans n’importe quel environnement cloud.

  • Une application cloud native comprend des composants discrets et réutilisables, appelés     , conçus pour s’intégrer dans n’importe quel environnement cloud.

  • Ces microservices font office de blocs fonctionnels et sont souvent empaquetés dans des conteneurs.

  • Si les microservices fonctionnent ensemble pour constituer une application, chacun peut être mis à l’échelle de façon indépendante, amélioré en permanence et rapidement itéré grâce à des processus d’automatisation et d’orchestration.

  • La flexibilité de chaque microservice favorise l’agilité et à l’amélioration continue des applications cloud natives.
Vue aérienne d’autoroutes

Gardez la tête dans le cloud 


Recevez la newsletter hebdomadaire Think pour obtenir des conseils d’experts sur l’optimisation des paramètres multicloud à l’ère de l’IA.

Microservices et conteneurs

Les microservices (également appelés architecture de microservices) sont une approche architecturale dans laquelle une seule application est composée de nombreux composants ou services plus petits, faiblement couplés et déployables indépendamment. Ces services (également appelés microservices) ont généralement leur propre pile, y compris une base de données et un modèle de données. Ils communiquent entre eux via une combinaison d’API REST, de transmission d’événements en continu et de brokers de messages.

Parce que les microservices peuvent être déployés et redéployés indépendamment, sans affecter l’expérience de l’utilisateur final, ils conviennent parfaitement aux méthodologies de distribution automatisées et itératives telles que l’intégration continue/le déploiement continu (CI/CD) ou le DevOps.

Les microservices permettent non seulement de créer de nouvelles applications cloud natives, mais aussi de moderniser les applications monolithiques traditionnelles.

Dans une enquête menée par IBM auprès de responsables informatiques, de responsables développement et de développeurs, 87 % des utilisateurs de microservices ont estimé que l’adoption des microservices état utile en termes financiers et de contraintes.

Les développeurs déploient souvent des microservices à l’intérieur de conteneurs,des composants d’application légers et exécutables qui combinent le code source de l’application (dans ce cas, le code des microservices) avec toutes les bibliothèques et dépendances du système d’exploitation (OS) nécessaires pour exécuter le code dans n’importe quel environnement. Plus petits, plus économes en ressources et plus faciles à transporter que les machines virtuelles (VM), les conteneurs sont les unités de calcul de facto des applications cloud natives modernes.

Les conteneurs amplifient les avantages des microservices en permettant une expérience de déploiement et de gestion cohérente dans un environnement multicloud hybride, composé de clouds publics, d’un cloud privé et d’une infrastructure sur site. Mais à mesure que les applications cloud natives se multiplient, les conteneurs et la complexité de leur gestion augmentent également. La plupart des entreprises qui utilisent des microservices conteneurisés utilisent également une plateforme d’orchestration de conteneurs, telle que Kubernetes, pour automatiser le déploiement et la gestion des conteneurs à l’échelle.

Développement d’applications

Rejoignez-nous : développement d’applications d’entreprise dans le cloud

Dans cette vidéo, Dr Peter Haumer explique à quoi ressemble actuellement le développement d’applications d’entreprise modernes dans le cloud hybride en présentant divers composants et différentes pratiques, notamment IBM Z Open Editor, IBM Wazi et Zowe. 

Avantages et inconvénients

Les clients d’IBM sont de plus en plus chargés d’améliorer les applications existantes, de créer de nouvelles applications et d’améliorer l’expérience utilisateur. Les applications cloud natives répondent à ces exigences en améliorant les performances, la flexibilité et l’extensibilité des applications.

Avantages

  • Comparées aux applications monolithiques traditionnelles, les applications cloud natives peuvent être plus faciles à gérer à mesure que des améliorations itératives sont apportées grâce aux processus Agile et DevOps. 

  • Composées de microservices, les applications cloud natives peuvent être améliorées de manière incrémentielle et automatique pour ajouter en permanence de nouvelles fonctionnalités optimisées.

  • Les améliorations peuvent être apportées de manière non intrusive, sans entraîner de temps d’arrêt ni interrompre l’expérience de l’utilisateur final.

  • Augmenter ou réduire les capacités s’avère plus facile grâce à l’infrastructure élastique qui sous-tend les applications cloud natives.

  • Le processus de développement cloud natif répond plus étroitement à la rapidité et à l’innovation exigées par le monde des affaires d’aujourd’hui.

Inconvénients

  • Bien que les microservices permettent une approche itérative de l’amélioration des applications, ils créent également la nécessité de gérer plus d’éléments. Plutôt qu’une grande application, il devient nécessaire de gérer plusieurs petits services discrets.

  • Les applications cloud natives demandent des outils supplémentaires pour gérer le pipeline DevOps, remplacer les structures de surveillance traditionnelles et contrôler l’architecture de type microservices.

  • Les applications cloud natives permettent un développement et un déploiement rapides, mais elles exigent également une culture d’entreprise capable de suivre le rythme de cette innovation.

Exemples d’applications

Les applications cloud natives ont souvent des fonctions spécifiques. Réfléchissez à la manière dont les applications cloud natives peuvent être utilisées sur un site Web de voyages. Chaque sujet abordé sur le site (vols, hôtels, voitures, offres spéciales) constitue son propre microservice. Chaque microservice peut déployer de nouvelles fonctionnalités indépendamment des autres microservices. Les promotions et les remises peuvent également évoluer indépendamment. Bien que le site de voyage soit présenté aux clients dans son ensemble, chaque microservice reste indépendant et peut être étendu ou mis à jour selon les besoins sans affecter les autres services.

IBM® Cloud Garage fournit aux clients d’IBM une expertise en matière de conseil pour créer rapidement des applications cloud natives et évolutives. Il offre un centre d’innovation où les entreprises de toutes tailles peuvent concevoir et créer des applications qui répondent à des besoins métier réels.

Principes de développement

Qu’il s’agisse de créer une nouvelle application cloud native ou de moderniser une application existante, les développeurs adhèrent à un ensemble cohérent de principes :

  • Suivre l’approche architecturale des microservices : décomposez les applications en services à fonction unique appelés microservices. Les microservices sont faiblement couplés, mais ils restent indépendants, ce qui permet l’amélioration progressive, automatisée et continue d’une application sans provoquer de temps d’arrêt.

  • Utiliser les conteneurs pour un maximum de flexibilité et d’évolutivité : les conteneurs regroupent le logiciel avec tout son code et ses dépendances en un seul endroit, ce qui permet au logiciel de fonctionner n’importe où. Cela permet une flexibilité et une portabilité maximales dans un environnement multicloud. Les conteneurs permettent également une augmentation ou une réduction rapide des ressources grâce aux politiques d’orchestration Kubernetes définies par l’utilisateur.

  • Adopter les méthodes Agile : les méthodes Agile accélèrent le processus de création et d’amélioration. Les développeurs peuvent itérer rapidement les mises à jour en fonction des commentaires des utilisateurs, permettant ainsi à la version de travail de l’application de correspondre le plus possible aux attentes de l’utilisateur final.

Stockage

Les applications cloud natives s’appuient souvent sur des conteneurs. L’intérêt des conteneurs, c’est qu’ils sont flexibles, légers et portables. Les premiers conteneurs à être utilisés concernaient surtout les applications sans état, qui n’avaient pas besoin d’enregistrer les données utilisateur d’une session à l’autre.

Cependant, comme de plus en plus de fonctions de l’entreprise migrent vers le cloud, la question du stockage persistant doit être abordée dans un environnement cloud natif. Les développeurs doivent donc réfléchir à de nouvelles façons d’aborder le stockage cloud.

Tout comme le développement d’applications cloud natives repose sur des microservices et une approche modulaire, il doit en être de même pour le stockage cloud natif. Les données cloud natives peuvent résider dans un certain nombre d’emplacements, tels que les journaux d’événements ou système, les bases de données relationnelles et les magasins de documents ou d’objets.

L’emplacement des données, les exigences de conservation, la portabilité, la compatibilité des plateformes et la sécurité ne sont que quelques-uns des aspects que les développeurs doivent prendre en compte lorsqu'ils planifient le stockage cloud natif.

Applications cloud natives et applications traditionnelles

Cloud natif et compatible avec le cloud

Une application cloud activée est une application qui a été développée pour le déploiement dans un centre de données traditionnel, mais qui a été modifiée par la suite pour pouvoir également s’exécuter dans un environnement cloud. Cependant, les applications cloud natives sont conçues pour fonctionner uniquement dans le cloud. Les développeurs conçoivent des applications cloud natives qui doivent être évolutives, indépendantes de la plateforme et composées de microservices.

Cloud natif et cloud ready

Dans la brève histoire du cloud computing, le sens de l’expression « cloud ready » (prêt pour le cloud) a évolué. Au départ, elle s’appliquait aux services ou aux logiciels conçus pour fonctionner sur Internet. Aujourd’hui, l’expression est plus souvent utilisée pour décrire une application qui fonctionne dans un environnement cloud ou une application traditionnelle qui a été reconfigurée pour un environnement cloud. L’expression « cloud natif » a une histoire plus récente et fait référence à une application développée dès le départ pour fonctionner uniquement dans le cloud. Et il s’agit de profiter des caractéristiques de l’architecture cloud ou d’une application existante qui a été remaniée et reconfigurée selon les principes du cloud natif.

Cloud natif et basé sur le cloud

Un service ou une application basé sur le cloud est fourni via Internet. Il s’agit d’un terme général largement appliqué aux offres cloud. Cloud natif est plus spécifique. Le cloud natif désigne les applications conçues pour fonctionner dans des environnements cloud. Le terme désigne les applications qui s’appuient sur des microservices, une intégration continue et une livraison continue (CI/CD), et qui peuvent être utilisées via n’importe quelle plateforme cloud.

Cloud natif et cloud first

Cloud first décrit une stratégie dans laquelle les entreprises s’engagent à utiliser les ressources cloud en premier lors du lancement de nouveaux services informatiques, de l’actualisation des services existants ou du remplacement d’une technologie héritée. Les économies de coûts et l’efficacité opérationnelle sont le moteur de cette stratégie. Les applications cloud natives s’associent bien à une stratégie cloud-first, car elles n’utilisent que des ressources cloud et sont conçues pour tirer parti des caractéristiques avantageuses de l’architecture cloud.

Solutions connexes
IBM Enterprise Application Service for Java

Service entièrement géré et à locataire unique pour le développement et la livraison d’applications Java.

Découvrir les applications Java
Solutions DevOps

Utilisez les logiciels et outils DevOps pour créer, déployer et gérer des applications cloud natives sur de nombreux appareils et environnements.

Découvrir les solutions DevOps
Services de développement d’applications d’entreprise

Le développement d’applications cloud implique de les créer une fois, de les itérer rapidement et de les déployer n’importe où.

Services de développement d’applications
Passez à l’étape suivante

Les services de conseil en développement d’applications IBM Cloud proposent des conseils d’expert et des solutions innovantes pour rationaliser votre stratégie cloud. Faites équipe avec les experts en cloud et développement d’IBM pour moderniser, faire évoluer et accélérer vos applications, et obtenez des résultats transformateurs pour votre entreprise.

Découvrir les services de développement d’applications Commencez à créer sur IBM Cloud, gratuitement