Le terme « cloud native » fait référence au concept de création et d'exécution d'applications pour tirer parti de l'informatique distribuée offerte par le modèle de fourniture cloud. Les applications cloud native sont conçues et construites pour exploiter l'évolutivité, l'élasticité, la résilience et la flexibilité du cloud.
Comme défini par la CNCF (Cloud Native Computing Foundation), les entreprises cloud native peuvent créer et exécuter des applications évolutives dans des clouds publics, privés et hybrides. Des caractéristiques telles que les conteneurs, les maillages de services, les microservices, les infrastructures immuables et les interfaces de programmation d'applications (API) déclaratives illustrent parfaitement cette approche.
Ces caractéristiques permettent de mettre en place des systèmes à couplage lâche qui sont résilients, gérables et observables. Elles permettent aux ingénieurs d'effectuer des changements à fort impact fréquemment et avec un effort minimal.
Le paysage innovant d'applications complexes, dans lequel les utilisateurs attendent une innovation continue associée à une réactivité inégalée, exige que les systèmes d'entreprise soient plus stratégiques et de plus en plus flexibles. L'environnement cloud native doit évoluer rapidement tout en restant agile.
Les services cloud native permettent le développement d'applications innovantes à l'aide de technologies telles que Kubernetes, Docker, les fonctions sans serveur, les API et Kafka. Les fournisseurs de cloud leaders du secteur proposent des services et des outils cloud qui permettent aux développeurs de réduire les tâches opérationnelles et de créer des applications plus rapidement. Les services cloud native offrent aux développeurs une plateforme complète basée sur les normes pour la création, le déploiement et la gestion d'applications cloud native telles que des microservices et des fonctions sans serveur.
Découvrez comment vous pouvez exploiter tout le potentiel de la technologie cloud native pour créer rapidement et facilement des applications cloud innovantes, résilientes, gérables et évolutives.
Le passage aux technologies cloud native a modifié en permanence le développement logiciel et les modèles de gestion en permettant d'optimiser l'expérience client sur l'ensemble de la plateforme d'une entreprise. Il n'y a pas si longtemps, l'infrastructure informatique de nombreuses entreprises était « cloud friendly ». Les équipes informatiques qui se tournent vers le cloud se placent dans une position concurrentielle très défavorable si elles ne maximisent pas leur investissement en créant également des applications cloud native. Pour que votre entreprise survive, tout en se différenciant de ses concurrents, il est nécessaire de s'adapter et d'itérer rapidement, et une infrastructure cloud dispose de capacités élastiques et à la demande pour basculer n'importe quelle entreprise vers un environnement cloud native.
La CNCF a été formé en 2015 en réponse à l'abondance d'organisations et de services adoptant des systèmes cloud native. Projet créé par la Fondation Linux, la CNCF est une base logicielle open source qui favorise l'adoption des technologies cloud native. La CNCF compte plus de 400 membres, dont des fournisseurs de cloud public, des sociétés de logiciels d'entreprise et des start-ups technologiques. Microsoft, Oracle, VMware, Intel font partie des membres Platinum de la CNCF.
La CNCF vérifie que la technologie cloud native est accessible, disponible et fiable. Elle favorise une communauté dédiée aux projets tels que Kubernetes, Prometheus et CoreDNS, tout en soutenant les entreprises qui créent des environnements durables qui orchestrent les conteneurs dans une architecture de microservices.
Le passage d'une entreprise au cloud natif peut être intimidant, mais au final, il peut en valoir la peine. Ce parcours va bien au-delà de la simple restructuration des applications ; il s'agit de changer la structure et la culture de votre entreprise, et enfin de faire avancer votre entreprise. En utilisant la CNCF Trail Map, les entreprises peuvent adopter les technologies cloud native de manière incrémentielle. Comme prévu, la progression le long du « sentier » nécessite l'adoption de logiciels plus complexes pour fournir des microservices, des fonctions sans serveur, des flux basés sur des événements et d'autres types d'applications cloud native.
Les applications cloud native - ou applications cloud native (NCA) - sont des programmes conçus pour une architecture de cloud computing. Elles ont de nombreux avantages.
Les applications cloud natives sont des services indépendants, rassemblés en conteneurs légers autonomes et portables pouvant être mis à l'échelle (entrée ou sortie) rapidement selon la demande. En encapsulant tout dans un conteneur (tel qu'un conteneur Docker), vous isolez l'application et ses dépendances de l'infrastructure sous-jacente. Vous pouvez ainsi déployer cette application en conteneur dans n'importe quel environnement disposant du moteur d'exécution de conteneur. L'importance des orchestrations de conteneur Kubernetes est qu'elles gèrent le cycle de vie des conteneurs. Les applications cloud natives sont souvent livrées via un pipeline DevOps qui comprend des chaînes d'outils d'intégration et de livraison continues (CI/CD). Les pipelines CI/CD sont importants pour automatiser la création, les tests et le déploiement des applications cloud native.
L'architecture cloud native concerne la conception d'applications ou de services spécifiquement conçus pour exister dans le cloud plutôt que dans une infrastructure sur site plus traditionnelle. Une architecture cloud native performante doit être facile à maintenir et à prendre en charge par un cloud nouvelle génération, tout en bénéficiant d'une autonomie et d'une rentabilité accrues. Par rapport aux systèmes hérités, les architectures cloud native ont un niveau de flexibilité plus élevé, sans avoir à dépendre de serveurs physiques.
C'est là que les microservices et les fonctions sans serveur peuvent jouer un rôle important. Les microservices sont au cœur de l'architecture d'applications cloud native et sont devenus un outil essentiel pour les entreprises qui effectuent le passage au cloud. Les microservices réorganisent une application en plusieurs services indépendants qui remplissent chacun une fonction spécifique. De nombreuses entreprises de logiciels tirent parti des microservices parce qu'ils prennent en charge DevOps, permettent la flexibilité et améliorent l'évolutivité, tout en réduisant les coûts. Les microservices cloud native communiquent entre eux via des API et utilisent une architecture orientée événements qui améliore les performances globales de chaque application. Les services Oracle Cloud Native suivent la feuille de route de la CNCF pour simplifier le parcours et permettre aux entreprises de commencer à créer, déployer et gérer des applications cloud native innovantes.
Le terme fonctions sans serveur décrit un style d'architecture qui se concentre sur l'augmentation de la productivité des développeurs. Une application sans serveur vous permet d'écrire du code sur une plateforme qui fonctionne comme un service (FaaS) en utilisant des architectures orientées événements et divers modèles de backend-as-a-service (BaaS). Vous n'avez ainsi plus à vous soucier du provisionnement, de l'application de patches, de la mise à l'échelle, de la sécurité, de la haute disponibilité, etc. Avec les plateformes FaaS, telles qu'Oracle Functions, les applications sont divisées en petits morceaux de code (nanoservices), qui sont programmés dynamiquement et exécutés à la demande lorsqu'ils sont déclenchés par un événement. Cette approche présente l'avantage d'appeler et d'exécuter le code uniquement en cas de besoin. Vous ne payez que pour les ressources utilisées pendant la durée d'exécution. Cela diffère d'une approche serveur classique, dans laquelle les applications sont chargées dans un serveur et passent la plupart de leur temps inactives, en attente de demandes. Ainsi, en informatique sans serveur, vous payez uniquement pour les ressources informatiques que vous utilisez réellement, plutôt que de payer pour les ressources inactives.
Les services cloud native sont au cœur des innovations digitales et sont essentiels pour des analyses avancées, des applications mobiles et des chatbots. Les exercices DevOps éliminent la plupart des tâches de gestion associées à la création, l'exploitation et la maintenance d'une plateforme logicielle complexe. Les activités de développement, de déploiement et de test de logiciels résident dans le cloud et peuvent être développées ou sous contrat à volonté. Le passage des applications, DevOps et des charges de travail à une architecture cloud native est essentiel à la compétitivité de votre entreprise.
Les services cloud native d'Oracle favorisent le développement d'applications cloud native innovantes en utilisant des technologies basées sur des normes telles que Kubernetes, Docker, les fonctions sans serveur, les API et Kafka. Souvent décrit comme le « système d'exploitation du cloud », Kubernetes est une plateforme open source de gestion de clusters d’applications et de services en conteneur. Les composants clés de Kubernetes sont les clusters, les nœuds et le plan de contrôle. Les clusters contiennent des nœuds. Chaque nœud comprend un ensemble d’au moins une machine de travail. Les nœuds hébergent des pods contenant des éléments de l’application déployée. Le plan de contrôle gère les nœuds et les pods du cluster, souvent sur de nombreux ordinateurs, pour une haute disponibilité.
Oracle fournit l'outillage et l'automatisation du cloud nécessaires à ces services afin que les équipes de développement puissent réduire les tâches opérationnelles et créer rapidement des applications. Les services cloud native sont exécutés sur Oracle Cloud Infrastructure (OCI), qui offre une plateforme basée sur des normes avec des performances plus élevées et des coûts inférieurs à ceux des autres fournisseurs cloud. En tirant parti de services basés sur des sources et des normes ouvertes, OCI permet aux développeurs d'exécuter des applications dans n'importe quel environnement cloud ou sur site sans avoir à les remanier, ce qui leur donne plus de liberté pour se concentrer sur la création et l'innovation.
OCI Container Registry est un service de registre Docker basé sur des normes ouvertes et géré par Oracle, qui permet de stocker et de partager en toute sécurité des images de conteneurs. Les ingénieurs peuvent facilement pousser et tirer des images Docker à l'aide de l'interface de ligne de commande (CLI) et de l'API familières de Docker. Pour prendre en charge les cycles de vie des conteneurs, Container Registry fonctionne avec Container Engine for Kubernetes d'Oracle, OCI Identity and Access Management, Oracle Visual Builder Studio, ainsi que des outils de développement et DevOps tiers.
OCI Notifications est un service de publication/abonnement (pub/sub) hautement disponible et à faible latence qui envoie des alertes et des messages à Oracle Cloud Functions, des e-mails, des SMS et des partenaires de livraison de messages, notamment Slack, PagerDuty et ServiceNow. Le service s'intègre à Identity and Access Management OCI pour fournir un accès sécurisé et délivre chaque message, même pendant les pics de trafic. Les notifications vous aident à créer des applications cloud native qui sont évolutives et fiables.
Le service Streaming OCI est une plateforme de streaming d'événements en temps réel, sans serveur et compatible avec Apache Kafka, destinée aux développeurs et aux spécialistes des données. Ce service de streaming d’événements gérés ingère, stocke et traite les données de streaming en temps réel à grande échelle. Il réduit la dépendance à un fournisseur grâce à une compatibilité totale avec les API Kafka largement utilisées et open source.
Container Engine for Kubernetes (OKE) est un service d’orchestration de conteneurs géré par Oracle qui peut réduire le temps et le coût de création d’applications cloud natives innovantes. Contrairement à la plupart des autres fournisseurs, OCI propose Container Engine pour Kubernetes sous la forme d'un service gratuit qui fonctionne sur des formes de calcul plus performantes et moins coûteuses. Les ingénieurs DevOps peuvent utiliser des systèmes Kubernetes non modifiés et open source pour la portabilité de la charge de travail des applications et pour simplifier les opérations avec des mises à jour et des correctifs automatiques.
Oracle Cloud Functions est une plateforme sans serveur qui permet aux développeurs de créer, d'exécuter et de faire évoluer des applications sans avoir à gérer d'infrastructure. Elle s'intègre également à OCI, aux services de plateforme et aux applications SaaS. Comme Functions est basé sur le projet Fn open source, les développeurs peuvent créer des applications qui peuvent être facilement portées dans d’autres environnements Cloud et sur site. Le code basé sur Functions s’exécute généralement pendant de courtes durées et les clients ne paient que pour les ressources qu’ils utilisent.
Le développement d'applications cloud native offre-t-il réellement de meilleures applications que les applications développées traditionnellement ? Oui. Les avantages des applications cloud native sont clairs : les applications cloud native peuvent évoluer, car leurs fonctions sont divisées en microservices et permettent la gestion individuelle. Et comme elles sont agnostiques par rapport à leur infrastructure cloud, les applications cloud native peuvent fonctionner de manière hautement distribuée, en conservant leur indépendance et en allouant les ressources en fonction des besoins de l'application. Les applications cloud native sont devenues un moyen essentiel d'augmenter la valeur et la stratégie de l'entreprise, car elles peuvent fournir une expérience cohérente sur les clouds privés, publics et hybrides. Elles permettent à votre entreprise de tirer pleinement parti du cloud computing en exécutant des applications cloud native réactives et fiables, évolutives et réduisant les risques.
Découvrez pourquoi les développeurs sont enthousiastes à l’idée d’utiliser les technologies natives du cloud pour créer la nouvelle génération d’applications et les exécuter depuis n’importe où.
Découvrez comment créer, observer et gérer des applications innovantes telles que des microservices et des fonctions sans serveur à l'aide de conteneurs Docker, de Kubernetes, de Terraform et d'autres technologies cloud native.
Créez, testez et déployez vos applications sur Oracle Cloud, gratuitement.