PaaS Open Source : les principales difficultés rencontrées
Le Paas Open Source peut certes faciliter le développement et le déploiement d’applications Cloud. Mais pose aussi de problèmes aux développeurs et aux entreprises. Six sont détaillés dans cet article.
Le développement d’applications pour le Cloud n’est pas chose aisée. Les développeurs doivent concevoir minutieusement leurs applications, les exécuter et les rendre « dimensionnables » à partir de ressources Cloud. A cela s’ajoute le fait que les processus de développement d’applications Cloud semblent suivre une tendance plus dynamique que ceux des apps traditionnelles, comme les principes de type DevOps.
Certains développeurs se tournent vers les Paas Open Source pour mieux adopter les cycles rapides de développements et de déploiements d’applications Cloud. Mais ces technologies peuvent en revanche créer d’autres problèmes pour les développeurs et les entreprises. Cet article en détaille six et livre les différentes étapes à passer pour les contourner
Le soutien des équipes dirigeantes est essentiel
L’engagement et l’implication des développeurs est certes clé dans la réussite des Paas Open Source. Mais il est encore plus essentiel d’avoir l’aval des équipes dirigeantes et des départements métiers. L’entreprise doit partager cette vision des principes DevOps et du développement d’applications Cloud, ainsi que comprendre les gains - et les risques – qui pourraient justifier le passage au Paas Open Source.
Les équipes métiers doivent également revoir la structure des équipes pour favoriser la mise en place de la mécanique DevOps et valider, si nécessaire, l’ajout de nouvelles ressources. Les responsables métiers doivent également s’impliquer dans la définition des plannings de développement et justifier les coûts d’intégration et de support.
Un engagement aléatoire des métiers est risqué : il contribue à s’éloigner des objectifs liés au développement. Et la dernière chose à laquelle vous voulez assister est de déployer une plateforme de développement et six mois plus tard, voir les métiers prendre une autre direction.
Certains Paas sont lents à évoluer
Le Cloud est encore relativement immature. De ce fait, le périmètre des fonctions et des services évolue en permanence. Les plateformes de développement Cloud vont ainsi évoluer à ce rythme. Toutefois, avec le poids du développement communautaire qu’implique l’Open Source, il n’existe aucune garantie que ces nouvelles fonctions arriveront assez rapidement pour répondre à vos exigences en matière de développement.
Même si globalement, les Paas du marché offrent un cœur de fonctions identiques, la rapidité avec laquelle ces fonctions sont déployées peut varier. Par exemple, Cloud Foundry, chez Pivotal, est reconnu pour son support des langages et ses capacités d’intégration à d’autres outils Open Source comme Chef, Puppet, Jenkins et les bases NoSQL. Toutefois, le Paas ne propose qu’un support peu mature des conteneurs, propose une interface utilisateur en lignes de commande, ne supporte qu’un nombre limité de modèles de déploiement et peut paraître un peu léger dans la mesure de performances des applications.
Il s’agit aussi de surveiller la feuille de route d’une plateforme et les demandes de mise à jour (pull request) avec attention. Les plateformes lentes à évoluer ou dont les cycles de développements sont fluctuants peuvent au final poser des problèmes à vos équipes de développement.
Rechercher de la documentation claire pour les projets Paas
Les plateformes Cloud de développement Open Source reposent sur des frameworks complexes et exigeants qui demandent une documentation très détaillée. Au fur et à mesure que ces plateformes évoluent, leur documentation doit être mise à jour, et chaque document proposé une information complète sur les fonctions.
Les entreprises, qui ont bâti un modèle commercial lié au support de projet Open Source, comme Pivotal pour Cloud Foundry, Red Hat pour OpenShift ou Salesforce avec Heroku, contribuent à faciliter et établir des priorités dans les mises à jour. Par exemple, Cloud Foundry propose une page Web compilant une liste de liens pour détailler son interface en lignes de commande, les processus d’intégration, de déploiement, d’administration, de débugging et de création de service. Red Hat fait de même pour OpenShift.
Mais au final, rien ne garantit que les modifications et les mises à jour seront documentées de façon claire et au même rythme que leur disponibilité dans la plateforme. Cela peut conduire à de couteuse erreurs et de la confusion.
Avoir le support de la communauté Open Source
Evaluer, déployer, intégrer et mettre en place un projet qui implique un Paas Open Source peut être aussi déroutant. Il y a forcément des obstacles majeurs en matière d’intégration, de performances et d’automatisation qui sont difficiles à appréhender par un spécialiste en interne.
Généralement, la communauté Open Source supporte les plateformes Open Source. Mais, si la communauté permet de cibler les problèmes inhabituels et de niche, il n’existe aucune garantie qu’au final, votre solution sera fonctionnelle. Des entreprises, comme Pivotal et Red Hat, associent des offres de supports à des forums, des wikis et des bases de connaissances mais encore une fois, aucune promesse de résolution rapide n’est faite.
Dans certains cas, une entreprise peut choisir une version commerciale d’une plateforme Open Source pour compléter l’extensibilité du code Open Source avec une offre de support technique pour la production. Par exemple, Pivotal propose un support Premium et développeur pour sa version commerciale de Cloud Foundry. Toutefois, il convient de considérer les compromis et les coûts de cette approche.
Evaluer les coûts du logiciel ouvert
Les solutions Open Source ne coûtent rien à proprement parler à l’achat. Mais ne sont pas gratuits sur le long terme. La plupart des entreprises sont certes préparées aux coûts d’une offre de support entreprise. Mais il en existe d’autres moins évidents à prendre en compte.
Les serveurs, le stockage, les tests et le PoC, l’intégration avec les outils tiers sont des vecteurs de coûts additionnels. Les entreprises doivent aussi prendre en compte les coûts liés à la maintenance, la gestion et le reporting.
Les Paas Open Source peuvent rationaliser le développement d’applications Cloud tout en minimisant les coûts d’acquisition. Toutefois, les plateformes restent complexes et nécessitent des compétences en matière de déploiement, d’intégration et d’utilisation. Il convient donc de prendre son temps pour choisir le bon outil qui correspondra au mieux à vos besoins.