We deploy on Fridays

Yann
neoxia
Published in
4 min readJun 18, 2018

Nos 8 raisons d’orchestrer son infrastructure avec Kubernetes

Une brève histoire du déploiement

A la préhistoire, les entreprises devaient disposer de serveurs physiques. Elles devaient les acheter, les administrer, les entretenir. Il fallait souvent internaliser des compétences spécifiques en opérations. C’était cher, c’était pénible. Installer une machine pouvait prendre une demi-journée à quelqu’un de très bon et une semaine entière à un débutant. Souvent, une boîte se retrouvait à entretenir un parc de machines simplement parce qu’on ne savait pas ce qu’elles contenaient. En termes de vitesse, de sécurité et d’efficacité, on était loin du compte. Les opérations étaient un monde parallèle et inconnu, indispensable et mystérieux.

Ensuite, une révolution qu’on appelle le Cloud a rendu possible d’avoir le même service en appuyant sur un bouton chez AWS ou Google Cloud. Depuis 2008, le monde des opérations s’est ainsi beaucoup rapproché de celui du développement. Avec des solutions comme Google Cloud Platform ou AWS, on a à la fois accéléré la vitesse de mise à disposition de machines et notre capacité à les dimensionner. Chez Google, cela prend une trentaine de secondes.

La conséquence, c’est l’accélération incroyable des temps de développement et de mise en production à laquelle nous assistons depuis quelques années. C’est ainsi que de plus en plus, nous gérons des objets complexes plutôt que des objets compliqués. C’est ce que nous faisons avec les micro-services par exemple : ils sont simples unitairement, mais nous en avons énormément à gérer sur un nombre important de serveurs. Il faut pouvoir s’y retrouver et surtout, éradiquer le cauchemar de toute entreprise : les interruptions de service.

La révolution Kubernetes de l’infrastructure as Code.

Chez Skale-5, nous utilisons un outil pour orchestrer les flottes de serveurs de nos clients : Kubernetes. C’est un produit opensource initié par Google, dont nous sommes partenaires. Nous sommes d’ailleurs souvent alpha-testeurs de leurs solutions. Kubernetes apporte les mécanismes pour déployer, maintenir et mettre à l’échelle des conteneurs d’applications.

Le fonctionnement que nous mettons en place consiste à charger des images de conteneurs Docker et de définir des états de service en code, comme par exemple « Kubernetes, assure-toi que l’application est bien installée » ou « Kubernetes assure-toi qu’il y a toujours trois réplications de mon instance d’API». Kubernetes permet d’abstraire les corvées du monde des opérations. On a du code, on manipule des fonctions. C’est de l’Infrastructure as Code.

8 (bonnes) raisons d’orchestrer votre infrastructure avec Kubernetes

Aujourd’hui, Kubernetes a atteint un bon niveau de maturité et nous l’avons utilisé avec succès sur plusieurs projets. De ces expériences, j’ai identifié 8 bonnes raisons d’utiliser Kubernetes :

1. Pour faire comme Google. C’est un leader mondial sur ces sujets, cela inspire confiance. Avec leur technologie interne Borg qui a largement inspiré Kubernetes, Google annonce lancer 2 milliards de conteneurs par semaine.

2. La vélocité de déploiement est maximisée, les machines sont disponibles et configurées automatiquement entre 0 et 3 minutes.

3. On fait des économies : on ne loue de l’espace machine que pour la durée dont on a besoin. Comme on ne considère plus des machines mais des sommes de ressources disponibles, la consolidation est beaucoup plus facile

4. Il y a moins de risque d’interruption de service : Kubernetes va s’assurer que l’état souhaité est atteint en permanence.

5. La documentation est à jour en permanence : Kubernetes produit un livre de la documentation dès le départ.

6. Le niveau de sécurité est toujours le plus élevé possible : comme on dispose toujours de nouveaux serveurs, les patchs de sécurité sont à jour en permanence.

7. On rationalise la base de code utilisable par tous les développeurs de l’organisation : si plusieurs sites ressemblants doivent être déployés, on écrit le processus une seule fois au lieu d’une fois par site. Lorsqu’on en a une trentaine, comme cela nous est arrivés récemment, le gain en temps et en qualité est considérable.

8. On peut livrer le vendredi sans se pourrir le week-end. C’est notre slogan, « we deploy on Fridays »!

*Skale-5 est l’infogéreur 100% Devops sur Cloud AWS et Google Cloud Platform du groupe Neoxia. Skale-5 est certifiée partenaire AWS, GCP & Docker.

--

--

Yann
neoxia
Writer for

Head of innovation @SKALE-5. #Kubernetes #Golang