Passer

Knative, le futur standard des applications cloud-native ?

Introduites par AWS en 2014, les architectures Serverless marquent l’aboutissement de l’idée de ressources à la demande : seules les ressources nécessaires, au moment où elles sont nécessaires et aussi longtemps que nécessaire sont activées (et facturées). Cette approche présente deux avantages majeurs : d’une part, elle libère les équipes de toute préoccupation relative à l’exécution des applications, leur permettant de se concentrer exclusivement sur les problèmes métier ; d’autre part, elle réduit au strict minimum l’empreinte matérielle, environnementale et, bien sûr, financière du fonctionnement des applications.

Toutefois, la mise en place d’une fonction Serverless dans un conteneur est une tâche délicate… à moins qu’une couche d’abstraction ne masque cette complexité! C’est l’idée qui a inspiré Knative, un environnement conçu pour déployer, exécuter et gérer des applications Serverless sur Kubernetes. Knative vous permet donc de bénéficier à la fois de la commodité de la conteneurisation et de la frugalité de Serverless.

Knative est-il largement adopté ?

Créé par Google en 2018, Knative est désormais un projet open-source, soutenu par de nombreux acteurs leaders (IBM, RedHat, VMware, SAP…) et, depuis mars 2022, par la Cloud Native Computer Foundation (CNCF). Knative, dont la version 1.0 a été publiée en novembre 2021, est déjà utilisé en production par des entreprises telles qu’Alibaba, Bloomberg et T-Mobile. Il s’agit d’une alternative ouverte, robuste et prometteuse aux solutions Serverless propriétaires comme AWS Lambda, Azure Functions et Google Cloud Functions. Knative pourrait devenir une solution incontournable pour les applications cloud-natives.

Comment fonctionne Knative ?

Pour simplifier, automatiser et gérer les déploiements Serverless sur Kubernetes, Knative s’appuie sur deux composants principaux : Knative Eventing et Knative Serving. 

La première, Knative Eventing, permet aux développeurs de créer des applications orientées événements et de les connecter à des flux d’événements (Apache Kafka, par exemple). La seconde, Knative Serving, automatise l’activation, la mise à échelle et l’extinction des services sur Kubernetes selon les besoins. Knative Serving prend notamment en charge l’auto scaling, la mise en réseau et le suivi des révisions.

Knative Eventing et Knative Serving sont utilisables séparément, mais ils sont le plus souvent déployés ensemble pour créer des scénarios d’exécution pilotés par les événements, qui maximisent les avantages du Serverless.

Quels sont les 5 principaux avantages de Knative ?

Nous avons brièvement évoqué les avantages de Knative au début de cet article, mais nous allons maintenant examiner plus en détail les principaux avantages, outre les avantages généraux tels que la commodité et la frugalité. Les cinq principaux avantages de Knative sont:

  • Les gains de productivité
  • Les Économies de ressources
  • La Portabilité multi-cloud
  • Un outil DevOps pour les applications « cloud-native ».
  • Le Soutien de la communauté open-source

Examinons chacun d’entre eux plus en détail.

  1. Les gains de productivité Knative libère les développeurs et les administrateurs de tâches complexes, répétitives et fastidieuses. En abstrayant et en automatisant la gestion des ressources, ils font gagner un temps précieux sur le développement, le déploiement et la maintenance des applications. 
  2. Les Économies de ressources C’est l’une des promesses de Serverless que Knative rend possible, à savoir l’activation des ressources uniquement lorsqu’elles sont nécessaires. L’entreprise ne paie que ce qu’elle utilise, et non ce qu’elle pourrait utiliser.
  3. La Portabilité multi-cloud Étant basé sur Kubernetes, la norme de facto pour l’orchestration de conteneurs, Knative permet d’accéder au serverless sans avoir à se lier à la plateforme de fonctions en tant que service d’un fournisseur de cloud computing.
  4. Un outil DevOps pour les applications « cloud-native ». Même si le système Kubernetes a été un moteur essentiel de la conteneurisation et des applications cloud-natives dans l’entreprise, il reste une technologie complexe. Knative permet de s’affranchir de l’expertise nécessaire, dont le déficit peut être un frein à la rapidité recherchée dans les approches DevOps. Avec Knative, les développeurs et les administrateurs n’ont pas besoin d’autant de connaissances avancées pour créer, déployer et gérer rapidement des applications conteneurisées.
  5. Le Soutien de la communauté open-source La nature open-source de Knative garantit la robustesse, la durabilité et l’innovation. Le fait que le projet soit désormais officiellement soutenu par la Cloud Native Computer Foundation lui confère une visibilité et une légitimité supplémentaires qui renforcent l’intérêt de la communauté. En effet, les entreprises qui souhaitent se lancer sont sûres de trouver un soutien expert et réactif auprès de la Fondation.

Participez à la communauté de Devoteam

Cet article fait partie d’une série plus vaste centrée sur les technologies et les thèmes abordés dans la première édition du TechRadar de Devoteam. Pour savoir ce que notre communauté de leaders technologiques a exprimé au sujet de la position actuelle de Knative sur le marché, téléchargez  l’édition la plus récente du TechRadar de Devoteam.

Envie d’en savoir plus sur Knative ?

Consultez notre TechRadar pour savoir ce que nos experts pensent de sa viabilité sur le marché.

#DISTRIBUTED CLOUD