Découverte de Jelastic PaaS Lite Edition dans DigitalOcean …

Image for post
Image for post

Jelastic a annoncé en début d’année un partenariat avec DigitalOcean pour offrir un lancement simplifié de son PaaS privé en tant que service avec un approvisionnement de conteneurs, une mise à l’échelle de projet et une gestion simplifiée des applications. L’offre publiée propose une édition légère de Jelastic PaaS dans l’infrastructure de DigitalOcean.

Jelastic PaaS Lite Edition peut désormais être déployé automatiquement en tant que cloud privé sur des machines virtuelles de DigitalOcean. Cette plate-forme cloud de pointe fournit un accès complet au tableau de bord du développeur et au panneau d’administration de l’ensemble du cluster avec un large éventail de fonctionnalités …

Je commence donc à lancer l’installation de Jelastic PaaS Lite Edition depuis le marketplace de DigitalOcean avec un Droplet CentOS 7 à 8Go de RAM et 4 vCPU:

Image for post
Image for post
Image for post
Image for post

Une fois lancée, j’arrive sur la page de configuration où je définis le nom de la plate-forme et le compte utilisateur de cette dernière :

Image for post
Image for post
Image for post
Image for post

L’installation terminée, il est possible d’accéder à deux dashboard, l’un pour l’administration et le second pour la partie développement :

Image for post
Image for post

Je me rends sur le dashboard d’administration :

Image for post
Image for post

et je vais ajouter deux droplets du même gabarit depuis le dashboard de DigitalOcean pour renforcer ma plate-forme :

Image for post
Image for post
Image for post
Image for post

Sur le dashboard d’administration de Jelastic, j’obtiens un script à exécuter sur les deux droplets :

Image for post
Image for post

que je lance :

Image for post
Image for post
Image for post
Image for post

Et après quelques minutes, les nouveaux noeuds de la plate-forme sont prêts :

Image for post
Image for post

Je peux donc lancer mon premier environnement depuis le marketplace interne proposé dans Jelastic PaaS Lite Edition :

Image for post
Image for post

avec un cluster Kubernetes muni de son Ingress Controller avec HAProxy :

Image for post
Image for post
Image for post
Image for post

Une fois le déploiement terminé, j’obtiens les identifiants pour le dashboard du cluster Kubernetes et ceux de Grafana et Prometheus :

Image for post
Image for post

Un déploiement test est déjà actif :

Image for post
Image for post

Ce cluster est en mode HA avec trois noeuds Master en plus des noeuds Worker :

Image for post
Image for post

On visualise sa topologie dans le dashboard :

Image for post
Image for post

Depuis la console WebShell, première requête au cluster avec Kubectl :

Image for post
Image for post

On peut également se connecter au cluster par l’intermédiaire de SSH Gate :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Le token fourni à la fin du déploiement du cluster Kubernetes par la console de Jelastic permet d’ouvrir le dashboard :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Lancement du sempiternel démonstrateur FC :

Image for post
Image for post
Image for post
Image for post

via ce manifeste YAML :

Image for post
Image for post
deployment.yml

Pour rendre public ce déploiement, j’utilise la présence de l’Ingress Controller avec HAProxy :

Image for post
Image for post

et ce manifeste (en ayant pris soin de supprimer auparavant le déploiement test en HelloWorld présent dans le cluster) :

Image for post
Image for post
ingress.yaml

Le démonstrateur FC est accessible :

Image for post
Image for post
Image for post
Image for post

J’ai lié ce cluster Kubernetes à la plate-forme Weave Cloud :

Image for post
Image for post
Image for post
Image for post

J’y obtiens des détails sur le déploiement du démonstrateur FC via Weave Scope :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Sans compter la présence de Grafana et Prometheus pour la partie monitoring notamment :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Second test de la plate-forme avec le déploiement simplifié cette fois-çi du même démonstrateur comprenant un noeud HAProxy et trois noeuds dôté du runtime Node JS :

Image for post
Image for post

Je lie ce déploiement au dépôt GitHub du démonstrateur FC directement depuis la console de Jelastic :

Image for post
Image for post

Le déploiement est alors automatique :

Image for post
Image for post
Image for post
Image for post

Je clone cet environnement pour cette fois-çi le lier au dépôt de l’ancien démonstrateur FC :

Image for post
Image for post

Le déploiement du démonstrateur est alors automatique là aussi :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Depuis le marketplace, installation d’un gestionnaire de traffic vers ces deux environnements :

Image for post
Image for post

30% du trafic va vers l’ancien démonstrateur et 70% vers le nouveau (dans une logique par exemple d’A/B Testing ou de déploiement Blue/Green) :

Image for post
Image for post
Image for post
Image for post

J’ai donc un endpoint global qui pointe avec cette répartition choisie sur les deux endpoints du démonstrateur FC :

Image for post
Image for post

En fonction des chargements de la page, j’obtiens l’une ou l’autre version du démonstrateur FC :

Image for post
Image for post

Visualisation des machines générées dans les droplets du cluster Jelastic dans la console d’administration :

Image for post
Image for post

Pour terminer, un test avec le lancement d’un environnement de stockage Objet avec MinIO :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Par l’intermédiaire du client MinIO, j’y pousse le contenu d’un site web statique dans un bucket préalablement créé :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

J’ai paramétré ce bucket en lecture seule :

Image for post
Image for post
Image for post
Image for post

Et j’ai donc accès à ce site web statique depuis l’endpoint public de MinIO :

Image for post
Image for post

Je vais utiliser Cloudflare Workers (vu dans un précédent article) pour exposer ce contenu statique dans MinIO :

Image for post
Image for post

Je definis ce Worker avec ce code JavaScript qui va de fait rediriger vers la page HTML de ce site web statique dans MinIO :

Image for post
Image for post
Image for post
Image for post

et la redirection est effective :

Image for post
Image for post
Image for post
Image for post

On retrouve la présence de Jelastic PaaS Lite Edition dans le marketplace de Google Cloud (pour y être installé en 15 minutes environ) :

Image for post
Image for post

Mais pour profiter de la plate-forme complète, il faut se tourner vers cette galaxie de providers dans Jelastic Cloud Union.

En effet, Jelastic fournit un PaaS multi-cloud basé sur la technologie des conteneurs pour les fournisseurs de services d’hébergement, les éditeurs de logiciels indépendants, les sociétés de télécommunications, les entreprises et les développeurs. La plateforme est disponible en tant que cloud public dans plus de 70 centres de données à travers le monde. Et comme on a pu le voir auparavant, Jelastic prend en charge les environnements Java, PHP, Ruby, Node.js, Python, Go, les conteneurs Docker personnalisés et les clusters Kubernetes …

Image for post
Image for post

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store