7 meilleures plates-formes cloud open source pour l'entreprise
Créez votre propre infrastructure cloud et réalisez des économies significatives
La gestion de l'espace serveur, des environnements de développement, de la sécurité, des piles logicielles, des mises à jour, ainsi que la maintenance matérielle, engendre des coûts opérationnels considérables. Les entreprises qui développent et déploient des applications consacrent une part importante de leurs ressources à la maintenance de la plateforme, ressources qui pourraient être affectées au développement logiciel.
C'est dans ce contexte que l'intérêt pour les solutions de plateforme cloud a émergé. Ces solutions s'appuient sur un modèle de cloud computing pour fournir aux développeurs tout le nécessaire, allant des environnements de développement hébergés aux outils de base de données, en passant par la gestion d'applications. Les développeurs disposent ainsi de toutes les ressources requises pour créer, déployer et lancer des applications. Pour les entreprises, la plateforme cloud constitue une base évolutive pour le déploiement rapide de nouvelles applications. De plus, grâce à un modèle de tarification basé sur la croissance, il n'est plus nécessaire d'investir massivement dans des infrastructures sur site.
Pourquoi opter pour l'open source ?
Après avoir souligné les avantages du cloud par rapport aux plateformes traditionnelles, il convient de se demander pourquoi une plateforme cloud open source serait préférable à une plateforme propriétaire. La réponse la plus évidente concerne le coût : les licences des solutions propriétaires sont souvent plus chères. Un autre avantage majeur est la flexibilité et la liberté de choisir parmi un large éventail de frameworks, de clouds et de services.
Les plateformes propriétaires, quant à elles, peuvent vous lier à leurs outils et services spécifiques. Elles offrent certains avantages, comme le respect des SLA (accords de niveau de service) et une simplification des tests et de l'intégration, mais ces avantages ne surpassent généralement pas ceux de l'open source.
Voici une sélection des plateformes cloud open source pour les entreprises qui dominent le marché actuel.
Cloud Foundry
Initialement développé par VMware (maintenant propriété de Pivotal Software), Cloud Foundry se distingue par sa disponibilité en tant qu'application logicielle open source et autonome, indépendante des fournisseurs de cloud. Il peut être déployé sur VMware vSphere ou d'autres infrastructures cloud, comme HP Helion, Azure ou AWS. Il est également possible de l'héberger sur votre propre serveur OpenStack.
Grâce à l'utilisation de buildpacks, Cloud Foundry facilite la prise en charge de l'exécution et du framework. À chaque déploiement d'une application, le runtime de Cloud Foundry choisit le buildpack le plus approprié. Ce dernier se charge de compiler l'application et de la préparer pour le lancement.
Cloud Foundry est conçu pour accélérer le développement et le déploiement d'applications grâce à une architecture hautement évolutive et des workflows compatibles DevOps. Il supporte entre autres Python, Ruby, PHP, Java et Go. Pour une intégration optimale avec Cloud Foundry, il est recommandé que votre projet respecte la méthodologie Twelve-Factor App, spécifiquement conçue pour le développement d'applications logicielles en tant que service (SaaS).
Udemy propose une formation intéressante sur le développement pour le cloud avec Cloud Foundry.
WSO2
Si votre activité est axée sur l'architecture orientée services (SOA), vous gérez probablement de nombreuses API internes et externes. C'est dans ce contexte que WSO2 excelle, grâce à son gestionnaire d'API capable de gérer l'intégralité du cycle de vie de l'API. WSO2 assure la conformité avec la plupart des exigences de vos clients, notamment la gestion des versions, la documentation API et le déchargement SSL.
WSO2 s'appuie sur un concept de "magasin" où les développeurs peuvent découvrir, tester et évaluer les API. Le déploiement est simple et direct, avec de nombreuses options pour contrôler le flux de l'API. Il offre également une fonction de récupération automatique en cas de suspension d'un point final. Toutes ces fonctionnalités visent à réduire le délai de mise sur le marché, à simplifier la gestion des coûts et à améliorer l'agilité des processus métier.
Un atout majeur de WSO2 API Manager est son intégration facile avec WSO2 Identity Server, une solution de gestion des identités et des accès (IAM) pilotée par API. Cette intégration offre une plateforme conviviale pour l'authentification dans les environnements cloud.
Cloudify
Cloudify est un framework d'orchestration conçu pour modéliser des applications et des services tout en automatisant leur cycle de vie. Il permet de déployer sur n'importe quel environnement cloud ou centre de données et d'assurer une maintenance continue. Il propose également des outils pour surveiller tous les aspects des applications déployées, détecter les conditions de défaillance et les résoudre, manuellement ou automatiquement.

