BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Nicolas Muller nous parle de CloudUnit, le premier PaaS Java Open Source

Nicolas Muller nous parle de CloudUnit, le premier PaaS Java Open Source

Nicolas Muller est le directeur technique de Treeptik, une jeune entreprise basée à Aix-en-Provence. A l'occasion du passage en mode open source de leur produit CloudUnit (un orchestrateur de containers pour applications Java), Nicolas nous parle de CloudUnit.

 

InfoQ FR : Pourquoi devrais-je utiliser CloudUnit au lieu d'Openshift ou CloudFoundry pour déployer mes applications Java ?

Nicolas : CloudUnit a été pensé par des développeurs et architectes Java pour répondre aux problèmes quotidiens du développement JEE. Il s'agit d'un PaaS spécialisé Java, à la différence de Openshift ou CloudFoundry qui sont polyglotes. CloudUnit est pensé pour être user-friendly grâce à une interface utilisateur très user-friendly, ce qui n'est pas forcément le point fort de ses concurrents.

InfoQ FR : Est-ce que CloudUnit est actuellement utilisé pour héberger vos applications clientes ? Si oui, quels sont les exemples ?

Nicolas : CloudUnit sert principalement aujourd'hui à favoriser l'innovation au sein de plusieurs éditeurs de logiciel : il n'y a pas d'applications directement accessibles sur le web. D'ailleurs, rien ne permettrait de distinguer une application hébergée sur CloudUnit que sur un baremetal. Heureusement car un PaaS ne devrait pas imposer quoi que ce soit comme contrainte à l'application qu'il héberge. Dans des SSII, il sert par exemple à préparer des journées de formation en initiant des environnements pour la journée. Environnements qui seront supprimés et recréés le lendemain si besoin.

InfoQ FR : De quel type d'architecture se rapproche CloudUnit ? Un framework comme Kubernetes ou bien une plateforme comme Openshift ? J'ai lu la FAQ et j'ai vu que CloudUnit était bâti sur Docker.

Nicolas : CloudUnit n'utilise pas de framework type kubernetes ou Weave car nous croyons beaucoup en la plateforme Docker (compose, machine et swarm). Celle-ci peut ne pas fournir toutes les fonctionnalités à ce jour mais nous profiterons ainsi des améliorations à venir. CloudUnit est entièrement bâti sur Docker depuis la version 0.3 de ce dernier. C'est dire à quel point nous croyons en Docker.

InfoQ FR : Si CloudUnit est complémentaire de Docker, il n'est pas réellement un framework à lui tout seul, mais une façon modulaire de déployer vos applications. Est-ce bien cela ?

Nicolas : Oui c'est bien cela. CloudUnit est un orchestrateur de containers pour applications Java. C'est un outil pour déployer vos applications Java de façon modulaire à travers un Shell ou bien une interface web. Vous pouvez ensuite gérer tout le cycle de vie de votre application : arrêter, démarrer, sauvegarder, restaurer....

InfoQ FR : CloudUnit n'est pas un framework. Êtes-vous d'accord ou non ? Pourriez-vous nous expliquer pourquoi.

Nicolas : CloudUnit est un orchestrateur de conteneur exposé sous la forme d'une API. Actuellement, une interface web écrite en AngularJS + un Shell (Spring) permettent de piloter cette API. Il faut voir CloudUnit comme une API REST. Faisons une analogie avec Docker : le docker-client pilote l'API Docker que le service Docker Engine expose. Nous avons fait le choix de cette architecture que nous trouvions séduisante. Cette API REST sera bientôt exposée avec Swagger pour que chacun puisse l'utiliser comme il l'entend. Plus tard, nous prévoyons également de mettre à disposition des librairies clientes dans différents langages : Java, Ruby, Python...

InfoQ FR : Comment CloudUnit interagit avec Jenkins ? En quoi s'incrit-il dans le cycle de développement et déploiement qui existe déjà dans mon entreprise ?

Nicolas : Comme dit précédemment, CloudUnit peut être piloté par le son shell. Ainsi, il s'intègre parfaitement dans vos habitudes de travail avec Jenkins. Vous pourriez aussi bien provisionner des environnements Tomcat/Mysql/Redis avec CloudUnit en lançant un script shell depuis Jenkins, que déployer dans ces tomcats en utilisant leur console manager avec vos tâches maven.

InfoQ FR : Pourriez-vous nous expliquer l'interaction de CloudUnit avec le développement d'applications JEE. Comment cette technologie côté serveur est-elle compatible avec CloudUnit ?

Nicolas : CloudUnit propose le support des différentes versions de Tomcat 6/7/8, ainsi que jBoss 7/8. Vous pouvez ainsi déployer tout projet JEE (WAR / EAR) dans ces serveurs.

InfoQ FR : En quoi CloudUnit est différent de CloudFoundry ou Openshift ?

Nicolas : CloudUnit a une vision Application des projets : l'utilisateur commence par créer une application en choisissant un serveur (tomcat/jboss), puis il peut ajouter des modules (Redis, PostGre, Mysql, Elasticsearch, SoLR...) à son application. A la différence de CloudFoundry et Openshift, CloudUnit met l'accent sur la facilité de créer et configurer des environnements à la seconde. Changer la taille JVM ou rajouter une version d'environnement (profile spring par exemple) est une action à la portée de tous. CloudUnit est surtout pensé comme un produit fini qui s'intègre dans votre SI : il embarque son propre reverse-proxy pour la redirection des noms de domaine. Vous n'avez besoin que d'une machine (baremetal ou VM) sous Debian pour l'installer. La procédure d'installation embarque aussi bien Docker que l'installation de toutes les dépendances. Nous n'avons pas oublié les administrateurs pour le côté user-friendly. Tous les produits malheureusement ne partagent pas cette vision de l'installation et de l'administration.

InfoQ FR : Qu'est-ce qui vous a décidé à rendre CloudUnit open source ? Sous quelle licence ?

Nicolas : Nous croyons beaucoup aux valeurs de l'opensource. Depuis le début du projet, c'est une question que nous nous posions. Désormais, nous approchons d'une version commerciale et nous pensons qu'il est le moment d'ouvrir la source. Plus tard, ce sera difficile. Ainsi le projet se déclinera en deux versions : une opensource probablement sous licence GPL (rien n'est encore fixé) et une version commerciale pour les entreprises qui ne souhaitent pas redistribuer leur modification et aussi disposer d'un support technique. Le projet sera disponible courant octobre sur le github de Treeptik.

InfoQ FR : D'où le projet est-il dirigé ?

Nicolas : Le projet est dirigé depuis Treeptik, une jeune entreprise innovante sur Java/Docker basée à Aix-en-Provence.

InfoQ FR : Merci Nicolas, et à bientôt.

Nicolas : Merci beaucoup, à bientôt.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT