Construisez votre propre nuage et économisez des millions !
Il y a tellement de choses dont il faut s’occuper, comme l’espace serveur, les environnements de développement, la sécurité, les piles logicielles, les mises à jour logicielles et la maintenance du matériel, que l’ensemble des coûts de maintenance de la plateforme tend à être écrasant.
Les entreprises qui développent et déploient des applications doivent consacrer une grande partie de leurs ressources au fonctionnement de la plateforme – des ressources qui pourraient autrement être utilisées pour le développement de logiciels.
C’est pourquoi le besoin de solutions de plateforme en nuage est apparu. Ces solutions utilisent un modèle d’informatique en nuage pour fournir tout ce dont les développeurs ont besoin pour faire leur travail, depuis les environnements de développement hébergés et les outils de base de données jusqu’aux capacités complètes de gestion des applications.
Les développeurs qui travaillent au sein d’une plateforme en nuage ont accès à toutes les ressources dont ils ont besoin pour créer, déployer et lancer des applications logicielles. Pour les entreprises, la plateforme en nuage peut constituer une base évolutive pour les nouvelles applications qui doivent être livrées à court terme. Avec un modèle de paiement au fur et à mesure de la croissance, il n’est pas nécessaire d’investir à long terme dans des plateformes sur site.
Pourquoi l’Open Source ?
Maintenant que nous avons énoncé les avantages de l’informatique en nuage par rapport aux plateformes traditionnelles sur site, la question suivante est de savoir pourquoi une plateforme en nuage à code source ouvert est une meilleure option qu’une plateforme en nuage propriétaire.
La réponse la plus évidente est le coût : les licences des solutions propriétaires sont toujours plus chères. Un autre avantage important est la flexibilité et la liberté de choisir parmi une grande variété de cadres, de nuages et de services.
Les plateformes propriétaires, quant à elles, peuvent vous lier aux outils et aux services qu’elles possèdent. En échange, elles offrent certains avantages, tels que le respect des accords de niveau de service (SLA) et la suppression d’obstacles tels que les tests et l’intégration, mais ces avantages ne pèsent pas lourd face aux bénéfices de l’ouverture.
Vous trouverez ci-dessous une sélection des plateformes cloud à code source ouvert pour les entreprises qui dominent le marché actuel.
Cloud Foundry
Développé à l’origine par VMware (aujourd’hui propriété de Pivotal Software), Cloud Foundry se distingue par le fait qu’il est disponible en tant qu’application logicielle libre et autonome, ce qui le rend indépendant des fournisseurs d’informatique en nuage. Il peut être déployé sur VMware vSphere ou sur d’autres infrastructures en nuage, telles que HP Helion, Azure ou AWS. Vous pouvez également choisir de l’héberger vous-même sur votre serveur OpenStack.
Grâce à l’utilisation de buildpacks, Cloud Foundry facilite la prise en charge du runtime et du framework. Chaque fois que vous lancez une application, le Cloud Foundry Application Runtime choisit le buildpack qui lui convient le mieux. Ensuite, le buildpack se charge de compiler l’application et de la préparer au lancement.
Cloud Foundry est conçu pour offrir un développement et un déploiement rapides des applications grâce à une architecture hautement évolutive et à des flux de travail adaptés à DevOps. Il prend en charge les langages suivants : Python, Ruby, PHP, Java et Go, entre autres.
Cependant, pour s’adapter correctement à Cloud Foundry, il est recommandé que votre projet suive la norme d’application Twelve-Factor : une méthodologie spécialement conçue pour développer des applications SaaS (Software-as-a-Service) optimales.
Udemy propose un cours intéressant sur le développement pour le nuage avec Cloud Foundry.
WSO2
Si vous travaillez intensément sur la SOA, vous devez certainement traiter avec un grand nombre d’API internes et externes. C’est dans ce scénario que WSO2 brille, grâce à son API Manager, qui est capable de gérer le cycle de vie complet de l’API. WSO2 assure la conformité avec la plupart des exigences que vos clients pourraient mettre en avant, y compris le versioning, la documentation de l’API et le délestage SSL.
WSO2 utilise un concept de magasin dans lequel les développeurs peuvent trouver, essayer et évaluer les API. Le déploiement est simple et direct, offrant 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 d’extrémité.
Toutes ces qualités visent à réduire les délais de mise sur le marché, à simplifier la gestion des coûts et, globalement, à améliorer l’agilité des processus d’entreprise.
L’un des grands avantages de WSO2 API Manager est sa facilité d’intégration avec WSO2 Identity Server, une solution IAM (Identity and access manager) basée sur les API. Cette intégration offre une plate-forme conviviale pour l’authentification dans les environnements en nuage.
Cloudify
Cloudify est un cadre d’orchestration conçu pour modéliser les applications et les services tout en automatisant leur cycle de vie.
Cela inclut la capacité de déployer sur n’importe quel environnement cloud ou centre de données et d’effectuer une maintenance continue. Il offre é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 des topologies de l’application.
YAML est un langage de sérialisation de données lisible par l’homme, utilisé pour écrire des définitions basées sur la spécification TOSCA, qui donne aux développeurs un moyen standardisé de décrire les interconnexions entre les applications, les systèmes et les composants de l’infrastructure en nuage.
L’orchestration cloud de Cloudify fournit une base solide pour la gouvernance et la sécurité informatiques, en 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, comme les conteneurs Kubernetes, les services cloud (AWS, Azure, vSphere, OpenStack) et les outils de gestion de la 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 installateur flexible et très rapide et un support API étendu, qui permet aux développeurs d’étendre la plateforme en fonction de leurs besoins.
Elle est construite avec la sécurité à l’esprit, ce qui est illustré par un exemple : les conteneurs sont censés fonctionner en tant qu’utilisateurs non root, et lorsque ce n’est pas le cas, OpenShift exige une dérogation explicite pour exécuter le conteneur.
Son utilisation de Kubernetes nécessite un nombre considérable de serveurs, et il faut une certaine courbe d’apprentissage pour le maîtriser. C’est pourquoi cette plateforme n’est pas bien adaptée aux petits déploiements, à moins qu’ils ne se transforment en déploiements plus importants dans un avenir proche.
Les utilisateurs d’OpenShift soulignent la rapidité des procédures d’installation et de configuration, ainsi que la facilité de maintenance des modules et des engins. Un autre avantage est le fait d’avoir son propre repo Git. Ce qu’ils n’aiment pas trop, c’est la difficulté de lire et d’interpréter les logs. En particulier, lorsqu’il y a un échec lors du téléchargement d’un projet, il est difficile de comprendre où se situe le problème.
Tsuru
Rede Globo, le deuxième réseau de télévision commerciale au monde, a lancé Tsuru, un produit PaaS (plateforme en tant que 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-provisionnaire open-source qui prend en charge des sites comptant des millions d’utilisateurs, développée par Globo.com.
Les utilisateurs de Tsuru affirment qu’il améliore considérablement le temps de mise sur le marché sans renoncer à la simplicité, à la haute disponibilité, à la sécurité ou à la stabilité. Il peut être exécuté dans une variété d’infrastructures en nuage, qu’elles soient publiques ou privées, tant qu’elles sont prises en charge par une machine Docker.
Il prend également en charge presque tous les langages de programmation disponibles, ce qui donne aux développeurs la liberté de choisir en fonction de leurs préférences.
Avec Tsuru, vous pouvez utiliser divers magasins de données, y compris des bases de données SQL ou NoSQL, ou des alternatives en mémoire, telles que Memcached ou Redis.
Il vous suffit de sélectionner celui que vous préférez et de l’intégrer à votre application. Pour gérer l’application, vous pouvez choisir d’utiliser la ligne de commande ou une interface web, puis de la déployer via Git. L’infrastructure Tsuru s’occupe 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 disent qu’il fournit une plateforme d’application agile et robuste qui aide à améliorer la productivité des administrateurs de cloud et des développeurs.
Il est bien adapté aux déploiements d’entreprises dans le nuage, combinant la flexibilité de l’accès direct à la VM dans l’infrastructure du nuage avec la configuration automatisée fournie par un PaaS complet.
Les infrastructures cloud prises en charge comprennent HP Cloud Services, Citrix XenServer, AWS, OpenStack, VMware, entre autres.
Dans Stackato, chaque application dispose de son propre conteneur Linux (LXC), ce qui garantit un partage efficace et sécurisé des ressources. Sa gamme de services est composée de : Helion Control Plane, que Stackato utilise pour communiquer avec le nuage sous-jacent et pour 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 moteur 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 dépôts Git, privés ou publics, et Helion Stackato Console, une interface web pour gérer toutes les fonctionnalités d’Helion Cloud.
Alibaba
Bien qu’elle soit à peine mentionnée lorsqu’il est question de plateformes en nuage à code source ouvert et de PaaS, l’activité d’informatique en nuage d’Alibaba a connu une croissance fulgurante, ayant déjà conquis 50 % du marché chinois de l’informatique en nuage publique et apprenant consciencieusement à desservir les marchés en dehors de la Chine.
Par exemple, elle commence à fournir des services de facturation en dollars américains dans 168 pays et conçoit 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, le registre des conteneurs, la mise à l’échelle automatique 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 ce dont vous pourriez avoir besoin pour commencer à migrer vos applications vers le nuage immédiatement, comme de nombreuses vidéos tutorielles. En suivant quelques étapes simples et sans investir un dollar, Alibaba vous invite à commencer à construire en un rien de temps.
Enfin…
Heureusement pour tous les développeurs, l’ouverture règne dans le monde de l’informatique dématérialisée. Il y a quelques années, la concurrence des technologies de conteneurs (Docker, Kubernetes, Mesos, Nomad, ECS, pour n’en citer que quelques-unes) menaçait de diviser le marché en compartiments étanches, générant des risques considérables chaque fois que vous deviez choisir une plateforme.
Mais, bien qu’il y ait aujourd’hui plus de plateformes parmi lesquelles choisir, les différences entre les choix open-source d’aujourd’hui ne sont que dans les détails : différents schémas de coûts, différents outils de gestion et différentes approches de la sécurité.
En d’autres termes, si vous choisissez une plateforme open-source aujourd’hui et que vous n’en êtes pas satisfait, vous pourrez en choisir une autre demain, et les coûts ne vous tueront pas.
Grâce aux informations que nous vous avons données ici, vous pourrez, nous l’espérons, choisir la plateforme qui répond le mieux à vos besoins et qui vous permettra d’oublier des problèmes tels que la capacité des serveurs, les intergiciels, les cadres, les machines virtuelles, les magasins de données, et ainsi de suite.
Une fois que vous vous serez libéré de tout cela, vous pourrez consacrer toutes vos ressources et toute votre attention à la seule chose qui compte vraiment pour vous : livrer votre application géniale à vos utilisateurs aussi vite que possible, et faire en sorte qu’ils soient satisfaits pendant qu’ils l’utilisent.
Ici, vous pouvez également explorer quelques niveaux ou crédits gratuits sur les plateformes Cloud.