Start-Up : Comment monter une infrastructure de production rapidement et à moindre coût

Nombreux sont les défis qui attendent une start-up du digital lors de sa création. Pour maximiser ses chances de succès dans un environnement concurrentiel qui bouge très rapidement, le délai entre l’idée d’un nouveau produit/service et sa mise sur le marché doit être réduit au maximum.
Dans ce contexte, disposer de l’infrastructure IT adaptée est critique. Nous verrons ici quelles solutions Open Source peuvent être utilisées pour déployer en une journée une infrastructure de production, industrialisable et standardisée.

La question de l’infrastructure IT pose celle des moyens, que bien souvent la start-up n’a pas à disposition : pas de budget dédié pour recruter des spécialistes en automatisation, solutions Platform as a Service trop chères, et monter seul une solution en interne peut prendre plusieurs mois. D’où l’idée d’un “kit start-up”, rassemblant les bonnes pratiques et proposant un modèle qui puisse être appliqué et décliné par la start-up en fonction de ses besoins.

Nous aborderons les différents sujets constituant le kit start-up dans une série d’articles : technologies d’automatisation, Cloud, méthodologie DevOps…

Pour une start-up du numérique, le DevOps est en effet essentiel : disposer d’une software factory permet de prototyper très rapidement, faire de l’intégration et du déploiement continus, tester et builder de façon automatisée.

Index des sujets traités :

Ansible

Plateforme de configuration et d’orchestration, Ansible est un outil open source permettant de configurer des serveurs, déployer des logiciels et lancer des tâches. Ansible est une solution d’automatisation sans agents, basée sur SSH, Python et Yaml. Malgré sa facilité de prise en main, Ansible permet de traiter des tâches complexes.

Dans ce kit, Ansible sera utilisé pour déployer les premières briques de l’infrastructure de production de façon automatisée, sans opération manuelle. Cela permet notamment de déployer une infrastructure sur différents environnements en fonction des besoins, et de déployer en même temps toutes les dépendances. La suppression des opérations manuelles garantit des processus 100% reproductibles, et une rapidité de déploiement.

Lire l’article : Automatiser les déploiements avec Ansible

Docker

Docker est un outil qui redéfinit la distribution des applications à travers la création de containers qui servent de mécanisme de livraison du code.

Dans cette partie, nous verrons comment déployer un cluster Docker et faire du Container as a Service avec Swarm. Nous aborderons notamment la nécessité de séparer le cluster de non production de celui de production, et les contraintes et implications pour la production. Docker sera utilisé pour déployer chaque application de l’infrastructure, chaque service de l’entreprise. Cela, afin d’industrialiser, pouvoir upgrader facilement, gérer le changement, déployer le monitoring, et plus globalement gérer chaque composant de l’infra, interne ou applicatif, en mode DevOps. Il est en effet important de privilégier l’approche DevOps autant sur l’application, le service fourni au client, que sur l’infrastructure interne. Cela permet d’avoir un standard de déploiement unique.

Lire l’article : Docker Swarm et Container as a Service

DevOps

L’objectif est ici de présenter les best practices du DevOps, de façon accessible pour ceux qui débutent sur le sujet, mais également en présentant des processus immédiatement applicables. La start-up est ainsi en capacité de mettre en place un pipeline de développement, d’intégration continue et de déploiement. L’automatisation de ce pipeline sera présentée à travers l’exemple de deux à trois langages différents, de façon à pouvoir ensuite utiliser le pipeline comme un template.

Lire l’article : Comment mettre en place une organisation DevOps ?

Offre Cloud OVH

OVH a été choisi pour plusieurs raisons : c’est un hébergement français, l’offre tarifaire est très compétitive par rapport aux concurrents, et compatible techniquement avec Docker et Ansible. Basé sur Openstack, le Cloud OVH offre des API compatibles avec tout l’éco-système présenté ici. Par ailleurs, le kit start-up proposera des plugin Ansible pour communiquer avec OVH et répondre à des problématiques particulières. Par exemple, déployer un nom de domaine correspondant automatiquement en même temps que le déploiement de l’outil. Idem avec un loadbalancer ou un service DNS. Dans le cas du besoin d’une offre de service mail, il sera possible de créer des comptes automatiquement sur l’offre OVH.

Le premier article de cette série sera publié prochainement et aura pour sujet Ansible.

Commentaires :

A lire également sur le sujet :