Que signifie « cloud native » ?
Le cloud native qualifie une application ou un produit qui a été conçu dès le début spécifiquement pour le cloud, par opposition à une application de bureau qui est remaniée pour une utilisation dans le cloud.
Si vous demandiez à des personnes de définir « cloud native », vous obtiendriez probablement différentes réponses. Cependant, la technologie cloud native répond à une définition très précise. Elle est construite d'une façon très particulière et ses applications sont quasi-illimitées.
Selon la Cloud Native Computing Foundation (CNCF) créée par la Linux Foundation en 2015 en raison du grand nombre d'organisations qui adoptaient des systèmes cloud native :
Les technologies cloud native sont spécifiquement conçues pour être évolutives. En d'autres termes, elles sont développées pour permettre des changements et une résilience rapides, à grande échelle.
Les applications cloud native fonctionnent dans des environnements modernes et dynamiques tels que les clouds publics, privés ou hybrides, et non pas dans des systèmes d'exploitation à instance unique, sur site.
Les applications cloud native sont créées selon une architecture de microservices : l'application logicielle est construite à partir d'éléments plus petits (micro) qui sont rassemblés dans des conteneurs afin de pouvoir être testés sur n'importe quelle infrastructure.
Les microservices étant intégrés dans des conteneurs, l'application logicielle peut être mise à jour selon les principes de fonctionnement de l'intégration continue et de la livraison continue (CI/CD). La méthode CI/CD permet de mettre à jour, de tester et de diffuser des microservices intégrés dans un même conteneur sans aucun temps d'arrêt.
Comparez cela à une architecture monolithique, qui :
est conçue et développée comme une seule unité ;
possède un exécutable unique et logique pour son infrastructure sous-jacente ; agit comme une seule unité (c'est-à-dire comme un monolithe) au lieu de comporter plusieurs parties mobiles ;
l'architecture d'une application monolithique repose sur 1) une application côté serveur, 2) une interface utilisateur côté client et 3) une base de données. Les mises à jour du développement logiciel sont effectuées au niveau du serveur, ce qui implique forcément des temps d'arrêt;
Pourquoi les applications cloud native sont-elles importantes ?
L'approche cloud native présente de nombreux avantages, notamment la résilience, la portabilité et l'agilité. Mais les avantages vont bien au-delà des équipes informatiques.
Flexibilité opérationnelle
Les entreprises qui utilisent des applications cloud native bénéficient d'un niveau de flexibilité accru dans la manière dont elles exécutent leurs principaux programmes d'entreprise, qu'il s'agisse de clouds hybrides, publics, privés ou d'un multi-cloud. Elles ne sont donc pas tenues d'utiliser une plateforme plutôt qu'une autre, car la qualification de cloud native se rapporte à la manière dont l'application est créée, et non pas à la plateforme sur laquelle elle est exécutée.
Réduction des frais généraux dus aux imprécisions
L'un des avantages de la technologie commerciale actuelle réside dans la possibilité d'automatiser les processus métier. L'automatisation peut être intégrée à n'importe quel environnement cloud et aide les entreprises à se transformer en équipes réduites et dédiées. Plutôt que de perdre des heures de travail à effectuer des tâches administratives répétitives et manuelles, les employés peuvent automatiser ces dernières et se concentrer sur les tâches les plus importantes : le développement d'opportunités d'affaires, le service clientèle et la fidélisation des clients.
Pas de temps d'arrêt
Grâce aux solutions d'orchestration de conteneurs telles que Kubernetes, vous pouvez déployer des mises à jour logicielles dans l'écosystème de votre entreprise sans avoir à arrêter vos systèmes. Cela permet au service informatique de tester, d'optimiser et de diffuser des mises à jour sans interrompre les activités.
Innovation
L'automatisation intégrée aux applications cloud native facilite et accélère le lancement de nouveaux produits et services numériques. Par ailleurs, comme ces applications collectent automatiquement des données dans l'ensemble de l'écosystème de votre entreprise, vous disposez d'un meilleur aperçu des données ; vos décisions sont ainsi plus éclairées.
Facile à gérer
Parce qu'elles sont spécialement conçues pour être faciles à mettre à jour et à gérer, elles peuvent être intégrées à vos opérations commerciales pour remplacer des programmes moins compatibles et moins flexibles.
Coût inférieur
Moins de temps d'arrêt, moins d'erreurs, des clients plus satisfaits ; tout cela se traduit par une réduction des frais généraux. Mais il existe un coût important, mais rarement abordé : celui d'un système surdimensionné pour votre entreprise. Les applications sur site nécessitent généralement des dépenses initiales importantes. Cela implique la construction du centre de données et de l'infrastructure du système. Or, seuls deux tiers environ de la capacité du centre de données sont utilisés. Il en résulte un coût total de possession plus élevé. Les applications cloud native suivent un modèle de paiement à l'usage. Par conséquent, si vous ne consommez que 30 % de la capacité d'un centre de données, vous payez uniquement le montant correspondant à cette utilisation.
Un rapport essentiel et unique en son genre
Découvrez comment les entreprises les plus performantes obtiennent un retour sur investissement multiplié par 8,5 pour leurs programmes d'automatisation et comment les leaders du secteur transforment leurs activités pour relever les défis mondiaux et prospérer grâce à l'automatisation intelligente.
Différence entre monolithique et microservices
La technologie cloud moderne progresse rapidement, et le développement d'applications axées sur les entreprises s'oriente de plus en plus vers une architecture cloud native.
Cette évolution vers un monde cloud native va au-delà des nouvelles applications. La suite Microsoft Office en est un bon exemple. Utilisé par des milliers d'entreprises, des PME aux grandes entreprises, Microsoft Office était au départ constitué seulement de quelques flux de travail macros dans Microsoft Excel, et est devenu une infrastructure cloud complète avec Office 365. Aujourd'hui, n'importe qui peut se connecter, acheter un abonnement et utiliser le produit dans son navigateur en quelques minutes seulement.
Les différences entre Microsoft Office classique et Office 365 peuvent sembler mineures. Cependant, ce qui se passe en arrière-plan est le fruit d'un changement complet de pensée et de développement de processus.
Dans le développement classique de logiciels, il n'est pas rare que plusieurs équipes travaillent sur un seul logiciel. De l'extérieur, cela peut apparaître comme la recette d'un développement et d'une commercialisation rapides. Toutefois, bien souvent, personne parmi ces différentes équipes n'a de vue d'ensemble de l'intégralité de l'application. Dès lors, il n'est pas difficile d'imaginer combien les mises à jour d'une application peuvent devenir un véritable cauchemar.
C'est là qu'intervient DevOps (développement et opérations), une combinaison de philosophies, d'outils et de pratiques qui permet de livrer plus rapidement de nouveaux services et de nouvelles applications et fonctionnalités. DevOps fusionne les multiples équipes en une seule équipe plus petite. Les ingénieurs sont impliqués dans chaque phase du cycle de vie au lieu d'être cantonnés à leur équipe de développement, d'opérations, d'assurance qualité et de sécurité, par exemple.
Comment parviennent-ils à réduire la taille sans réduire la qualité ? La réponse réside dans l'automatisation. L'automatisation permet aux fournisseurs de cloud, tels que les entreprises BPaaS et SaaS, de développer des applications professionnelles robustes avec des équipes DevOps réduites.
Questions fréquentes sur le cloud native
Les plateformes cloud pour entreprises ne sont pas disponibles uniquement dans les environnements cloud publics. Au lieu d'ajouter votre société à une liste d'autres entreprises sur une solution de cloud, vous pouvez opter pour des plateformes de cloud privé et des solutions de cloud hybride (un mélange d'applications sur site et dans le cloud).
Il existe plusieurs raisons. Les applications cloud native sont rapidement créées et déployées. Les équipes sont petites et dédiées. La plateforme cloud est évolutive, ce qui permet une plus grande agilité et portabilité dans les environnements multi-cloud. Tous ces éléments contribuent au développement de nombreuses applications d'entreprise rentables, tandis que les applications à architecture monolithique perdent lentement du terrain au profit de fournisseurs et de plateformes cloud.
Bien sûr. Grâce aux microservices, à la conteneurisation et à la possibilité d'automatiser les processus métier, les services cloud native offrent une flexibilité suffisante en matière de fonctionnalité et d'évolutivité pour s'adapter aux entreprises de toute taille.
Dans le cloud native, il est question de la façon dont un programme est créé, mais pas de l'endroit où il se trouve. Des services tels qu'Amazon Web Service, Google Cloud Platform et IBM Cloud sont des plateformes cloud, où sont exécutées les applications cloud native.
Comparer Docker à Kubernetes, c'est comme comparer des oranges à du jus d'orange. La question n'est pas tant de savoir si l'un est plus adapté que l'autre, que de prendre les deux en compte. Bien qu'il s'agisse de technologies différentes, les deux fonctionnent bien pour créer, fournir et mettre à l'échelle des applications conteneurisées.
Docker est une technologie open source qui conteneurise les applications de manière à les rendre portables. La portabilité permet de mettre à disposition les applications dans le cloud ou sur site.
Kubernetes est une solution open source d'orchestration de conteneurs. Elle regroupe les conteneurs Docker en pods, et permet de contrôler leur exécution par l'intermédiaire d'API. Cette capacité est extrêmement utile à mesure que la complexité des systèmes augmente. Avec Kubernetes, vous pouvez organiser des clusters de machines virtuelles et exécuter les pods en fonction de leurs besoins respectifs en ressources et des ressources de calcul disponibles.
Les applications basées sur le cloud sont étroitement intégrées, à l'instar d'une pile unique de logiciels classiques. Elles sont donc plus difficiles à mettre à jour et nécessitent des temps d'arrêt.
Les applications cloud native sont peu connectées, mais il n'y a pas de matériel ou de logiciel à déployer. Les mises à jour sont effectuées au moyen de services plus petits (microservices) et conteneurisés, ce qui les rend beaucoup plus rapides et faciles à déployer.
Comment débuter avec le cloud native ?
Pour commencer, déterminez les processus que vous souhaitez transférer vers le cloud. Ensuite, discutez avec votre fournisseur de la meilleure intégration possible avec vos systèmes actuels.
Néanmoins, ce n'est pas parce qu'un fournisseur propose des services cloud qu'il offre des services Native Cloud. Il faut donc toujours se demander si la solution d'entreprise qui vous est proposée est cloud native.
Explorez des ressources supplémentaires
Qu'est-ce que...
logiciel d'automatisation ?
Qu'est-ce que...
la reconnaissance de texte ?
Que sont...
les robots logiciels ?
Qu'est-ce que l'automatisation des processus
par la robotique (RPA) ?