Let's talk
  • [ Cloud ]
  • [ Kubernetes ]

Kubernetes, de la hype au monde réel

Florian Durano

Publié le 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

 

Contenus similaires