Sitemap

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

7 min readNov 3, 2018

--

Zoom image will be displayed

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 :

Zoom image will be displayed
Zoom image will be displayed

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) :

Zoom image will be displayed

Je prends celui présent en Belgique :

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed

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

Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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 :

Zoom image will be displayed

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

Zoom image will be displayed

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 :

Zoom image will be displayed

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

Zoom image will be displayed

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 …

Zoom image will be displayed
Zoom image will be displayed
Zoom image will be displayed

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 :

Zoom image will be displayed

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) :

Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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 :

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed

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

Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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) :

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed

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 :

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed
Zoom image will be displayed

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

Zoom image will be displayed

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.

Zoom image will be displayed

--

--

Karim
Karim

Written by Karim

Above the clouds, the sky is always blue ...

Responses (1)