L'une des fonctionnalités les plus remarquables de Cloudify est la modélisation de plans basée sur TOSCA. Cette innovation permet aux développeurs d'utiliser YAML pour créer des plans de topologies d'application. YAML, un langage de sérialisation de données lisible par l'homme, est utilisé pour rédiger des définitions basées sur la spécification TOSCA, qui offre aux développeurs un moyen standardisé de décrire les interconnexions entre les applications, les systèmes et les composants de l'infrastructure cloud.
L'orchestration cloud de Cloudify fournit une base solide pour la gouvernance et la sécurité informatiques, permettant aux utilisateurs d'appliquer des restrictions d'accès avec différents rôles et niveaux d'autorisation. Pour communiquer avec des services externes, tels que les conteneurs Kubernetes, les services cloud (AWS, Azure, vSphere, OpenStack) et les outils de gestion de configuration (Puppet, Ansible, Chef), Cloudify utilise son ensemble de plugins officiels, tandis que de nombreux autres services sont pris en charge par des plugins génériques existants.
OpenShift
OpenShift est une plateforme basée sur Kubernetes, avec un programme d'installation flexible et rapide et un support API étendu, permettant aux développeurs d'étendre la plateforme en fonction de leurs besoins. La sécurité est au cœur de sa conception, comme le montre l'exemple suivant : les conteneurs sont censés s'exécuter en tant qu'utilisateurs non-root, et OpenShift exige un remplacement explicite lorsque ce n'est pas le cas.
Son utilisation de Kubernetes nécessite un nombre important de serveurs, et une certaine courbe d'apprentissage est nécessaire pour le maîtriser. C'est pourquoi cette plateforme n'est pas idéale pour les petits déploiements, à moins qu'ils ne puissent évoluer vers un déploiement plus important dans un avenir proche.

Les utilisateurs d'OpenShift soulignent la rapidité de ses procédures d'installation et de configuration, ainsi que la facilité de maintenance des modules et des engrenages. Un autre avantage est la disponibilité de son propre référentiel Git. Cependant, la difficulté à lire et à interpréter les logs est un point négatif. En particulier, lorsqu'un échec se produit lors du téléchargement d'un projet, il peut être difficile de comprendre l'origine du problème.
Apprendre OpenShift est accessible.
Tsuru
Lancé par Rede Globo, le deuxième plus grand réseau de télévision commerciale au monde, Tsuru est un produit PaaS (Platform as a Service) basé sur Docker, capable d'orchestrer et d'exécuter des applications dans un environnement de production. Il s'agit d'une plateforme multi-fournisseur open source, développée par Globo.com, prenant en charge les sites avec des millions d'utilisateurs.

