Web Cloud & DevOps

Kubernetes, de la hype au monde réel

by Florian Durano 4 décembre 2019

Florian Durano, Expert technique DevOps chez Kaliop, s’est rendu au DevOps D-Day qui a eu lieu à l’Orange Vélodrome à Marseille le mois dernier. A cette occasion, il a pu participer à plusieurs conférences sur des sujets IT, Cloud et DevOps. Aujourd’hui, Florian nous propose un article qui revient sur la conférence « Kubernetes, effet de mode ou réel intérêt », animée lors du DevOPs D-Day par Ivan BEAUTE et Alexis DUCASTEL.

kubernetes

Kubernetes, c’est quoi ?

Kubernetes (K8s) est un système Open Source permettant d’automatiser le déploiement, la mise à l’échelle et la gestion d’applications conteneurisées.

Des conteneurs en production ?

« Gartner predicts that by 2022, more than 75% of global organizations will be running containerized applications in production, which is a significant  increase from fewer than 30% today ».

D’après cette information tirée du Gartner (en 2018), il y a actuellement plus de 30% de la production mondiale d’applications dans du conteneur, et il y en aura plus de 75% en 2022.

Si vous n’êtes encore pas passé.e sur cette technologie, vous allez prendre du retard !

Effet de mode ou réel intérêt ?

La réponse serait : les deux. Bien sûr, cela bénéficie d’un effet de buzz, mais il y a un réel intérêt également. C’est ce que nous allons aborder dans cet article.

Passer d’une chaîne de CI/CD « classique » avec du Ansible et du docker vers du Kubernetes est un réel gain de temps. Il y a également beaucoup moins de codes à écrire, ce qui diminue le temps de relecture et accélère la maintenance.

Concernant le Machine Learning, sachez que Kubernetes sait à présent utiliser le GPU et donc CUDA si vous faites du Tensor Flow par exemple.

On peut également faire du Serverless sur Kubernetes grâce à certains outils.

Évolutions sur les 10 dernières années de la virtualisation/conteneurisation

conteneurisation

Comme nous pouvons le constater grâce à l’outil Google Trends permettant de voir les intérêts de recherches des utilisateurs Google, Kubernetes est en pleine croissance depuis 2016.

Quelles sont les conséquences de cet effet de buzz ?

Les inconvénients :

  • Usage systématique souvent irrationnel
  • Information plus ou moins pertinente
  • Pas de garantie que la technologie soit bonne
  • Perte financière si bad buzz

Les avantages :

  • Attire les passionnées
  • Facilite le recrutement des talents
  • Motive les équipes
  • Large écosystème de solutions/projets associés
  • Présence dans le catalogue de nombreux fournisseurs

Quels sont les avantages de Kubernetes ?

  • Fonctionnalités natives (routage L7, autoscaling, haute-dispo…)
  • Adaptatif extensible (CRD, operators, webhooks, etc.)
  • Abstraction de l’infra sous-jacente (applications génériques…)
  • Facilement reproductible (manifest, helm, infra as code, PRA…)
  • Augmentation de la productivité (outillage, cli, écosystème…)
  • Excellent support (communauté, 2300+ contributeurs actifs…)
  • Force les bonnes pratiques (pet vs cattle, immutable…)
  • Open-Source et libre (pas de coût de licence, auditable…)
  • Gestion centralisée et observable (api, inventaire automatique…)
  • Standard (capitalisation du savoir-faire…)

Quels sont les inconvénients de Kubernetes ?

Désavantages :

  • Complexe (nouveaux concepts, vocabulaire technique…)
  • Nécessite de former les équipes (devs, ops, testeurs…)
  • Consomme des ressources (nœuds de contrôle, réseau, etc.)
  • Linux seulement (pas d’Active Directory, pas d’AS400…)
  • Impression de ne pas toujours maîtriser (magique…)
  • Ne fonctionne qu’avec des conteneurs (ajout du process…)

Changement d’habitudes :

  • Mise à jour tous les 3 mois (comme CoreOS, hrome…)
  • Développement pour Kubernetes (nouveaux outils, langages…)

Et donc…

Kubernetes, c’est un effet de mode et il y a un réel intérêt !

Recommandations

Recette pour une adoption de Kubernetes réussie :

  1. Formez vos équipes : formations, meetups, temps dédié à la veille techno…
  2. Pratiquez : pas de secret, pour connaître l’outil, la pratique est essentielle !
  3. Commencez simple ! Principe KISS : une première app simple…mais allez du POC à la Prod
  4. Choisissez une bonne distrib Kubernetes : selon votre choix, la pente sera plus ou moins facile
  5. Concentrez-vous sur votre métier

Un cluster Kubernetes de production DOIT avoir :

  1. Du stockage persistant intégré : provisionnement dynamique de volume via Storage Class
  2. Des load balancers intégrés : implémentation des services de type Load Balancer
  3. La possibilité de mise à jour de Kubernetes : Kubernetes version 1.15 > Kubernetes version 1.16

 

Florian Durano

Expert technique DevOps chez Kaliop et passionné de nouvelles technologies, je suis en charge de l'automatisation des processus de tests et de déploiements.

Commentaires

Ajouter un commentaire

Votre commentaire sera modéré par nos administrateurs

Vous avez un projet ? Nos équipes répondent à vos questions

Contactez-nous