Jelastic combine PaaS et CaaS en un seul package pour les hébergeurs, les entreprises de télécommunications et les développeurs …

Karim
7 min readNov 3, 2018

Jelastic est une solution PaaS DevOps avec des conteneurs, largement utilisée pour le développement et l’hébergement d’applications. Elle peut orchestrer des conteneurs Docker et des conteneurs certifiés pour tout type d’exécution (Java, PHP, Ruby, .NET, Node.JS, Python). Elle garantit l’intégration et la livraison continue de l’automatisation pour les processus DevOps et une interface conviviale avec des outils complets de gestion et de supervision. Je poursuis ici l’exploration de la plate-forme avec le test de plusieurs fonctionnalités comme le CI/CD. La plate-forme Jelastic donne l’occasion à plusieurs fournisseurs de proposer les services de cette dernière en un réseau nommé Jelastic Cloud Union :

Sur le catalogue de l’union Jelastic, je selectionne les fournisseurs qui proposent la dernière version de la plate-forme en 5.5-b3 (en fait ils ne sont que deux pour le moment) :

Je prends celui présent en Belgique :

Et je lance une première architecture basée sur deux noeuds avec Node.js 11 et un serveur Nginx comme Reverse-Proxy :

La création de cet environnement ne prend que quelques minutes :

Jelastic propose son outil en ligne de commande pour dialoguer avec l’API publique de la plate-forme :

Sur cet environnement, je peux déployer un service directement depuis un dépôt github préalablement déclaré :

Ce que je fais en reprenant encore une fois le dépôt du démonstrateur FC Particulier …

Le serveur Nginx me donne l’endpoint public qui pointe vers les deux noeuds qui exposent chacun le démonstrateur FC Agent dans ce cas :

Un message d’alerte m’indique que ce pipeline très simplifié de déploiement sur Jelastic est réussi :

Je lance un second environnement qui lui va pointer sur dépôt github de FC Agent et encore constitué de deux noeuds Node.js 11 et un serveur Nginx comme Reverse-Proxy :

et il émet à son tour (mais ici le démonstrateur FC Particulier):

Il est possible dans la plate-forme de configurer les règles d’auto-scaling horizontales pour les noeuds (mais également verticales notamment pour le serveur Nginx) sur la base des métriques CPU/Mémoire/IO disque notamment …

A noter que par Jelastic CLI, je peux interroger l’API de la plate-forme en ligne de commande pour visualiser les environnement. Après l’entrée des credentials, interrogation de l’API :

Je vais maintenant utiliser les Azure Functions en mode Proxy pour émettre un endpoint qui redigera sur les deux serveurs Nginx qui exposent chacun l’un des deux démonstrateurs (FC Particulier et FC Agent) :

La configuration passe par le remplissage d’un fichier proxies.json avec les propriétés suivantes :

Je vais utiliser une plate-forme de test de charge en ligne nommée LoadImpact dirigée vers cette fonction dans Azure et qui elle même pointe vers les deux serveurs Nginx dans Jelastic :

avec 50 utilisateurs simultanés en pic de charge sur un intervalle de 380 secondes :

Et je peux voir l’impact justement sur cette fonction en visualisant ses métriques dans le portail Azure :

Et Pendant le test de charge je peux vérifier que les rêgles d’auto-scaling horizontales ont été actives :

avec l’ajout d’un noeud supplémentaire sur l’un des environnements :

et les messages d’alertes associés à ces rêgles …

Quand le test se termine, les seuils CPU/mémoire entraîne la suppression du noeud supplémentaire (encore une fois pour respecter les rêgles préconfigurées) :

Là encore on visualise dans le portail Azure les métriques de la fonction suite à ce test de charge :

Il est possible de se passer de ces fonctions en utilisant dans Jelastic un gestionnaire de trafic qui va permettre d’initier des test de déploiement en “Blue/Green” par exemple :

La plate-forme Jelastic propose un marketplace avec plusieurs solutions de clustering y compris avec Kubernetes en mode beta :

dont on peut voir un manifeste de déploiement sur github :

Jelastic propose une plate-forme mélant PaaS et CaaS et est disponible sous forme de cloud public dans plus de 60 centres de données dans le monde, de cloud privé (virtuel et sur site), hybride et multi cloud.

Jelastic ayant notamment la particularité de prendre en charge Java, PHP, Ruby, Node.js, Python,.NET, les environnements Go et les conteneurs Docker personnalisés … Et devrait continuer à se développer.

--

--