Les utilisateurs de Tsuru affirment qu'il améliore considérablement le délai de mise sur le marché sans compromettre la simplicité, la haute disponibilité, la sécurité ou la stabilité. Il peut être exécuté dans une variété d'infrastructures cloud, qu'elles soient publiques ou privées, à condition qu'elles soient prises en charge par une machine Docker. Il prend également en charge presque tous les langages de programmation disponibles, ce qui laisse aux développeurs la liberté de choisir en fonction de leurs préférences.
Avec Tsuru, vous pouvez utiliser différents magasins de données, notamment des bases de données SQL ou NoSQL, ou des alternatives en mémoire, comme Memcached ou Redis. Il vous suffit de sélectionner celle de votre choix et de la connecter à votre application. Pour gérer l'application, vous pouvez choisir d'utiliser la ligne de commande ou une interface web et déployer ultérieurement via Git. L'infrastructure de Tsuru se chargera de tous les détails.
Stackato
Stackato est un produit PaaS polyglotte basé sur Cloud Foundry et Docker, qui s'exécute au-dessus de votre infrastructure cloud et sert de plateforme de lancement pour vos applications. Les utilisateurs de Stackato affirment qu'il fournit une plateforme d'application agile et robuste, contribuant à améliorer la productivité des administrateurs et des développeurs cloud. Il convient aux déploiements cloud d'entreprise, combinant la flexibilité d'accès direct à la machine virtuelle dans l'infrastructure cloud avec la configuration automatisée fournie par un PaaS complet. Les infrastructures cloud prises en charge incluent HP Cloud Services, Citrix XenServer, AWS, OpenStack, VMware, entre autres.

Dans Stackato, chaque application possède son propre conteneur Linux (LXC), ce qui assure un partage efficace et sécurisé des ressources. Sa gamme de services comprend : Helion Control Plane, que Stackato utilise pour communiquer avec le cloud sous-jacent et gérer les cycles de vie des services ; Helion Service Manager, un référentiel de services complémentaires disponibles pour les applications ; Helion Cloud Foundry, un environnement d'exécution élastique conçu pour simplifier l'hébergement et le développement d'applications ; Helion Code Engine, un service de livraison continue intégré aux référentiels Git, privés ou publics ; et Helion Stackato Console, une interface web pour gérer toutes les fonctionnalités de Helion Cloud.
Alibaba
Bien qu'il soit rarement mentionné lorsqu'on parle de plateformes cloud open source et de PaaS, le Cloud d'Alibaba a connu une croissance fulgurante, s'emparant déjà de 50 % du marché chinois du cloud public et cherchant activement à servir les marchés en dehors de la Chine. Par exemple, ils commencent à proposer un support de facturation en dollars américains dans 168 pays et à concevoir des services spécialement adaptés aux marchés étrangers.

Les services de plateforme cloud inclus dans l'offre d'Alibaba englobent de nombreuses fonctionnalités gratuites, notamment les services de conteneurs pour Docker et Kubernetes, Container Registry, Auto Scaling et DataWorks, un environnement sécurisé pour le développement de données hors ligne. Ses services sont bien documentés et accompagnés de tout le nécessaire pour commencer immédiatement la migration de vos applications vers le cloud, ainsi que de nombreux tutoriels vidéo. En quelques étapes simples et sans investir un centime, Alibaba vous invite à commencer à construire en un rien de temps.
En conclusion...
Heureusement pour tous les développeurs, l'open source domine le monde du cloud. Il y a quelques années, la concurrence entre les technologies de conteneurs (Docker, Kubernetes, Mesos, Nomad, ECS, pour n'en citer que quelques-unes) menaçait de diviser le marché en silos, générant des risques considérables à chaque choix de plateforme. Bien qu'il existe aujourd'hui davantage de plateformes parmi lesquelles choisir, les différences entre les options open source actuelles ne concernent que des détails : différents systèmes de coûts, différents outils de gestion, différentes approches de la sécurité. En d'autres termes, si vous choisissez une plateforme cloud open source aujourd'hui et que vous n'êtes pas satisfait, vous pouvez en choisir une autre demain, sans que les coûts ne soient un obstacle.
Les informations fournies ici devraient vous aider à choisir la plateforme qui correspond le mieux à vos besoins et vous permettre de vous libérer des contraintes liées à la capacité des serveurs, aux middlewares, aux frameworks, aux machines virtuelles, aux magasins de données, etc. Une fois libéré de ces préoccupations, vous pourrez concentrer toutes vos ressources et toute votre attention sur l'essentiel : livrer votre application à vos utilisateurs le plus rapidement possible et les satisfaire pleinement.
Vous recherchez des niveaux gratuits ou des crédits sur les plateformes cloud ? Consultez cette liste.