Contactez-nous
-
Inclassables

GitOps, K9s, Big Data et AWS, le résumé du WeShare de Novembre 2022

GitOps, K9s, Big Data et AWS, le résumé du WeShare de Novembre 2022

Sommaire

Le WeShare, c’est le premier lundi de chaque mois, journée pendant laquelle l’ensemble de la tribu se retrouve pour du partage. Voici le programme des conférences du WeShare de novembre 2022.

Tools in Action : La Transit Gateway ou l'art de prendre soin de son réseau interne côté AWS

Olivier démarre la journée en présentant l’état de l’art en termes d’interconnexion de VPCs sur AWS puis les concepts de la Transit Gateway, ce qu’on peut faire et ne pas faire avec, ainsi que les bonnes pratiques de base. Il enchaîne avec quelques cas d’utilisation avant de parcourir la console AWS pour nous montrer les différents composants de la Transit Gateway. On passe enfin en revue la déclaration  en code Terraform. Olivier nous explique dans cette présentation les avantages de passer à ce service managé d’interconnexions entre vos VPCs en termes d’organisation, de temps gagné à gérer les flux mais également des gains au niveau des coûts même si cela reste un budget conséquent.

 

Autre : ITIL est-ce utile?

Stéphane s’attaque à un sujet qui fait souvent polémique. Les gros standards on n’est jamais hyper fans mais ITIL qu’est ce que c’est ? C’est un standard pour la gestion des services IT initié par le gouvernement anglais dans les années 1980. Il existait déjà des notions d’amélioration continue à l’époque. On survole l’historique jusqu'à la V4 (2019) où l’on parle de notions plus modernes de gestion de process et de produits en intégrant notamment devops et l’agilité.

Évaluer sa gestion de service c’est faire la balance entre la création de valeurs autour des produits et services, et les résultats, coûts et risques auxquels contribuent les différents sponsors, clients et utilisateurs. On prend notamment en compte 4 grandes dimensions, l’organisation et les personnes, les informations et les choix technologiques, les partenaires et fournisseurs et enfin les processus et flux de valeur. Tout cela semble bien théorique mais c’est accompagné de grands principes directeurs que l’on reconnaît facilement comme la progression par itérations, le fait de privilégier la simplicité et la praticité, privilégier la création de valeur, automatiser…

Au final, ITIL V4, c’est un ensemble de conseils pour la mise en place d’une gouvernance de grande envergure dans de grosses organisations et pour faire face aux nouveaux défis de la gestion de services en prenant en compte l’expérience client, les flux de valeurs et la transformation numérique. Dans les faits, c’est important mais l’implémentation qui en est faite reste bien souvent la clé du succès.

 

Tools in Action : K9s, CLI couteau-suisse pour gérer vos cluster K8s

Kubernetes et l'écosystème qui l'entoure sont de plus en plus compliqués à exploiter. Il est parfois long et fastidieux d'utiliser kubectl (ou une panoplie d'alias et de script bash custom) pour trouver des informations sur différentes ressources d'un cluster, que ce soit pour la configuration, les paramètres, les problèmes en cas d'erreur... C'est ici qu'intervient K9S, non il n'est pas notre sauveur de cette mélasse de cluster à gérer, mais il en facilite énormément le travail au quotidien par son interface utilisateur basée sur un terminal. L'objectif est de simplifier la navigation, l'observation et la gestion des applications dans K8s via un ensemble de commandes et raccourcies pour interagir avec les ressources du cluster. Pour ce tool-in-action, Bastien nous a donc proposé un voyage complet sur toutes les fonctionnalités de l'outil, ses possibilités mais aussi quelques points d'attention quant à son utilisation.

 

Conférence : Aled ! Je fais du sur-place !

Édouard nous parle de sa curiosité insatiable qui a tendance à le faire répondre « Présent ! » à beaucoup d'opportunités de faire un truc cool avec des gens tout aussi cools. Sauf que, parfois, il se retrouve engagé dans plus de sujets que de raison... D'abord complètement dépassé par son comportement, il a été forcé de trouver un moyen de se juguler sans (trop) se frustrer quand il a pris le rôle de manager pour la première fois en 2019 : il lui était impensable de faire subir son absence d'organisation à ses managés.

