Des applications sans serveur plus rapides et plus faciles avec OpenShift

Red Hat OpenShift Serverless est un ensemble de composants orientés vers Kubernetes, gérés par des événements, pour les microservices, les conteneurs et les déploiements Function-as-a-Service (FaaS).

Des applications sans serveur plus rapides et plus faciles avec OpenShift

Cette solution « clé en main » comprend des outils de sécurité et de routage du trafic et intègre les Red Hat Operators, Knative et Red Hat OpenShift pour exécuter des charges de travail sans état et sans serveur sur la plateforme OpenShift dans des environnements privés, publics, hybrides et multi-cloud.

OpenShift Serverless permet aux développeurs de se concentrer entièrement sur la création d'applications de nouvelle génération, en offrant un large choix de langages de programmation, de frameworks, d'environnements de développement et d'autres outils pour la création et le déploiement de produits commerciaux innovants.

Caractéristiques clés de Red Hat OpenShift Serverless :

  • Large choix de langages de programmation et de composants runtime pour les applications sans serveur. Vous pouvez choisir exactement l'ensemble d'outils qui vous convient.
  • Mise à l'échelle horizontale automatique en fonction de l'intensité des requêtes ou en réponse à des événements pour une gestion efficace des ressources basée sur des besoins réels, et non sur des hypothèses.
  • Intégration complète avec OpenShift Pipelines, un système Kubernetes pour l'intégration et le déploiement continus (CI/CD), basé sur Tekton.
  • Un socle en tant que Red Hat Operator, permettant aux administrateurs de gérer en toute sécurité les instances en cours d'exécution et de les mettre à jour, tout en organisant le cycle de vie des applications de type services cloud.
  • Suivi constant des nouvelles sorties communautaires, y compris Knative 0.13 Serving, Eventing et kn (l'outil en ligne de commande officiel pour Knative) – comme pour tous les autres produits Red Hat, cela implique des tests méticuleux et une vérification sur diverses plateformes et configurations OpenShift.

De plus, Red Hat collabore étroitement sur les technologies Serverless avec plusieurs partenaires, ainsi qu'avec Microsoft concernant Azure Functions et KEDA (en savoir plus sur ici). En particulier, un opérateur OpenShift certifié est déjà disponible chez TriggerMesh, et nous avons récemment commencé à collaborer avec Serverless.com, afin que le Serverless Framework puisse fonctionner avec OpenShift Serverless et Knative. Ces partenariats peuvent être considérés comme un signe de maturité du serverless et du début de la formation d'un écosystème industriel.

Si vous avez précédemment installé la version bêta de Red Hat OpenShift Serverless, vous pouvez la mettre à jour vers la version GA (disponibilité générale) publique. Pour ce faire, il faudra reconfigurer le canal de mise à jour d'abonnement OLM pour la version Technology Preview, comme indiqué dans la Figure 1.

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 1. Mise à jour du canal d'abonnement.

Le canal d'abonnement doit être mis à jour pour correspondre à la version de l'OpenShift Container Platform soit 4.4, soit 4.3.

Knative Services – service de premier ordre

OpenShift 4.4 simplifie considérablement le déploiement d'applications avec la fonctionnalité OpenShift Serverless, permettant de déployer sans effort des Knative Services directement depuis le mode Développeur de la console web OpenShift.

Lors de l'ajout d'une nouvelle application au projet, il suffit d'indiquer le type de ressources Knative Service, ce qui active instantanément la fonctionnalité OpenShift Serverless et permet le scaling à zéro en mode attente, comme montré dans la Figure 2.

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 2. Sélection de Knative Service comme type de ressources.

Installation simplifiée avec Kourier

Comme nous l'avons déjà mentionné dans l'annonce de la version OpenShift Serverless 1.5.0 Tech Preview, l'utilisation de Kourier a considérablement réduit le nombre de prérequis pour l'installation de Serverless sur OpenShift, et dans la version GA, il y en a encore moins. Tout cela diminue la consommation de ressources, accélère le démarrage à froid des applications, tout en éliminant l'impact des charges de travail non serverless fonctionnant dans le même espace de noms.

Dans l'ensemble, ces améliorations, ainsi que les ajouts dans OpenShift 4.3.5, accélèrent la création d'applications à partir d'un conteneur préconstruit de 40 à 50 % en fonction de la taille de l'image.
Vous pouvez voir comment tout cela fonctionne sans utiliser Kourier à la Figure 3 :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 3. Temps de création d'applications dans les cas où Kourier n'est pas utilisé.

Vous pouvez voir comment cela fonctionne lorsque Kourier est utilisé à la Figure 4 :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 4. Temps de création d'applications avec Kourier.

TLS/SSL en mode automatique

OpenShift Serverless peut désormais créer et déployer automatiquement TLS/SSL pour la route (OpenShift Route) de votre Knative Service, vous permettant de ne pas vous soucier de la mise en œuvre et de la maintenance de ces fonctionnalités pendant que vous travaillez sur l'application. En d'autres termes, Serverless libère le développeur des complexités liées au TSL, tout en maintenant le niveau de sécurité élevé que tout le monde attend de Red Hat OpenShift.

Interface de ligne de commande OpenShift Serverless

Dans OpenShift Serverless, il est appelé kn et est accessible directement dans la console OpenShift sur la page des outils en ligne de commande, comme indiqué à la figure 5 :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 5. Page de téléchargement de l'interface de ligne de commande OpenShift Serverless.

En téléchargeant à partir de cette page, vous obtenez la version kn pour MacOS, Windows ou Linux, vérifiée par Red Hat et garantie sans logiciels malveillants.

La figure 6 montre comment avec kn, il est possible de déployer un service en une seule commande, permettant de créer en quelques secondes une instance de l'application sur la plateforme OpenShift avec un accès via URL :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 6. Utilisation de l'interface de ligne de commande kn.

Cet outil permet de gérer pleinement les ressources de Serverless Serving et Eventing sans avoir à consulter ou modifier des configurations YAML.

Vue améliorée de Topology en mode développeur de la console

Voyons maintenant comment la vue améliorée de Topology facilite la gestion des services Knative.

Visualisation centrée sur Knative Service

Les services Knative sur la page de vue Topology sont affichés sous forme de rectangle contenant toutes les révisions, comme indiqué à la figure 7 :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 7. Services Knative sur la page de vue Topology.

Ici, vous pouvez voir instantanément les pourcentages de répartition du trafic du service Knative, et regrouper les services Knative dans un groupe d'applications pour visualiser facilement ce qui se passe à l'intérieur du groupe sélectionné.

Réduction des listes de services Knative OpenShift

Pour continuer sur le sujet du regroupement, il faut mentionner qu'avec OpenShift 4.4, il est possible de réduire les services Knative à l'intérieur d'un groupe d'applications pour une visualisation et une gestion plus pratiques des services lorsque des applications plus complexes sont déployées dans le projet.

Service Knative en détail

Dans OpenShift 4.4, le panneau latéral pour les services Knative a également été amélioré. Il dispose d'un onglet Ressources, où sont affichés les composants du service, tels que les Pods, Révisions et Routes. Ces composants offrent également un accès rapide et simple aux journaux des pods individuels.

La vue Topology montre également les pourcentages de répartition du trafic et permet même de modifier rapidement la configuration. Ainsi, vous pouvez rapidement connaître la répartition du trafic pour le service Knative sélectionné en temps réel, en fonction du nombre de pods en cours d'exécution pour la révision donnée, comme indiqué à la figure 8.

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Figure 8. Répartition du trafic du service Knative.

Un regard plus approfondi sur les révisions Serverless

La présentation Topology permet désormais d'explorer beaucoup plus en profondeur la révision sélectionnée, par exemple, de visualiser rapidement tous ses pods et, si besoin, de consulter leurs journaux. De plus, dans cette vue, on peut facilement accéder aux déploiements et aux configurations de la révision, ainsi qu'à la sous-route qui pointe directement vers cette révision, comme illustré à la Fig. 9 :

Des applications sans serveur plus rapides et plus faciles avec OpenShift
Fig. 9. Ressources associées aux révisions.

Nous espérons que les innovations décrites ci-dessus vous seront utiles pour créer et gérer des applications serverless, et que les prochaines versions apporteront encore plus de fonctionnalités utiles pour les développeurs, comme la possibilité de créer des sources d'événements, entre autres.

Intéressé ?

Essayez OpenShift !

Nous apprécions vos retours

Dites-nous, ce que vous pensez du serverless. Rejoignez notre groupe Google OpenShift Developer Experience pour participer aux discussions et aux séminaires Office Hours, pour collaborer avec nous et partager vos retours et suggestions.

Informations supplémentaires

Découvrez-en plus sur le développement d'applications OpenShift à travers les ressources suivantes de Red Hat :

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster