Présentation
Knative est un projet communautaire Open Source qui ajoute des composants à Kubernetes pour le déploiement, l'exécution et la gestion des applications serverless et cloud-native. Ce modèle de cloud computing serverless contribue à améliorer la productivité des équipes de développement et à réduire les coûts d'exploitation.
Avantages de Knative
Knative élimine les tâches de provisionnement et de gestion des serveurs. Les équipes de développement peuvent ainsi concentrer leurs efforts sur le code sans se soucier de la configuration d'une infrastructure complexe. Cet avantage est d'autant plus intéressant lorsque des composants entiers de l'application sont issus d'un tiers et intégrés via un service BaaS (Backend-as-a-Service), au lieu d'être écrits au sein de l'entreprise.
L'environnement serverless Knative permet de déployer du code sur une plateforme Kubernetes, comme Red Hat OpenShift. Avec Knative, un service est créé en mettant le code en paquet en tant qu'image de conteneur et en le remettant au système. Le code ne s'exécute que lorsque c'est nécessaire et Knative démarre et arrête les instances automatiquement. Les ressources ne sont pas consommées, sauf si une action est requise de la part du code. Les coûts d'exploitation peuvent être réduits, car seul le temps de calcul basé dans le cloud est facturé selon les besoins et il n'est pas nécessaire d'exécuter ni de gérer en continu ses propres serveurs.
Composants de Knative
Knative compte trois principaux composants :
- Build, une approche flexible pour créer du code source dans des conteneurs ;
- Serving, qui permet le déploiement rapide et la mise à l'échelle automatique des conteneurs par le biais d'un modèle basé sur les requêtes afin de mettre à disposition les charges de travail en fonction de la demande ;
- Eventing, une infrastructure qui sert à consommer et produire des événements afin de stimuler les applications. Les applications peuvent être déclenchées par différentes sources telles que des événements issus de ses propres applications, de services cloud de nombreux fournisseurs, de systèmes SaaS et de flux Red Hat AMQ.
Article de blog sur Red Hat Developer
Knative et l'avantage de l'Open Source
Knative permet de déployer et d'exécuter des applications serverless sur toutes les plateformes Kubernetes, notamment Red Hat OpenShift Container Platform, et s'installe sur OpenShift grâce aux opérateurs.
La maintenance de Knative est effectuée par une communauté Open Source, qui comprend des entreprises comme Red Hat, Google et IBM en collaboration avec diverses startups. Le logiciel Open Source limite la dépendance potentielle vis-à-vis des fournisseurs et met le pouvoir des technologies entre les mains des utilisateurs.
Knative et Red Hat OpenShift Serverless
Red Hat® OpenShift® Serverless est un service basé sur le projet Open Source Knative. Il offre une plateforme serverless professionnelle qui apporte de la portabilité et de la cohérence dans les environnements hybrides et multicloud.
OpenShift Serverless contribue à proposer une expérience complète de développement et de déploiement d'applications serverless avec d'autres services OpenShift Container Platform, comme OpenShift Service Mesh et la surveillance du cluster.
La solution Red Hat OpenShift Serverless facilite également le travail des équipes d'exploitation puisqu'elle s'installe facilement sur OpenShift, qu'elle a été testée avec d'autres produits Red Hat et qu'elle ouvre l'accès au service d'assistance primé de Red Hat.