Au travers de cette présentation mi REX, mi Tools-In-Action et re mi REX derrière (si t'as pas la ref', maintenant tu l'as : https://www.youtube.com/watch?v=Vwz9tX1cl5A), il évoque sa découverte de quelques concepts de psychologie pas trop fumeux qu’il illustre avec ses choix successifs de modes d'organisations et d'outils pour les implémenter.

On en ressort avec l'envie d'améliorer notre quotidien et quelques pistes intéressantes à explorer pour le faire.

 

Hands-on : Le GitOps par la pratique, une introduction à FluxV2

L’approche GitOps est un pattern de CI/CD qui a le vent en poupe mais qui est paradoxalement mal compris. Il ne s’agit pas de simplement dire que Git devient notre source de vérité. Il y a une philosophie derrière qui repose sur un couplage faible entre Continuous Integration et Continous Delivery. Flux est une implémentation de cette approche. Moins connue que son concurrent ArgoCD, elle n’en demeure pas moins extrêmement puissante. Son approche KubeNative alliée à une simplicité de modèle en fait un outil très malléable pour mettre en place des stratégies GitOps dans un contexte Kubernetes. Durant cet atelier Clément et Ismaël nous ont présenté la philosophie GitOps et les clés pour la penser à travers Flux V2. Des cas concrets de production, abordant entre autres Prometheus et Kyverno, sont venus compléter l’atelier afin que l’on soit autonome pour imaginer nos propres stratégies. Seules des connaissances basiques en Kubernetes étaient nécessaires pour suivre et profiter de cet atelier. 

Dans une première partie, Ismaël nous a fait un rappel de GitOps by the book et une présentation du fonctionnement de Flux V2. GitOps subit souvent des dérives notamment en mixant scripting et déclaratif, mauvaise gestion du drift d'infrastructure... Avec du GitOps nous sommes dans une approche pull over push de la traditionelle CI/CD. Un agent va se synchroniser (pull) sur la source de vérité pour s’y conformer. Kubernetes et Nomad sont potentiellement aujourd’hui les deux seules plateformes à pouvoir nativement mettre en place cette approche. Clément nous a ensuite accompagné dans le déroulement d’un hands-on très bien détaillé que vous pouvez retrouvez sur github : https://github.com/kalioz/fluxv2-demo/

Les pull requests sont les bienvenues!

 

Conférence : Google Cloud Platform Getting started

Sur le cloud public, pilule bleu AWS ou pilule rouge GCP, laquelle choisir ? Ivan nous propose d’explorer la pilule rouge afin de vous faire une idée assez claire des spécificités de Google Cloud Platform.

Les trucs cools de GCP ? 

  • Beaucoup de services et de produits basés sur de l’open source, ou open sourcé par Google. (Kubernetes évidemment, Dataproc basé sur Spark/Hadoop, Dataflow sur Apache Beam, CloudRun sur Knative, Vertex AI sur TensorFlow…). 
  • Des Ressources globales (par opposition à régionales) comme les VPC Networks, les Firewalls, les Routes, les HTTP Load Balancer ou encore Pub/Sub, ce qui rend plus simple la construction d'infrastructures multi-régionales..
  • Des services pour la data nombreux et performant, comme Bigquery et Dataproc ainsi que tous les services de "IA as the service”

On passe ensuite sur la partie pratique avec la manière dont les ressources doivent être organisées, le compartimentage en projets, folders et organisations et la liaison avec le billing. Ivan nous explique comment fonctionne la gestion d’accès dans GCP avec les rôles prédéfinis par opposition aux rôles basiques ainsi que les permissions associées et la possibilité d’attribuer des rôles aux différents niveaux de l’organisation au folder, au projet ou à une ressource en particulier.

Dans une troisième partie, Ivan nous présente la console et la CLI, le test des APIs intégré à  la documentation, Cloud Shell qui permet très rapidement d'avoir un environnement fonctionnel avec un shell et un IDE. On fait ensuite le tour des services de base sur GCP, Compute Engine, Cloud Storage, Pub/Sub ou Bigquery, en présentant les configs possibles, les particularités, le mode de facturation et les petits plus associés au service par rapport aux autres cloud providers, avant de finir par un tour des services les plus couramment utilisés. On termine la session de présentation sur GCP par les questions IaC:  terraform dont le provider maintenu par google est souvent plus rapidement mis à jour que l’outil maison.

 

Conférence : Le Big Data - From zero to Hero

Charles-Alban nous propose ce talk dans le but de couvrir les différents concepts du Big Data et les différentes pièces qui composent un pipeline de transformation. Il nous présente tout d'abord le monde du Big Data en introduisant cette pratique d'exploitation des données, les processus de transformation et finalement l'étape d'exploration qui suivra.

On commencera par l'Extraction des données, où l'on doit considérer le type de sources (APIs, fichiers ou bases de données), le stockage (organisation, stockage, cache) ainsi que les stockages intermédiaires afin d'optimiser les performances, la résilience et les coûts. Une parenthèse est faite pour distinguer les Data Lake des Data Warehouse, où les données sont stockées après transformation et préparées pour l'exploration.

Charles-Alban passera ensuite en revue les différences entre le modèle ELT et ETL ainsi que les stratégies de batching et streaming ayant chacune des avantages et inconvénients avant de nous parler des politiques de file d'attente où on devra prendre en considération le type de jobs, les contraintes produit et l'impact que ça aura sur le nombre d'opérations qui en découlent.

Notons que lors de la création du pipeline de Transformation, il nous conseillera de commencer par dresser le plan des transformations (DAG) à effectuer sur les datasets tout en considérant la volumétrie et la complexité, voire découper le traitement avec des listes d'attentes intermédiaires.

Charles-Alban nous explique ensuite différentes opérations possibles avec comme exemple la dénormalisation avant de s'attarder sur des opérations comme : le shuffle (déplacement de données vers les workers), le broadcast (cache de variable sur les workers), la compaction (agréger plusieurs fichiers en un seul pour améliorer les performances) et le scrubbing (enlever des données inutiles, attention à le faire au bon moment).

Enfin, pour l'étape de chargement, il nous présentera les différents types de datastore existant: SQL (Relationnel ou Column Based), object storage/files ou NoSQL avec chacunes leurs avantages et inconvénients en fonction du cas d'usage favoris et leurs contraintes. En effet, le choix du datastore sera guidé en grande partie par le type d'usage que l'on souhaite avoir : real-time, BI ou AI/ML. Retenez bien que l'étape d'exploration est READ ONLY !

On termine cette présentation express par la présentation d'un cas pratique client en découpant bien les phases ETL et en présentant les services AWS utilisés et les raisons qui ont motivé ces choix.

 

Voila pour le résumé de novembre ! 
Vous souhaitez vivre un WeShare avec nous ? Nous recrutons !

Rejoignez-nous

Rendez-vous en décembre pour le dernier WeShare de l'année  !