Créons notre propre PaaS interne.
Vous imaginez construire votre propre Heroku miniature ?
Excité(e) ?
Moi aussi !
La plateforme en tant que service (PaaS) est un modèle de cloud computing où un fournisseur met à disposition une infrastructure pour le développement et le déploiement d’applications. Les développeurs profitent souvent des avantages du PaaS, ce qui leur permet de se concentrer sur la création d’applications, plutôt que de perdre du temps à configurer une plateforme pour les exécuter.
Bien sûr, les géants comme AWS, Azure, Google Cloud proposent des solutions PaaS remarquables. Toutefois, il n’est pas impératif de toujours dépendre d’eux. Pour une petite entreprise, de nombreuses solutions PaaS miniatures peuvent facilement gérer des applications de moindre envergure sur un ou quelques serveurs. Cela peut s’avérer suffisant et permettre de réduire considérablement les coûts. Plus important encore, cela représente un gain de temps, et donc d’argent !
Voici une sélection des logiciels PaaS les plus prisés pour bâtir votre propre plateforme et exécuter des applications plus modestes.
Dokku
Ça vous rappelle Heroku ?
Bingo !
Dokku est un logiciel open-source léger. Il nécessite 1 Go de mémoire vive et fonctionne sous CentOS, Ubuntu et Debian.
Dokku est un Heroku miniature basé sur Docker et programmé en bash. Il vous permet de déployer votre application via Git. Dokku se charge de la compilation et de l’exécution de votre application dans des conteneurs isolés.
Les points forts de Dokku :
- Déploiement simplifié par Git
- Disponibilité de plugins pour divers langages
- Possibilité d’ajouter et de personnaliser des fonctionnalités
- Commandes conviviales pour la gestion des applications, des utilisateurs, la journalisation, etc.
- Options de vérifications personnalisables pour les déploiements sans interruption de service
Vous pouvez installer Dokku sur votre serveur ou l’activer en un clic sur Kamatera, Digital Ocean ou Azure.
Jelastic – Édition Lite
Jelastic est une plateforme PaaS multi-cloud pour le DevOps, conçue pour accélérer le développement, réduire les coûts d’infrastructure IT, améliorer la disponibilité et renforcer la sécurité. Son édition allégée propose une grande partie des fonctionnalités des versions professionnelles et entreprise, avec quelques limitations. Elle se révèle néanmoins très efficace pour les petites applications, permettant ainsi de réaliser d’importantes économies.
Cette version simplifiée de Jelastic est idéale pour les budgets restreints. Elle convient particulièrement aux petites entreprises telles que les startups, les sites de e-commerce de petite taille, les projets de jeux, etc.
Caractéristiques de Jelastic Lite Edition :
- Tableau de bord développeur avec options de déploiement d’applications
- Prise en charge des conteneurs et de Kubernetes
- Mise à l’échelle automatique verticale et horizontale
- Pare-feu et authentification à deux facteurs pour les utilisateurs
- Outils de surveillance et de dépannage intégrés
- Accès API, CLI et SSH pour la gestion des conteneurs
Jelastic Lite Edition est uniquement disponible sur Google Cloud et DigitalOcean.
Flynn
Flynn est une plateforme open source PaaS conçue pour exécuter tout ce qui peut fonctionner sous Linux. Elle fournit aux équipes de développement et d’exploitation une plateforme pour développer, déployer et gérer facilement leurs logiciels. Vous pouvez facilement configurer Flynn localement ou l’installer sur un matériel dédié ou un fournisseur de cloud en quelques commandes.
Caractéristiques de Flynn :
- Bases de données MySQL, MongoDB et PostgreSQL intégrées avec haute disponibilité
- Découverte de service intégrée pour connecter les microservices
- Mise à l’échelle selon les besoins pour réduire les coûts
- Équipe expérimentée pour gérer votre cluster Flynn
Hephy Workflow
Hephy Workflow facilite le déploiement et la gestion des applications sur un cluster Kubernetes. Il s’agit d’une évolution de Deis Workflow, lancé en 2017. L’équipe Deis Workflow a cessé son travail en 2018 pour se consacrer aux projets Microsoft Azure.
Hephy Workflow est constitué de services indépendants qui se combinent pour former un PaaS distribué. Ces composants sont déployés en tant que services sur le cluster Kubernetes. Le workflow distingue deux types d’utilisateurs : les utilisateurs normaux et les administrateurs.
Un utilisateur normal peut développer et déployer une application. L’administrateur, en plus de cela, dispose d’un accès propriétaire à l’application.
Fonctionnalités de Hephy Workflow :
- Générateur d’images pour compiler le code à partir de dockerfiles et de buildpacks
- Routage périphérique HTTP/HTTPS pour les applications
- Lancement et restauration des applications
- API REST pour CLI et intégrations
- Authentification et autorisation pour la sécurité des applications
CapRover
CapRover est une plateforme d’application très facile à prendre en main et entièrement automatisée. Si vous connaissez Heroku, vous pouvez considérer CapRover comme une version open source améliorée.
Vous pouvez utiliser CapRover pour de nombreuses tâches, comme l’hébergement de Node.js, PHP, Java, WordPress, MongoDB, MySQL, Nginx, etc.
Vous pouvez démarrer CapRover sur DigitalOcean en un seul clic.
Fonctionnalités de CapRover :
- Interface de ligne de commande pour les scripts et l’automatisation
- Interface graphique Web pour visualiser l’activité de vos applications
- Équilibrage de charge avec Nginx
- Certificats SSL gratuits avec Let’s Encrypt
- Conteneurisation et clustering avec Docker Swarm
Tsuru
Tsuru est une plateforme en tant que service open source, légère et simple d’utilisation. Par exemple, si vous avez une application Python qui nécessite également une instance MongoDB, Tsuru assemblera à la fois l’application Python et la base de données et les exécutera simultanément dans des conteneurs Docker.
Tsuru propose différentes plateformes. Si celles qui existent ne vous conviennent pas, vous pouvez même créer votre propre plateforme sur Tsuru.
Fonctionnalités de Tsuru :
- Mise à l’échelle dynamique facilitée
- Exécution de l’application dans une architecture distribuée
- Prise en charge de n’importe quel langage de programmation ; allant au-delà des applications à 12 facteurs.
- Déploiement rapide par un simple git push.
- Intégration facilitée avec IaaS comme AWS EC2, Apache Cloudstack
Piku
Piku est la plus petite plateforme de type Heroku/CloudFoundry en tant que service. Piku s’inspire de Dokku et déploie les applications par git push sur vos serveurs. Il fonctionne sous environnements POSIX tels que Linux, le sous-système Windows pour Linux, FreeBSD et Cygwin.
Fonctionnalités de Piku :
- Flux de travail similaire à Heroku
- Style de programmation fonctionnelle pour une expérience utilisateur simplifiée
- Prise en charge des applications Go, Python, Closure (Java) et Node.js
- Rétrocompatibilité autant que possible
- Prise en charge des applications à 12 facteurs
Conclusion
Qu’attendez-vous ? Lancez-vous et testez les logiciels ci-dessus pour créer votre PaaS. La plupart étant open-source, vous pouvez prendre un serveur cloud et commencer à explorer pour voir ce qui vous convient le mieux.
Ensuite, apprenez Docker.