PaaS open source : comparaison entre OpenShift et Cloud Foundry
OpenShift et Cloud Foundry sont deux PaaS open source très appréciées. Voici comment choisir pour satisfaire vos besoins en matière de développement.
Une fois les outils de développement Cloud open source intégrés, il est difficile d'en changer. Les développeurs et l'équipe IT doivent se sentir à l'aise avec l'outil qu'ils utilisent, y compris sur le long terme. Mais avant d'arriver à ce résultat, ils doivent longuement chercher parmi les outils open source et réaliser de nombreux tests d'évaluation.
Si les plateformes de développement Cloud atteignent des objectifs similaires, vous devrez toutefois, ici encore, choisir celle qui répond précisément à vos propres besoins métier et de développement. Deux outils de plateforme en tant que service (PaaS) open source sont très utilisés : OpenShift de Red Hat., et Cloud Foundry créé par Pivotal. Pour savoir lequel est adapté à vos besoins, vous devez évaluer trois caractéristiques essentielles : les langages de programmation pris en charge, l'architecture et l'intégration aux outils tiers.
OpenShift et Cloud Foundry : caractéristiques et prise en charge des langages
Vous devez choisir un PaaS open source qui saura accompagner vos préférences de langage actuelles et futures. OpenShift utilise des modules, des « cartouches », qui prennent en charge différentes versions des langages Java, PHP, Python, Perl et Node.js, ainsi que des langages de base de données destinés à MySQL, MongoDB et PostgreSQL.
En outre, OpenShift accepte des outils tels que Jenkins et Cron, et des services comme la suite Oracle Business Process Management et le système de gestion de règles métier Red Hat JBoss Business Rules Management System.
De son côté, Cloud Foundry prend en charge les langages sous la forme de « buildpacks ». Il s'agit de scripts permettant de compiler des applications pour la plateforme. Ces buildpacks incluent notamment les langages Java, Node.js, Ruby, Go, PHP et Python. Les utilisateurs peuvent également choisir d'écrire leurs propres buildpacks.
Vous devez ensuite tenir compte des fonctions et des capacités dont vous avez besoin dans le cadre d'outil PaaS open source. N'oubliez pas qu'il existe des versions open source et commerciales de chaque outil, de même que des variantes hébergées et locales.
Ainsi, Red Hat propose OpenShift Online et OpenShift Enterprise, version hébergée dans le datacenter de l'utilisateur. Les deux versions proposent une plateforme de développement en libre-service, la prise en charge multilangage, l'automatisation, la collaboration, la portabilité des conteneurs et la gestion de différentes infrastructures Cloud.
Cloud Foundry présente des fonctions destinées à la sécurité, la surveillance et la gestion, la portabilité des conteneurs, la prise en charge du Cloud hybride, les mises à jour automatiques, ainsi que l'intégration des services pour les bases de données, l'analytique et d'autres logiciels intermédiaires.
L'architecture et l'intégration sont également essentielles
Les offres PaaS open source comprennent généralement plusieurs modules ou composants, ce qui doit pousser les décideurs IT à étudier l'architecture de chaque plateforme.
Cloud Foundry, par exemple, inclut un routeur, un serveur d'authentification, un service de gestion du cycle de vie applicatif, un moteur d'exécution d'application, des brokers de services, une messagerie et des éléments de mesure et de journalisation.
OpenShift utilise une architecture radicalement différente. Des nœuds individuels portent le code et les services applicatifs, et un ensemble de brokers individuels gèrent les nœuds et mettent les services à disposition. L'architecture d'OpenShift inclut en outre un système de messagerie qui lie les nœuds et les courtiers, et utilise des API RESTful pour s'intégrer aux outils externes.
Les plateformes de développement open source doivent souvent s'intégrer à d'autres outils pour proposer un jeu complet de fonctionnalités. Cloud Foundry, par exemple, s'intègre aux plateformes et aux outils suivants :
- Environnement d’exécution Diego : propose une mémoire partagée, la planification de la charge de travail et différents formats de conteneur.
- Lattice : outil de Pivotal permettant d'exécuter des charges de travail en conteneur sur un cluster Cloud. Lattice propose des fonctions de routeur, d'intégrité, d'exécution, de stockage et de journalisation pour Cloud Foundry.
- Bosh : outil open source pour le contrôle de versions, et le déploiement et la gestion du cycle de vie des services Cloud.
De son côté, OpenShift s'intègre et s'adosse à plusieurs outils, dont les outils client RHC pour créer, déployer et gérer les applications, et à JBoss Developer Studio pour créer des applications fondées sur le Web.
En plus des outils open source mentionnés plus haut, les entreprises doivent également chercher du côté des outils de développement de Cloud public d'Amazon Web Services, de Google Cloud et de Microsoft Azure. Mais pour évaluer une plateforme de développement open source quelle qu'elle soit, il faut absolument savoir reconnaître les outils qui la composent, surtout s'il s'agit d'outils de produits tiers.