OpenShift

C'est vieux (bon, pas tant que ça, mais aujourd'hui, en développement, 1 an et demi ça me semble une éternité), on en a pas trop entendu parler (enfin, du moins moi), et je n'ai pas fini de le tester, mais le bougre semble prometteur pour bien des raisons.

Déjà, OpenShift, qu'est ce que c'est ?

C'est le service de Cloud (Platform as a Service) de Red Hat, qui propose une offre gratuite et open-source. Philosophiquement, c'est donc raccord avec mes convictions (et mes compétences, puisque si les sources sont disponibles, je n'ai pas à déployer l'infrastructure, c'est Red Hat qui s'en charge), et ça me permet de tester de l'applicatif serveur sans devoir payer ou vendre mon âme.

OpenShift permet donc d'installer tout un éco-système simplement, sans prise de tête. En 3 clics, on a un serveur LAMP à disposition, un Drupal 7, un Wordpress près à être utilisé. Bien entendu, le gratuit à ses limites et il ne faut pas s'attendre à bénéficier gratuitement d'une offre capable de rivaliser avec un hébergement professionnel sans débourser le moindre centime d'euro. Même si les limites annoncée ne sont pas risibles. Dans l'exemple donné par Red Hat, l'offre gratuite permet tout de même avec un Drupal 7  de tenir une charge de 15 pages vues à la seconde et 50.000 visiteurs par mois.

Les applications déployées sont

Les engrenages

Les limites d'OpenShift, dans le sens limites de ressources allouées, se retrouvent comptabilisées par une seule unité de mesure, les engrenages (Gears). Un engrenage c'est un ensemble de ressources (mémoire vive, stockage...etc...) dont nous disposons pour faire tourner les applications.

Dans la version gracieuse, nous avons trois petits engrenages à notre disposition, chacun nous octroyant 512Mo de mémoire vive et 1 Go de stockage. Il y a donc de quoi faire !

Que peux-t-on déployer sur OpenShift ?

Plein de choses ! Il y a pas mal de langages populaires qui peuvent être déployés en deux ou trois clics, parmi lesquels du PHP, du Python, du Ruby, du Perl, du Node.js mais aussi du Java ou du Go. Il y a également des framework ou CMS disponibles avec leurs dépendances (regroupés sous le terme de cardridge : Installer une cardridge installera par exemple Drupal, PHP et Mysql, tout déjà configuré, c'est à dire les tables et le fichier de configuration créés). Là encore, c'est deux où trois clics.

Notons également la possibilité de déployer un serveur Jenkins. Je connais pas, mais je vois souvent le nom passer.

C'est bien beau, mais je suis développeur, pas bloggueur, comment j'accède aux fichiers pour les modifier ?

Comme sur n'importe quel serveur, mais en mieux. On peut donc y accéder via un client SFTP, mais également en ssh ou bien via Git par exemple, puisqu'un dépôt est créé avec chaque nouvelle application. Il y a également une console accessible via une interface web, ce qui est pratique quand on est pas sur un vrai système d'exploitation (troll assumé).

Ou Jenkins. Même si je ne connais toujours pas. D'après la documentation, l'avantage de Jenkins, c'est qu'il tourne sur son propre engrenage et qu'il ne prend donc pas les ressources qui sont allouées à un LAMP par exemple.

En conclusion ?

En conclusion je fais ce qu'il ne faut pas faire : j'écris un billet sans beaucoup de recul. Mais ça me permet de construire ma découverte de l'outil. J'espère revenir bientôt avec des exemples de déploiement, voire des tutoriaux, mais j'espère avoir pu montrer les possibilités de cet outil dont on entend, je trouve, pas beaucoup parler. Les possibilités sont nombreuses : Développement, tests d'applications ou de configuration, débogage... Pourquoi même, ne pas en profiter pour voir si celà peut permettre de mettre en place des infrastructures à bas coût pour de petits projets personnels ou professionnels !

Promis je reviens bientôt pour quelque chose de plus concret !