This is the full transcript of Orchestrateurs, Kubernetes, Nomad, Scaling, DevOps - Sami Hamine, Valérian Saliou Julien Le Coupanec, published on YouTube by SaaS Makers. Every paragraph carries the moment it was spoken, so you can click any line to jump straight to that point in the video, search the whole thing for a word, or copy it out.
0:00les amis bienvenue sur un nouvel épisode SAS Maker alors cet épisode là on va le faire à distance parce que il est un peu technique et on va parler de Nomad cubernities et je suis en compagnie de Sami de astrolab je mettrai le lien en description pour ceux qui veulent aller voir et de Valéri de crisp qui ont sorti d'ailleurs une nouvelle version doncite pas aller voir la landing page moi je kiffe je la trouve St donc ça vous donnera des idées sur du design et ce niveau du X donc moi je une question on va commencer avec toi c'est quoi un orchestrateur en fait comment tu pourrais définir cubernetis
0:29et nomade à quelqu'un qui a un S et qui utilise par exemple comme moi des scripts desit action et PM2 par exemple pour faire tourner sur ses processus processus pourquoi il devrait utiliser un orchestrateur qu'est-ce que c'est et sur on va parler un petit peu de tout ça ok donc je vais commencer déjà peut-être par le avant d'expliquer par le problème qu'on a à notre époque c'està-dire que on est dans des infrastructures aujourd'hui pour héberger les applications Web mobiles et cetera donc tout ce qui fait tourner les serveurs donc ton API tes microservices dans le cas de crisp on est dans des infrastructures qui se complexifient
1:01énormément puisque la demande de enfin des utilisateurs pour en de feature sur les applications sont de plus en plus complexes donc en fait on est amené à développer tout un tas de de backend soi-même et d'éberger tout un tas de bases de données enfin et de système tiers euh sur ces serveurs et de gérer les configurations un peu à l'ancienne à la main donc tu sais tu as un serveur que tu te connectes en SSH un dbian et tu fais tes apt get install MySQL machin machin tu fais tourner tes applications not JS ou ou ou autre avec P PM2 ouais c'est ça par exemple euh et tout ça en fait ça ça marche
1:37quand tu dois développer ton ton application pour la première fois mais en fait plus ton business grossit enfin ton tes applications aussi quand tes serveurs grossissent avec elle et la complexité euh de ça euh et après ben tu vas peut-être dans le temps ajouter des gens dans tes équipes qui vont avec toi se connecter en SSH à la main à tes serveurs ce qui est une très mauvaise pratique du coup à un moment il va se passer à une situation où tu peux avoir je sais pas je pr les cas extrêmes un incendie dans ton data center une énorme coupure électrique et tu vas devoir en urgence reconstruire
2:11toute ton infrastructure si tout a été fait à la main comment tu fais tu as peut-être mis de côté en fait finalement des backup texte de tous tes fichiers de configuration mais les liens entre tes serveurs les adresses IP qui permettent à tes serveurs de commun de communiquer entre eux sur le réseau local ce qui définit la taille de tes serveurs et cetera et et ca où tes applications tes bases de données vont tourner tout ça en fait ça a été défini à la main dans un dashboard Web avec des serveurs sur lesquels tu t'es connectés en SSH donc ça ça devient de plus en plus un
2:40problème avec les applications qui deviennent de plus en plus complexes un orchestrateur en fait il fait tout simplement il permet tout simplement d'automatiser d'automatiser euh la façon dont tes applications tournent donc en gros l'idée c'est que tu définis de manière déclarative euh des fichiers de configuration que tu vas donner alors orchestrateur et qui vont définir ok bah là je je configure mon api enogs par exemple elle a besoin de tant de ressources j'en ai besoin d'avoir je sais pas d'en mettre h par exemple donc tu auras tu auras h instances de ton app qui vont tourner en parallèle euh et j'ai besoin que ça tourne dans telle
3:17région du monde et cetera et cetera tu vois tu mets plein de règles tu envoies ça à ton orchestrateur qui est un peu une boîte noire une black BO et l'orchestrateur fait en sorte que il te trouve la ressource pour que ça tourne donc il va t'assigner ton application sur un serveur ton application va être téléchargée donc généralement on fonctionne avec docker donc tu prépares des images docker c'est déjà la première step d'ailleurs quand tu veux passer à l'orchestration l'image docer va être téléchargée sur le serveur et puis l'application va magiquement tourner et ensuite tu peux lui définir quelles sont ses relations avec d'autres applications ou base de données donc j'ai besoin du
3:52MySQL tac voilà tout ça et donc et donc en fait l'orchestrateur va aussi gérer la façon dont tes applications se parlent elle et comment est-ce qu'elle s'enregistre en fait sur le réseau donc tu auras des nomes domaines en fait qui vont être générés sur le réseau local donc tu pourras appeler par exemple tu vas définir un un saveur MySQL tu peux peux l'appeler je sais pas Chris pe tirer database tu vois bah ça ça va être un nom de domaine qui sera généré sur un un nom de domaine privé sur ton réseau local et tes applications type en ton API elle pourra se référer à son nom de
4:20domaine pour se connecter à ton masql toi tu as pas besoin de penser adress IP ça tourne sur quel serveur et cetera ouais en fait tu écris tes fichiers de définition pour tout ton infrastructure c'est assez laborieux je le cache pas euh c'est assez error Crone aussi et ensuite tu le l'envoies au l'orchestrateur et l'orchestrateur se démerde pour converger on va dire vers cet état qu'il a un état cible et dans toutes les situations il va converger euh vers cet état et donc la la l'idéal aussi avec un estrateur c'est que que ça te fait attendre c'est que si jamais tu as un serveur qui est mort
4:55tuasas une machine virtuelle qui est qui est cramée il faut la réinstaller à la la main tu as plus les backup tu es en vacances euh quand tu as un orchestrateur qui est intégré avec ton cloud provider donc digital océan AWS et cetera il sera lui-même capable de dire ok j'ai besoin de créer automatiquement une nouvelle machine virtuelle desbian par exemple pour remplacer celle qui vient de d'avoir un problème tu vois et réallouer redéplacer en fait automatiquement tes applications vers cette nouvelle machine virtuelle qui est qui est en bonne santé et donc tu as aussi une propriété de un peuuto auto healing donc l'orchestrateur va chercher
5:35à ce que ton état soit tout le temps respecté gen que tu es tout le temps bah dans mon cas par exemple si je définis que j'ai envie d'avoir API h répliques de mon API j'aurais h répliques de mon API qui vont tourner tu vois il se peut qu' a des moments mon état ne soit pas respecté quand tu as des migrations et cetera mais l'idée c'est que ça fait tout le travail qu'un humain fait de manière automatique et ça gère le l balancing j'imagine entre entre chaque requête c'est ça exactement donc on sera souvent sur des du L balance au niveau TCP et non HTTP et aprèsas tout un tas de
6:05connecteurs qui te permet par exemple sur kubernet de parler à des LO balancer qui sont fournis par ton GCP par exemple dans Google cloud digital et C pour créer des balanceur niveau HTTP OK et toi Sami tu as c'est comme ça que tu définirais aussi les avantages d'un orchestrateur o tu envois d'autres et et ce qui t'a fait t'a poussé un petit peu justement à partir ce type de de Devos effectivement ok il y a une grosse partie que a un résumé qui quiort de valeur dans tes opérations quand tu g une l'infrastructure en production mais mais a quand même une vraie vraie ajoutée que moi moi
6:44personnellement qui m'a vraiment conse aller c'est c'est vraiment la partie sécurité parce que du coup quand tu vas tu vas configurer un petit peu tes ton infra tu vas pouvoir mettre des règles pour faire en sorte que typiquement par exemple c'était une une instance de nextgs qui est accessible je sais que c'est c'est quelque chose qui va être en qui va être accessible sur Internet et que derrière tu as tes Web Services bah du coup tu vas tu vas mettre des règles ce qui s'appelle des network polic qui vont complètement euh isoler on va dire cette cette instance là et et donc tu es sûr que tout ce qui est en avant tout ce qui
7:22est derrière est plutôt protégé et tu vas aller t'amuser à à faireurbanisme de plus en plus abouti pour justement aller chercher plus de sécurité isoler les composants critiques de son système et ainsi de suite silon c'est vraiment Suisse qui te permet d'aller un peu plus en profondeur sur dans ce que tu peux faire que en termearchie les éléments critiques c'est quoi attends les élément critiques ser les bases de données par exemple c'est ça oui ok les princi les bases de données si tu traites des données clients pas forcément les bases de donnéeson pareil si tu veux crypter les discussions entre ta nexest et puis d'autres solutions tu peux tu peux aller crypter
8:07le réseau avoir des certificats local gér localement qui vont venir chifrer un petit peu les discussions que peut avoir ton frontel par rapport à ton B par rapport à B si on prend juste un schéma chez classique ù généralement ton frontel et ton IP backend et taadresse de doul ce qui est une bonne pratique c'est complètement disoler ton ton bend et ta de Doulet et tu s que les discussions qui se font côté de ton frontel vers ta ton backend bah soit Chiré et puis se passe par un par un réseau space en fait je pense que de ce dont tu parles au niveau du chiffrement ça c'est
8:43relativement utile quand tu commences à faire du multicoud du multiata Center et que tes applications en fait elles ont besoin de parler entre elles à travers un réseau Internet public entre plusieurs régions par exemple euh bah ça en fait quand tu utilises des outils d'orchestration je pense à Nomad par exemple euh tu as la notion de région data center donc de géographie euh qui est vraiment euh qui est définie ouais donc tu peux dire cette application là j'ai besoin qu'ell tourne par exemple sur mes serveurs à Paris et puis elles sont redondées à Amsterdam pas loin tu vois et puis du coup euh je peux faire
9:14un lien entre les deux euh donc l'avantage aussi c'est que si tu as un dat Center qui tombe tu peux êre assez facilement faire des des définitions en fait multi cloud qui te permettent multirégion qui te permettent d'avoir une une uptime euh qui est assez garantie quoi et et l'autre avantage ouais que j'avais je pense que j'ai oublié de parler de ça et je pense que c'est le plus pour moi c'est le plus gros avantage c'est qu'il peut y avoir un incendie dans ton dada Center demain je sais que par exemple toutes les plateforme que je gère avec du kubernetes ou du nomade je suis capable de te les reconstruire en
9:49l'espace de 10 minutes ouais après bon bien sûr je dois réapporter les bases de données tout ça des des backup mais en fait en quelques commandes je suis capable de te recréer constammentfin toute l'infrastructure qui prendrait à la main peut-être plusieurs jours voir semaines en fait à redéfinir et ça c'est un gros un gros avantage pour pour dormir la nuit on va dire quand quand quand quand tu commences à gérer pas mal de serveurs mais c'est jamais arrivé ça non enfin pour tout de d'autres côté non mais en fait quand tu gères des quand tu gères des grosses infrastructures tu commences à prévoir bah tu sais le
10:16l'événement de Black Swan quoi le le dooms day event et enfin tes tes utilisateurs aussi commencent à demander des d'avoir quelques informations sur comment est-ce que tu gères ça puisque même sont concernés ouais et puis en fait oua il y a il y a un dernier avantage en plus moi que je rajouterai c'est vraiment le cooup au final même les cast initialement je commencais à avoir des espèces de workers qui vont commencer à traiter énormément don je devis de plus en plus leson donc j'avais j'avais une infrastructure classique et tout et j'étaiss je me suis rendu vite compte que en fait si je commence à gérer un
10:59peu ce SK up SKD avec les solutions que proposait à WS j'allais j'allais vraiment payer énormément ch que et est là voilà allez et donc du coup je suis passé sur Cu qu' uneur assez conséquente par rapport ce qu'on peut proposer as mais tu vas vite te rendre compte que tu vas vraiment cô énormément en terme de coût parce que bah en fait tu utilises typiquement une solution communautaire open source qui est bien intégré dans dans dans les solutions cuberntis je dis n'importe quoi mais pe par exemple utiliser GIX comme le Bur pas vraiment mais pas vrai il y a des solutions en fait que AWS a pas 4G
11:41elle le vend dans sa plateforme elle va qui facturer avec un modèle gen à la roquette et au trafic et ça va te revenir ultra cher à la fin du bois et toi derrière ça-être une semaine de setup pourir aller un mod setup avec un peu de maintenance mais au final tu vas radicalement à réduire tes cous et ça c'est malable sur toutes les briques que tu peux imaginer quand tu commences à avoir une architecture de plus en plus conséquente et donc ouais le dernier dernier avantage c'est admettons que toi Julien tu passes pour de companies API à kubernetes donc déjà tu peux exploiter tu peux avoir les avantages du fait
12:17d'avoir plein de machines virtuelles on va dire sur un cl provider tout en étant sur ton bar métal qui coûte pas cher parce que tu peux par exemp ouais c'est ça tu peux très facilement isoler les ressources entre ell tout ça sur un gros serveur et justement tu peux te dire vu que tout est sourcé dans une version des fichiers de configuration tu vas tout stocker sur un dépô git par exemple tout ce qui définit en fait comment est-ce que tes applications tournent donc nous chez crrisp on a appelé ça les les définitions tu vois c'est un Dépau qui s'appelle définition euh et en fait n'importe qui donc toi ou il elle
12:49peuvent changer un peu la configuration de l'infrastructure et tout ça c'est traçable c'estd que c'est un tu vois les commits ça les change log si quelqu'un fait une erreur tu peux rollb tu en fait c'est ça revient sur ce que je disais au fait du fait de gérer les configurations à la main en mode SSH à la Yolo euh comme comme on a tous fait tu vois bah c'est ce qu'on fait nous si si enfin quelqu'un dans ton équipe en fait fait une connerie tu vois tu peux pas savoir genre ok comment est-ce que je la rleback tu vois il faut que la personne soit là qu'elle soit pas en weekend
13:18vacances ou quoi que ce soit là tu as un comit git tu peux très facilement le rollback donc ça tu parlais de sécurité Sami mais en fait tu as aussi une sécurité ça te protège contre toi-même et contre aussi tes app ouais ou exactement en fait tu vois de ce que je vois du coup un orchestrateur c'est genre un outil qui automatise à la fois le déploiement euh tout ce qui est gestion aussi ce que tu parlais VO et aussi du coup la mise en échelle de tout ce qui est des applications conteneurisées et cetera etés ça c'est dans les grands ouais et mais du coup à partir de là j'imagine
13:49qu'il y a pas mal d'outils qui existent pour pouvoir faire ça donc tu as parlé de Nomad tu as parlé de cuberneties euh tu en as d'autres lesquells tu utilises quelles sont les différences parce qu'un moment on en parlait en privé et cetera tu tuis assez fan de nomade et puis tu es revenu aussi tu disais que finalementberti c'est aussi bien pour certains use cas donc il y a il y a l'air si tu peux dire un peu learning sur ça alors en fait Nomad et cuberdtes c'est des orchestrateurs il y a tout un tas d'orchestrateurs et franchement je j'ai j'ai que 5 % des connaissances je
14:15pense sur sur tout ce qui existe mais nomades cubernetes sont intéressants parce que c'est des orchestrateurs où tu définis en fait comment est-ce que ton infrastructure doit fonctionner et l'orchestrateur va faire en sorte que de converger vers ces définitions là il y a tout un tas d'autres types plus exotique d'orchestrateur nous c'est ce qui nous intéresse là pour les pour les applications Web notamment pour faire tourner le le backend euh nomade versus cubernetes cubernetes en fait il faut savoir que c'est très compliqué à héberger soi-même que tu as ce qu'on appelle le control PL de cubernetes que tu dois héberger sur sur des serveurs dédiés à ça et en fait leur seul job de
14:50ces serveurs là c'est de gérer les autres serveur en fait c'est de c'est un peu cheforchestre le chef d'orchestre du parc et et c'est une nouvelle la phras strure que tu dois gérer faut pas faut pas oublier ça euh c'est qu'elle te simplifie la vie mais de l'autre côté tu crées une nouvelle complexité l'avantage avec ubernet c'est que c'est très bien supporté par tous les club provider et tu as beaucoup de documentation donc tu pourras en fait très facilement créer un cluster qui est managé chez bah dans mon cas c'est du digital océan mais tu peux avoir du Volter aussi du GCP certainement ça je connais moins chez et donc en fait tu
15:24écris tes fich définitions et puis toi tu c'est pas ton problème comment ça tourne le contrôle play il t fournit parfois même gratuitement euh le problème c'est quand tu vas commencer à voir la FA du dédier c'està-dire que tu héberges pour des raisons économiques par exemple parce que c'est plus bas coup des tu loupes plein de serveurs chez OVH tu les mets en réseau ensemble et admettons qu'ils ne te fournissent pas le contrôle plane tu vas devoir l'éberger toi-même et là par contre tu te crées une complexité énorme parce que ça devient une sorte de métier de gérer le contrôle playing de cubernetes qui est une forte de forme de spécialité en
15:53soi j'ai l'impression euh estce que c'est le contrôle plan de club Cu c'est pas juste un simple à péter install en fait c'est plein de morceaux que tu viens recomposer en fait tout est modulair enfin tu c'est à toi de composer en fait ton ton contrôle play et là où le nomade est très très fort cette nomade c'est un équivalent beaucoup plus simple qui est développé par une autre boîte qui s'appelle la chicorp qui fait beaucoup d'autres outils comme terraform par exemple ou vagrance qui sont assez connus eux leur principe c'est que tu as un seul binaire à installer sur ton serveur donc c'est codé en Go donc c'est un petit binaire
16:23compilé tu vois tu le fais tourner sur tes tes serveurs qui vont gérer le le control plane tu as une petite configuration genre comme ça tu vois toute simple et tu peux démarrer des nomates comme ça qui gèrent ton controlle plane dans l'espace de je dirais 10 minutes quoi quand tu as les configurations très simple et tu déposes le même binaire sur les serveurs qui vont faire tourner tes applications donc on appelle ça les les clients euh Nomad et tu le configures en mode client il se connectent à tes serveurs Nomad et puis genre il commené à recevoir des jobs c'est-à-dire des demande de d'hébergement d'application
16:55euh le truc c'est que je pense que kubernetes c'est quand même mieux de l'utiliser quand tu dois faire un choix quand tu es dans un environnement cloud euh moi au début je pensais que nomade en fait genre je préférais parce que il cré des fichiers de configuration nomade c'est très simple au final la syntaxe est très très clair c'est assez c'est du HCl donc c'est ça ressemble un peu à du c'est entre le jison et le tomel enfin je sais pas mais c'est c'est c'est assez visuel assez clair là où par exemple quand tu dois écrire des fichers de définition cubernetes comment est-ce que tes applications tournent euh c'est assez
17:29verveux je je tu pourras aller voir après tu verras la comparaison et et tout est très très très modulaire en cubernetes et peut-être à mon goût parfois trop donc en fait tu tout fonctionne par selcteur en cubernetes c'estàd que c'est un peu compliqué je pense à expliquer mais euh admettons que je fais tourner une application je vais et que genre je veux pas que pendant que je fais une migration cubernettes que je mets à jour le le contrôle pl cubernetes genre je veux pas que il y ait sur toutes mes API qui tournent en fait ell soi détruite en même temps tu vois parce que ça ça
18:05mettrait ma plateforme 100 % et ben pour ça tu es obligé de créer c'est a quelque chose qui est optionnel et que tu apprends par l'erreur tu crées en fait ce qu'on appelle des des pod disruption budget et tu dis en fait à l'orchestrateur OK dans les cas où il y a des disruptions volontaires dans cette dans ce cas-là comment est-ce que mon application va comment est-ce que l'orchestrateur en fait va désallouer mes applications tu vois genre en gros j'ai là dans mon cas j'ai envie de dire bah en fait j'ai envie d'avoir 50 % du nombre d'API tu vois qui sont toujours disponibles en tout toutes conditions et
18:37genre tu as le droit de me bouger les 50 % restantes de les mettre down et puis de les bouger tu vois comme ça mon application crispe genre mon service sera pas down pour mes utilisateurs mais si tu mets pas ça tu peux très vite tomber à une API dans le cas de migration genre tu es tu as 10 B AP et en fait l'orchestrateur si tu fais une mise à jour de version il va te dire ok bah je les ai tous buté en fait pendant la migration et il m'en reste plus qu'une ou zéro et ta plateforme elle est down tu vois et tout ça avec cubernetes
19:03c'est des trucs qui sont tu apprends par l'erreur et tu définis ça genre en mode tu expend en fait tes fichiers de configuration avec tout un tas de de configurations supplémentaires qui viennent extend mais c'est pas des choses qui sont by default quand tu prends le template tu vois c'est c'est ça que je voulais dire et alors que Nomad c'est beaucoup plus clair en fait tout est tout est un peu plus unifié dans le fichier de configuration et je te laisserai peut-être configurer continuer pardon si tu veux Sami non non ouais c'est as d'autres choses à dire sur cubernetes non du coup pour compléter peut-être juste un peu de
19:34contexte dans cubernetes lui il est sorti en 2014 et donc c'est Google qui l'avait mis l' source euh et Google l'avait donc sorti en se basant sur une solution inter TER qui s'appelait Bor che eu qui permettait du coup de gérer principalement lescape pour des solutions comme youtube ou ou G à l'époque et donc quand ils l'ont mis en en open source en par de 2015 donc il y a la ce qu'on appelle la club native computing Foundation c'est une fondation un peu qui découle de la lunix Foundation qui qui qui s'approprieré un petit peu le sujet approprieré qui qui a intégré Cu 6 dans sa dans son
20:15portefeuille de solution open source qui ont pour vocation de venir rendre plus mature le marché Cloud et surtout promouvoir l'adoption du Cloud et ils sont financés principalement par des acteurs comme as Go compagnie et donc au fur et à mesure on s'est retrouvé avec une solution cubern cubernetes initialement qui était principalement adressé à l'orchestration l'automatisation à la gestion scale et on s'est retrouvé du coup avec cette solution qui on noyau d'une panie de solution qui vient enrichir un petit peu l'expérience et l'usage test comme infrastructure et donc on va retrouver de plus en plus de pratiques qui vont venir accompagner ce que disait le mise à la mise à
20:59département la mise en code euh le scaleup scald pour rendre de plus en plus euh l'expérience au développeurs et et aux opérations euh de plus en plus donc typiquement euh la gestion euh des des fichiers Yam des fichiers configuration c'est sûr que utiliser la gestion des fich yamet telle qu'elle est écrite dans la documentation pure de de kubernetes forcément compliqué mais si tu commences à rajouter euh des du coup des librairies ou des des des solutions qui sont justement à là simplifier un petit peu le l'usage ça rendra un petit peu le des des fichiers puissants mais ça ça peut être un avantage comme ça peut être un inconvéent parce qu'il y en
21:41a certains qui vont dire moi j'ai pas j'ai pas envie de retrouver avec une Popli de solution pour traiter pour faire en fait les choses sont pas by default c'est à toi de composer avec l'expérience et donc la learning curve donc la courbe d'apprentissage elle est extrêmement longue on va dire elle est grosse quoi et tu dois te taper la doc de cubernetes je pense plusieurs fois parfois pour bien comprendre bien internaliser en fait la différence ouais enfin les subtilités on va dire dans chaque gr coin c'est sûr ça c'est sûr que c'est compliqué et donc ça ça c'est prier le deuxième point pour compléter un petit peu ce que disait
22:14sur aujourd'hui tu peux avoir plusieurs distributions donc tu as la distribution native qui par la communauté mais tuas entre temps une distribution un peu plus simpble qui jour déjà quelques années auparavant là qui s'appelle kits et qui est du coup finalement un seul binaire un peu à l'image de ce que propose que tu peux prendre installer dans une seule et là tuasas cl avec opérationnel avec un contrô play mais c'est vraiment un binal et si tu veux rajouter donc là tu l'installes dans une seule V tu te retrouves avec un seul node qui est limité si tu veux rajouter d'autres nodes tu as la possibilité de la
22:52rajouter donc ça ça t'enlève toute la complexité que tu avais avant à vouloir gérer du coup à vouloir maintenir l'infrastructure nécessaire pour que vers le controlpl le cerveau fonctionne avant même de commencer à attaquer les worklooud qui sont principalement les applications que tu veux donc ça c'est une distribution peu plus simple aujourd'hui on la VO de plus en plus pour des projets en productionà un peu moins moins complexe que ce qu'on peut retrouver chez des gros acturs après dans la distribution de de redat qui au donc op shift c'est une solution portée parat qui est vraiment très entreprise et qui coûte ultra cher et c'est une solution qui est
23:36adressée à des acteurs qui vont vouloir faire du du clownid ou vous avez investi auparavant sur des grosses infrastructure en crage chez eux ils ont leur propre Data Center et potentiellement ils ont d'autres d'autres serveurs dans le Cloud donc opheet qui a regrouper un petit peu toutes les solutions open source pour la gestion du de la cple de vie de ton infrastructure CLAND mais se base principalement sur cubernetes comm Noy dans sa distribution et puis après bah tuas la version communautaire que la majorité utilise et qui est plutôt pas mal et et en fait juste pour finir la spécificité qu'on commence à voir un petit peu sur les deux dernières années
24:24c'est que on commence à voir des cycles de dével des cycles de R de cubernétis de plus en plus longent parce que la communauté demande ça ce qui était un petit peu chiant avant c'est c'est que on se retrouvait tous les 6 mois avec une nouvelle version du CU des test qui venait casser un petit peu tout ce qui face vas-y je tpris rajouter non non non je je confirme ce que tu dis par mon expérience oui tous les 3 mois tu as une release et et du coup ça ce que ce qui ce qui était fait en tout cas je sais pas si c'est la politique de cubernetes
24:51mais les clot provider la l'applique en fait tu as un cycle de release tous les 3 mois et tu ne peux faire des updates de ton contrôle pain en tout cas chez les cloud provider que de release en release c'est-à-dire que si tu as de la discipline et que tu te connectes à ton dashboard tous les 3 mois et que tu fais Update et que tu détruis toute ton infrastructure pour la reconstruire tous les 3 mois parce que c'est ça une update en fait de controlle play tes machines virtuelles elles sont elles sont détruites elles sont réallouées avec les nouvelles versions du client cubernetes en tout cas chez les cloud
25:19provider euh et bien tuas tu dois faire ça tous les 3 mois parce que sinon tu as un support maximal en fait et ça je crois que c'est les politiques de trois versions maximales et du coup en fait c'estàd qu'au bout de 9 mois tu as plus d'update et tu es forcé de les faire par le Cloud provider et quand tu as des des choses qui qui cassent par exemple tu dois changer tes fichiers de configuration et cetera donc ça par contre je l''ai pas vécu j'imagine que c'est c'est double peine c'est double peine tu te vois obligé de de du coup de mettre à jour
25:53tes fichiers de configuration ton infra et voir un petit peu ce qui tourne dans l'intérieur voir les dépendances et devoir mettre à jour si tu as si si a des dépendances directes qui sont lié complètement à la version j'ai toujours pensé et ça c'est mon expérience qui me le prouve aussi c'est que les productions que tu ne touches pas que tu neupdates pas sont parfois les productions les plus stables et que parfois tourner sur tu sais te forcer àire faire en sorte que tes systèmes tourn sur les dernières versions donc là on parle plutôt de base de données et cetera de mon expérience bah c'est pas forcément une bonne idée
26:25et là ce ces cycles de releas qui te forc notamment à à update en fait en tout cas le contrôle plane c'est ça peut créer les d en fait en effet du coup j'avais une question ouais enfin sur sur tout ça les orchestrateurs parce que ça a l'air d'ê quand même une sacrée machine ça fait gagner du temps et cetera mais ça peut faire ça peut en faire perdre beaucoup si on le fait trop tôt dans le processus de son produit je pense et c'est à partir de quand maintenant avec l'expérience que vous avez est ce que vous recommanderiez à quelqu'un de s'intéresser à son à ce
26:57genre de outil par exemple euh et quand c'est le bon moment en fait quels sont les signaux qui font que c'est quand qu'on commence à perdre je sais pas la moitié de sesjourné à faire du dévelop c'est quand quand est que ça devient critique en fait de s'intéresser aux orchestrateurs en fait je pense qu'il ne faut pas être dogmatique euh c'està-dire que quand tu commences ton S c'est petit tu vois tu tu fais tout tourner sur un VPS he c'est la bonne VI méthode il pas de problème à ça mais je dirais que il faut penser assez vite à ce que tes applications soient dockurisé en tout cas de conteneurisé
27:27parce que c'est la et la condition en fait indispensable pour une migration vers un orchestrateur à l'avenir même pour nomade tour ouais même pour nomade après nomade par exemple tu peux ce qui est bien c'est que tu peux te configurer ce qu'on appelle le driver le driver ça peut être docker mais ça peut être aussi ce qu' appelleent Exec et Exec en fait c'est tu exécutes une commande sur ton serveur haute qui fait tourner nomade le client nomal et tu exécutes en direct comme si tu lançais une commande bâche ton application mais c'est pas c'est pas du tout recommandé parce qu'en fait l'idée c'est que ton
27:57application elle soit indépendante du système c'estàd que si par exemple je fais en NJS un ser microservice qui fait qui permet de Resizer les images quand tu resizes les image généralement tu as besoin de image Magic ou graphics Magic enfin une librairie sur ton système qui est installé donc moi je vais préparer une image d'b je fais dans la préparation de l'image desbian docker je fais apt get installimage Magic tu vois et du coup le service nojs il aura accès en fait au binaire image Magic qui a installé sur la machine si je prépare pas ça dans un docker ça veut dire que je suis obligé je crée une dépendance
28:26forte re entre la machine haute qui héberge mon application et mon application euh c'estàd que je suis obligé d'installer de penser à installer image Magic sur toutes les machines euh de mon orchestrateur ce qui est pas du tout dans la philosophie orchestration tu vois l'idée c'est que c'est un système industriel en al où tu as des tu as des protocoles des des systèmes qui sont standardisés et toi tu mets tout dans des boîtes en fait les applications elles tournent dans une boîte qui est déjà une image en fait qui est préparée à l'avance il le savoir il s'en fout en fait de comment comment ton application
28:58il tourne tu vois il fait tourner l'image et c'est pour ça qu'il est important de assez tôt je pense d'ocoriser mais pour plein d'autres raison tu sais même quand tu fais tourner ton application directement sur un serveur géré à la main il y a aussi des applications de sécurité tuas quand même un peu plus de sécurité à faire tourner les choses dans docker parce que tu as pas d'accès ça va vite franchement c'est aujourd'hui si tu dockerises pas dès le départ c'est que tu vas perdre du temps en terme d' FO par rapport à passer sur cuver c'est s que c'est c'est rien du tout et
29:31puis puis ça t'éparne le temps F aller détecter des dépendance des trucs ou juste installer une envie de remettre environas pas
29:48image bsion très bien en utilisateur ça c'est la base et puis avec une un file blocker que tu fais avec chpt tu l' on der et et puis tu tu l'oublies tu rajouteson parce que justement euh tu vois si tu es en dans ton cas Julien tuas si tu as ton serveur tu as plein d'ex enfin tu as peut-être que ton je sais pas ton API ou enfin tu as ton next tu as peut-être une API séparée tu as plusieurs j'imagine projet node en fait qui tourne en parallèle et tu peux utiliser NVM ou autre mais en fait tu as toujours une version node qui est globale sur le système et si tu veux
30:26passer à node je sais pas 22 bah tu vas la mettre à jour globalement sur le système ou en tout cas avec NVM ouais c'estàd que tu vas impacter toutes tes applications si tu redémarres le serveur toutes tes applications qui tourn sont impacté en même temps et l'avantage avec docker c'est que tu peux dire ok là aujourd'hui je travaille sur N hop je vais updater le N enfin le la version node dans le docker file de NOx hop je déploie ça marche et là tu as plusieurs versions de noes qui tournent en parallèle tu vois et progressivement tu vas venir updater node en version 22 tu
30:52vois et tu as pas de disruption enfin de risque de disruption ou ce genre de chos puisque tu as pas de binaire partagé et l'avantage aussi c'est que du coup c'est self documenté parce que tu as pas besoin d'écrire un redmi en disant j'ai besoin de note 22 tu vois j'ai besoin que tu installes sur la machine image magique en fait la personne juste à ouvrir le docker file et c'est en fait ça contient déjà la recette de comment est-ce que ton application tourne tu vois que ça définit juste uniquement le DIF on va dire à appliquer sur un système c'est les quelques commandes supplémentaires pour faire tourner ton
31:22application donc tu as aussi l'avantage je pense de documentation ouais ça fait sens j'avoue que j'ai toujours tendance à à me méfier do cur enfin c'est un ai intéressant mais c'est vrai qu'en local c'est un peu galère des fois bien le setup et ça fait perd pas mal de temps c'est pour ça que c'est plus un truc que je mets après en fait mais tu as raison sur le fait que des choses qui s'anticipent en fait tu prends quelques dimanches pour faire des petites choses de recuriser step by step et en fait le jour où tu as besoin d'avoir par que tu as du scale comme tu
31:50dis bah plusieurs AP et cetera plusieurs versions d'app plusieurs instances bah là tu étais content d'avoir fait tout le sur ça quoi et ce qui est formidable c'est que tu peux tout docoriser du coup tes bases de données enfin tout et du coup tu tu n'es plus si tu fais une mise à jour de Debian tu vois tu passes de Debian 10 à Debian 12 bah manque de pot tu vois la version de MySQL qui est pas 4G tu utilisis la version Debian la version majeure a changé ça a des implications sur ton application parce que tu as des des requettes SQL qui par dont les performances sont plus les
32:21mêmes tu vois parce que MySQL a changé le compartement machin machin là tu peux te dire ok bah dans ton docker j'ai envie de mysql8 tu vois je veux ma SQL 8 et dans 5 ans tu auras toujours ma SQL 8 tu vois et tu pourras tu décorrelles en fait la gestion de tes versions de l'os parce que l'OS tu auras tendance à vouloir le mettre à jour je sais pas parce que tu as le ssh dessus machin enfin les failles de sécurité le Carnel mais de l'autre côté tout ce qui fait toutes tes applications ça peut si tu mets à jour si tu as des problèmes de
32:50mise à jour de version un peu brutal tu peux créer des done time aussi assez fortes quoi et tu peux aussi du coup reproduire assez facilement dans des environnements de staging ton infrastructure puisque tout est conteneurisé tu as juste à réappliquer les mêmes enfin tu sais la même recette on va dire sur une autre infrastructure à part tout ça c'est automatique tu as pas à reproduire ton staging à la main quoi donc il y a aussi je pense l'avantage de tu peux créer des environnements de test que ce soit en local parce que tu as docur aussi en local ou sur ton staging ok c'est bon
33:21ok c'est moi si je reprends du coup le cycle typiquement si aujourd'hui là je vais lancer mon mon SAS et je et maintenant qu'on va triter un petit peu les différents cycles de lancement jusqu'au jusauia franchement au tout début pour MGP pour prototyé généralement je vais pas m'emmerder je vais je vais prendre mon vs code ou mon cursur et commencer à Deb et chit le premier truc je penserai aujourd'hui c'est sûr que moi pas typiquement ça va être assz facilement de monter un fichier docker et tout mettre dans docker donc je le fais c'est encore beaucoup de temps mais si je suis pas trop familier avec toker c'est pas grave
34:00je prends tous les services qui existent versel si je fais du du du nexs ou autre voilà sur le frontend à je je monte une une rapide C2 sur WS no JS et et j'avance ma base de données je la prends quelque part je prototype je regarde ce que ça donne et et j'avance dès que je commence à vouloir vise La Chal d'itéré avec avec des clients pour aller chercher mon product marketfit et je commence à avoir des versions et des R qui sortent h et et j'ai quelque chose qui tourne en prod dès que je commence à avir quelque chose qui tourne en prod je
34:33commence à penser à docoriser parce que je je ça va permettre la portabilité ça va me permettre de de Streamliner un petit peu ma ma phase de chiper code et entre chip jusqu'au jusqu'à prod ça me permet d'aller vite je prendrai un weekend pour docoviser mes mes mes euh les instances que ce soit frontend si j'ai si d'autre chose tu vois généralement au début tu paril l' deb après tu consommes des IPI et tout ça ça peut durer ça peut ça peut tenir jusqu'à 1 an si tu commences à itérer que tu recherches ton contact market tu t'en fous parce que c'est pas ta priorité à
35:07ce stade ta priorité c'est pas de ciner c'est d'avancer et d'aller et et d'aller de plus en plus ça en fait tous ces outils peuvent créer aussi beaucoup trop de rigidité dans ton processus et du coup quand tu ton ton produit n'est pas défini la façon don ton infrastructure tour est pas définie parfois c'est peut-être mieux aussi de c'est plus facile je pense d'expérimenter à la main sur un système en mode Yolo quoi et quand tes choses les choses sont beaucoup plus définies tu peux commencer à les graver dans dans le marbre et puis là commencer à à utiliser ses outils mais je pense que je
35:37pense qu'il faut pas être dogmatique et et ces outils là commencent à avoir beaucoup de valeur quand tu si tu commences à avoir quelque chose à perdre tu vois parce que tu as des clients tout ça et que du coup tu dois aussi avoir un time to recover on va dire qui est qui est faible grâce à l'automatisation donc je dirais ouaisut faut juste considérer ses outils à partir d' certain moment mais peut-être pas tout docorisé au début en fait c'est important de garder aussi ces cycles littératifs court je dirais que ça dépend tu vois parce que c'est vrai que il y a dans beaucoup de fois j'ai pesté parce que je
36:12je peux plus meou ça je au machine tu vois et genre aller introspecter investiguer à la main tu vois je dois passer par l'orchestrateur tag lancer une connexion dans un dans un conteneur machin il y a je pense qu'il y a tout un tas de paradigmes euh qu'il faut réapprendre quand tu viens du monde de la gestion de serveur à la main euh ça les les tu peux toujours débugger tout ça te connecter aux machines un peu à la salle mais euh il faut connaître les commandes donc il faut tout réapprendre et ça en fait quand tu es en situation d'urgence je sais pas tu as une grosse
36:41done time euh tu dois débuger un truc avec un client euh si tu si tu es l'expert du SSH on va dire et des des commandes bâes et que tu as pas l'habitude de comment est-ce que les orchestrateurs marchent pour faire des choses équivalentes ça va te prendre un peu de temps de t'adapter et ça m'est déjà arrivé d'être dans des situations comme ça quoi ouais et vous avez des conseils d'ailleurs à donner à des développeurs qui démarrent sur ces s de technologie h bah quand com quand vous avez démarré en fait vous vous avez tapé direct la doc et vous Avezé un peu de vidéos sur Youtube c'est prend prendre
37:14la première V sur PC installer docker maintenant il a déjà cuberntis intégré et commencer à et commencer à et puis je pense que l'orchestration moi j'ai fait l'erreur de commencer par cubernetes et je pense que c'est enfin de mon point de vue c'est c'était une erreur parce que du coup j'ai détesté l'orchestration euh pendant les premiers mois parce que j'avais pas le temps d'aller lire la doc tout ça de bien comprendre donc j'essayis juste d'avoir quelque chose qui fonctionne et et c'est tellement alambiqué parfois et complexe que j'aurais bien aimé avoir en fait quelque chose qui implément les concepts de cubthè mais plus simple et en fait
37:44c'était nomade et ça aurait je pense que c'est une bien meilleure façon de d'apprendre on va dire pour d'aimer l'orchestration de que de commencer par nomade et après quand tu commences à vouloir aller faire des choses plus avancées et plus extensibles tu peux commencer à regarder cubernetes ou ah ouaisaurisurais vu personnellement et tu dans la mesure où tu es tu tournes sur fais tourner tes applications sur des dédiés euh et j'aurais plutôt recommandé nomade tu vois dans la mesure où tu préfères utiliser un Cloud provider où tu as tout qui est déjà géré pour toi le CL le contrôle play cubernetes tu es fourni même parfois gratuitement bah
38:22franchement cubernetes cubernetes moi je dirais kubernetes par par que ce qu'on a la chose qu'on a pas peut-être abord et qui est qui est juste personnellement pour moi un truc game changer surtout quand tu cherches quand tu as besoin de réiser des nouvau features quand tu veux répondre un petit peu au besoins de tes clients c'est cuber vitess a une communauté mais tellement colossal que tu cherches tout et n'importe quoi tu trouveras toujours un ripo avec les fichiers qu'il faut avec la config qu'il faut avec un fichier docker qui répondra à ton besoin d'une manière ou d'une autre et ça permet déjà de pas repartir de zé deartir de quelque chose et de
39:00l'adapter ça permet d'aller mesure ou par la mesure où la communauté est très large du coup il y a beaucoup de ressources en ligne qui sont disponibles et ben GP il est clairement en mesure de de générer des fichiers de configuration cubernetes genre nickel quoick et ai avantage tu vois les fichiers de configuration je t'aurais dit que ça aurait été un problème il a 3 ans 4 ans mais aujourd'hui c'est plus excellent désolé je couper tomboup je rémarr Tu je je voilà on pas AB ce point mais cubernes ou nomade qu'il soit sont capable faire des donc fait tu définis dans définition cubernet c'est quoi la définition de mon
39:50AP quand est-ce qu'elle est en bonne santé tu vois et du coup tu fais maat ch qui passe pas tu lui mets une policier ok au bout de jeis pas trois fois qu' ça passe pas ok bah tu me la butes et tu me la réinstanci et là tu vois dans ce cas-là si tu as une AP qui est tombée parce qu'elle était attaqué je sais pas qu' y avait un bug une erreur 500 un crash bah là tu vois ton cubernettes il te l'aurait buté réinstantié il y a pas de problème tu vois et ça tu vois ça tuas rien que pour ça ça va du coup tu as pas besoin d'êre
40:19réveillé la nuit ouvrir ton maque tu Laer ça chez la machine relancer le process tu vois mais en fait tu vois moi je me dis que que mine de rien avoir des compétences en docker le plus tôt possible c'est pas plus mal après docker c'est pas non plus très complexe tu sais en fait enfin je ve dire à faire tourner des petites choses en fait faire tourner un next un et cetera c'est assez simple mais avoir des des compétences docker c'est c'est pas mal parce que je pense qu'on tape beaucoup de choses dans le terminal et pour installer ple tas de trucs avec les fameux tutos digitalocé
40:47c'est comme ça que j'ai appris avec leur tutos mais mais le truc c'est que en fait quand tu fais le temps passé versus le temps que que tu aurais passé à apprendre quelque chose à maîtriser un un système docker je pense que tu peux gagner plus de temps avec docker sur le long terme euh plutôt que de réinstaller à chaque fois toutes les permissions les tilateurs masql j'imagine tout ça ça fait pour toi en fait M tuas rien à faireis tu tu vois tu peux avant même de com tu vois avant même de commencer avec kubernites tu peux tu peux avoir ton docker compose c'est vraiment officier y
41:17m que tu définis dans lequel tu peux mettre plusieurs conteneurs donc un conteneur VPI un conteneur frontain une base de données qui communique avec elle avec les les bonnes variable le bon service quoi et et tout ça ben en fait c'est vraiment rarapper la 4G et prêt après à être utilisé dans et ça c'est allez c'est un weekend de documentation de test et et tu l'as quoi et la documentation de cuberntise elle est elle est bien non ouais c'est ce que je pensais ouais j'attendais d'avoir ton avis justement çai parce que moi je suis très biaisé sur ça je non non non moi moi personnellement je à chaque fois que j'y
41:59vais mais tu vois le concept je le connais j'idé juste pour m'assurer que tel flab t machin je me dis mais c'est pas possible c'est c'est en fait c'est tellement extensible que c'est je sais pas c'est il y a des ramifications partout tu vois et quand tu regardes dans la sidebar en fait tout les features il y a des choses qui sont listées tu vois dans des catégories qui ont rien à voir entre elles tu vois donc quand tu cherches quelque chose je pense qu'il vaut mieux demander à l'ay ou passer par Google que de chercher directement dans la documentation tu vois ouais si j'ai un conseil Jien pour
42:30le coup moi je prendrai kit j'installe ou je prends par exempleah dis je crois que les contrô PL son il est trs très bon il faut jamais installer cont contre soiême vouloir faire il est chez Digital ence tu si tu crées un compte il est gratuit donc c'estàd que tu ne payes que pour les machines que tu instan que tu as des machines qui sont qui gèent ton cubernetes tu vois mais elles sont mutualisé avec d'autres clients de Digital océan donc en fait dans cette mesure là tu les payes enfin c'est gratuit quoi après tu peux aussi si tu tu as une grosse infra tu peux te dire
43:05ok j'ai j'aimerais bien avoir mon contrôle plan dédié tu vois et là tu payes tu payes à peu près une centaine de dollars par par mois je crois pour pour gérer un contrôle pain avec de la redondance tu sais où il te mettent trois serveurs h ouais le le controlle pain reste quelque chose de complexe qui demande une expérience et on commence pas directement à vouloir tout faire avec soi-même en fait mais même même même si tu une bois qui fait 100 millions tu le fais pas mis à part si tu as ton propre cloud privé on notire des sujets du gouvernant de donné et puis un problème
43:34sur le contrôle plain parce que tu le gères mal ou qu' a une don time c'est une recette pour une catastrophe après sur ta production c'estàd que le si si tu fais beaucoup de tu sais de de DP scale et de Down scale automatique et que parce que tu as des trafics pattern dans la journée qui sont tu sais un peu wavy comme ça tuas plus tu as plus d'utilisateurs un moment tu en as moins et que tu veux faire des économies donc du coup toi tu ajoutes des serveurs tu les retires tu les ajoutes tu les retires ça c'est ton cont contrôle qui va gérer ça tu vois et sil est si tu as
43:59un problème s'il est down bah derrière en fait ton autoscaling il marche plus quoi euh ce genre de choses tu vois tes applications peuvent plus se s'enregistrer auprès du controlle plane pour qu'elles aient un nom de domaine machin enfin que le proxy du coup réseau marche c'est la catastrophe tu vois ça tuajoute une complexité et je pense qu'il vaut mieux déléguer on va dire la gestion de cette complexité à quelqu'un qui sait bien le faire puisque c'est son métier et toi te concentrer sur ce que tu fais tourner on va dire ton application quoi ou et du coup il faut il faut être lié deuxième étape c'est il faut vraiment
44:33être lié avec les concepts de cuberlitis que c'est des concepts qui vont te paraître un petit peu abrait au tout début qu tu commences à à y aller mais on va commencer de parler un concept qui s'appelle déploement ou un concept qui s'appelle service ou replica et et c'est des concepts qui ont été m c'est le résultat quand même de beaucoup d'é d'expérience de gestion d'infrastructure dans Google même dans d'autres boîes ont été revu et mais et qui permettront du coup de rendre les opérations des les opérations de gestion deinfrastructure un peu plus simple et plus réaliste même si au départ ça va te paraître un petit
45:06peu à peu près ce que c'est un déploiement parce que tu dois mettre un fichier y qui va coup dire matérialiser le déploiement que tu es en train de faire tu vois tu vas devoir lu mettre plusieurs configurations et tu dois devoir lu rajouter non pas un conteneur mais ce qu'on va appeler un pod qui peutoup de conteneur mais qui généralement un ce conteneur dans la majorité des cas tu vas avoir un conteneur un pod mais dans cas peu spécifique tu veux tu don en fait ce ces concepts que tu décris ça peut être un peu mis en lien avec des classes enfin la programmation objet parce que
45:41finalement en cubernetes tout est un pod tout tout hérite d'un pod et après tu as des spécialisations de type de de Pod on va dire donc c'est ce que tu fais tourner donc tu as les réca 7 les state full 7 les déploiements et tout ça c'est des choses qui ont qui dérivent de ça et qui vont avoir des comport d'orchestration un peu différent euh dans par exemple si tu fais de la base de données euh c'est plutôt recommandé de faire un state full set parce que genre généralement tu peux pas burster en fait une base de données tu vois alors qu'un déploiement en fait c'est
46:09burstable donc quand tu et et en fait tu peux aussi gérer des principes où quand tu mets en ligne ta nouvelle version de ton API tu auras genre des Canaries deployment enfin des Blue Green tout ça donc c'est là où mes mes connaissances s'arrêtent mais en gros le cuest est capable en fait de faire des déploiements progressifs où tu as des les vieill versions de ton API qui fonctionne avec les anciennes les nouvelles sont testées tu vois et progressivementff l'ancienne tu vois et et tout ça c'est des concepts qui sont un peu théorisé tu vois qui sont implémentés tout ce qui est Blue Green que tu vas pas faire sur une base de
46:40données typiquement tu vois une base de données tu en as gen tu un cluster SQL tuas un master slave tu vois tu en as toujours deux qui tournent par exemple tu en as toujours deux tu vois si tu redéploies une nouvelle version tu en auras toujours deux tu as pas envie d'avoir trois ou quatre qui tournent à la fois et c'est très différ quand tu déploies des applications que toi tu as développé ou des bases de données et donc pour ça tu as des types de Pod différents il faut pas faire l'erreur du coup quand tu lis la doc c'est pas forcément très clair mais il
47:06faut bien comprendre en fait les implications de chaque type de pote que tu vas utiliser quand tu écris ta configuration du coup pe pour rassurer il y a des concepts que que tu vas peut-être utiliser quand tu stack fait tu do gérer 100 million de roquets par jour mais mais en soit il y a TR qure concepts sur lequel il se familiariser une vidéo YouTube te permet pr monde de les cololler et ça te permet de faire ton premier ton premier déploement pour soit ton Contur II et ça te permet de familiariser avec avec avec et il y a quelque chose qui est encore plus incroyable je trouve que
47:43que je trouve incroyable pour les backup notamment c'est que tu peux définir des fichers de configuration qui te qui sont des sortes de Crown job des tâches scheduled on va dire dans le temps par exemple tous les dimanches à 1h du matin hop tu déclenches ce conteneur là avec cette configuration là et donc par exemple tu peux faire un conteneur docker qui qui centralise le fait d'émettre des backup tu vois de de se connecter à ta base de données hop de récupérer le SQL de le GIP et de le transmettre je sais pas sur un S3 externe et tout ça au lieu que ce soit des au lieu de placer des fichiers Bâ
48:15sur ton serveur de manière obscure dans ton tu sais dans dans un user local bin là et de définir ton ton ton chrome Tab à la main en fait tu peux le définir pareil dans l'orchestrateur et c'est l'orchestrateur qui gérera la skeduling de déclencher tes backup en l'occurrence ça peut être par exemple déclencher let unrypt C bot pour renouveler tes certificats ce genre de choses des opérations schedules et donc ça ça existe tu as aussi d'autres types d'action euh et là c'est un peu plus technique et moi j'en ai pas l'usage personnellement mais tu peux déclencher des jobs systèm alors je ne sais pas comment ça s'appelle en cubernetes mais
48:48en nomade ça s'appelle système en gros des qu pour pour les DM pend du coup exactement ça ouais et en gros c'est un job qui va se déclencher sur tout t toutes tes machines c'est que si tu as une dizaine de serveurs qui font tourner des applications et qui sont connectés du coup à l'orchestrateur cubernetes donc on parle de tes serveurs hutes et bien en fait c'est une job qui va te qui va être garanti de tourner à la fois sur tous les serveurs donc je sais pas si tu veux par exemple monitorer le CPU des machines hautes et que tu veux mettre ça dans ton
49:20orchestrateur ce genre de chose en fait tu as la possibilité de le faire en fait ce qu'il faut imaginer ce que di derrière intéressant c'est cuberlites c'est vraiment une infrastructure on va dire une plateforme qui va te permettre de tout installer de Dr donc là on on a descis cubernetes qu' étant un orchestrateur pour lesquel pe gér mais aujourd'hui comment il est utilisé réellement c'est du coup vraiment une plateforme qui peut accueillir énormément de packag on va ça des packages c'est ça peut êre des custom je sais pas c non non custom definition je me rat plus mais du coup en gros donc la communauté ou voir même des providers
50:03de solution vont écrire des fichiers de configuration avec des conten quo onà vraiment une solution partière on va avir des frais par exemple prométhis prométhis c'est la solution qui est utilisée aujourd'hui pour pour pour récupérer d'rix dans tes dans tes solutions dans T dans tes workoud et promettez sur une solution sources et c'est vraiment le standard aujourd'hui un petit peu utilisé pour pour récupérer lui pour lui tu viens tu c et tu as des solutions de gestion de package comme qui s'appelle h par exemple c'est en commande tu tu tap entrer et tuas tu as ton premier T qui est déjà installé avec tous les toutes les configurations
50:48nécessaires et tu n'as pas aller le configurer TR même tu Fall les récupérer il y a des réos maintenus par la communauté qui vont récupérer toutes les bonnes pratiques un petit peu généralistes qui fonctionnent il y a 70 % des cas tu les installes et c'est production avec les bonnes pratiques et tout tu m'installes tu prends pas la tête allez promier t il fonctionne bien il va falloir mettre maintenant un petit peu du Juel pour pouvoir suivre tes matrixes tu vas installer grafal Graf ok pareil c'est c'est une solution source communauté tu vas l'pp tu vas l'installer avec H c'est vraiment comme tu tapes euh sur l' tu tapes il y a un
51:27AD fonction de du gestion de package bah tu vas faire pareil et tu vas reprendre le standard des configurations de gfana avec ton Comus et là tu as un grapheas grap gra qui vont reprendre toutes les matriques CPU r band protection ouais quelque chose que tu ne peux pas si tu veux tu veux faire toi-même ça énormément et du coup tu capitalises sur toute la connaissance que la communauté partage pour aller vite et ça c'est valable pour tout pour la partie networking par par la gestion des des des des certificats bah CER manager avec avec letpt c'est en deux clics et tu as déjà du HKTS surtout
52:13in et jusqu'à trèspard on le déconseille d'avoir des database donc cuberlitess parce que par définition cuberlit c'était une solutioness mais très tardim donc il avait un concept de ce qu'on appelle des state mais qui permet justement de gérer des données pour ça qui géraent un état en fait au sein du cluster mais très tardivement on disait que c'était il fallait des colicences assez poussé dans la gestion des databases pour pouvoir justement émerger une base de donné donc cupates mais il y a des des paquets il faut dire des des initiatives au source qui ont vu le jour récemment et par exemple si tu as du post gré il y a
52:52cloudntive PG c'est une solution aujourd'hui qui est vraiment penser configurer pour avoir une date base de données avec les mêmes standards et les mêmes niveau de ded que tu peux avoir si tu vas aller prendre une database chez AW et en fait quand tu as le temps et quand tu as et quand tu commences à avoir la maturité technique et quand qu ça se le permet parce que tu as déjà tes clients et que tu es dans un et et que du coup maintenant ta stack ne suis plus parce que tu commences à t'approcher t d'AC kit voir tu l'as bah ça devient de plus en plus intéressant aller migrer dans
53:27cubernetes et aller capitaliser sur ces briques là parce que ça réduit drastiquement les cûts et on s'est amuser une fois aller juste faire comparatif contre ce que pourrait te coûter un promierus avec gfana sur la partie métrique c'est les monitoring versus les solutions que peut proposer la WS sur la partie monitoring mais enfin on parle de vraiment un ratio de fo00 en terme d'économie et c'est là où ça devient int non il a dit 100 Ah de 100 pas ouais éidment ça ça coûte rien ça coûte rien presque rien et ouis il y a un point tu mas rappelé un point en parlant des bases de données qui étaient
54:05cubernetes on va dire native compatible il y a un gros sujet par contre sur le stockage des données en effet sur des clusters cubernetes parce que cubernetes en fait as la notion que tout est transitoire on va dire tout peut être détruit et réalloué or ça ver un peu en contradiction avec la la philosophie de ce que c'est une base de données tu vois parce que les applications ne sont pas band ne sont pas lié on va dire aux machines qui les font tourner c'est-à-dire que quand tu as du stockage SSD et bien il y a rien qui te dit genre que l'application va être allouée sur la
54:41prochaine fois qu'elle sera alloué par l'orchestrateur sur la machine qui a les fichiers tu vois qui sont stockés sur le SSD là où quand tu fais une machine virtuelle tu sais que tu as un serveur que tu as nommé bidule et bien c'est là où se trouveront les fichiers de ta base de données et donc tu as tout un sujet en fait à créer enfin après on arrive dans les complexités mais où tu dois dire tu dois créer des claims de de volume machin enfin et et en fait c'est compliqué et quand tu fais du de l'orchestration cubernet avec un Cloud provider donc tu ne gères pas les machinesas aucune
55:11machine que tu gères à la main elles sont toutes transitoires elles-même quand tu fais une mise à jour de cubernettes d'ailleurs tes machines seront détruites donc les machines virtuelles par exemple chez Digital seront détruites et bien en fait bah tu peux pas du coup relay sur le SSD c'est impossible et du coup tu du coup travailler avec des c'est quoi les container network non des CSI ou je sais plus enfou c'est ça je plus je c gros des interfaces qui te permett d'allouer du stockage de la ressource avec ton cl provider donc digital par exemple dans ce CASL implémenté le CSI SAF que la ressource qui t serv qui t serv de l'autre côté
55:50chez çait du block storage donc en fait tu peux vouloir héberger une grosse base de données avec un fort trafic un très fort i disque qui tourne très bien sur SSD B si tu veux être 100 % cubernetes tu vas devoir utiliser le du block storage en fait pour être compatible on va dire avec le fait que les machines qui hébergent ta base de données sont transitoires peuvent disparaître un bloc storage c'est simplement quelque chose qui peut être alloué à n'importe quelle machine et la donnée elle persiste tandis que ta machine dans son cycle de vie elle disparaît tu vois et donc ça peut poser des problèmes donc là tu peux arriver
56:24dans des dans des situations où tuas des inf structure hybride où tu crées des tu sais des machines virtuelles que tu gères à la main pour tes bases de données à fort trafic et dans d'autres cas tu as des bases de données à faible trafic moi c'est mon cas avec certains post gr SQL que j'éberge directement sur du block storage et là les posts gr SQL tournent en 100 % cubernetes donc tu vois tu peux te en utilisant un clot provider par exemple par que tu n'as pas avec les machines physiques quand tu gères toi-même tu es dédié à la main oui là où tu peux te dire ok bah là je grave
56:50dans le marbre le fait que la base de données je la stock sur le SSD de ce serveur dédié là et de toute façon il ne va pas disp ît c'est la ressource physique physique si tu utilises cubernetes avec des ressources cloud faut savoir que tout peut disparaître il y a rien qui est gravé dans le mar et donc le stockage tu ne peux pas l'assigner sur du SSD de manière fiable et ça c'est un c'est un gros un gros brain FCK en fait je dirais enfin c'est une grosse contrainte mentale et il fautut enfin ça te fait repenser en fait un peu ta façon defin de gérer ton infrastructure je
57:21pense où est-ce qu'elle est la donnée tu vois ouais mais mais maintenant tu peux maintenant par exemple sur la partie gestion du stockage donc il y a des solutions comme longr c'est une solution du coup elle te permet justement d'avoir de de gérer du stockag de créer des volumes qui vont être persistants indépendamment du nombre de nodees indépendamment s'il not qui saent parce que du coup il m'a créé des RCAR entre plusieurs modes et ces volumes vont servir pour pouvoir héberger des bases siffau si tu as de la SSD dans tes notes que tu veux vouloir mutualiser pour réduire tes coûts mais ça c'est vrai valable dans les dans les dans les c'est
57:58quoi le nom d'ailleurs tu as dit long c'est comme le taauc non il a une technique tu vois pardon pour qu'on a exploité sur un sous-produit de crisp qui s'appelle mirage donc on utilise on héberge des gros clusters ellastic search dans cubernetes et quand on fait des mises à jour cubernetes du coup ces clusters disparaissent et en fait search a une feature qui te permet de backup toute la base sur un S3 et du coup tu fais la mise à jour et tu peux réingérer le backup sur les machines vides une fois que tu les as mis à jour et du coup le laastic search fonctionne toujours sur
58:31SSD mais c'est une solution un peu bâtarde tu vois et ce que c'est qu' a ouais a des bases de données en fait qui te permettent de trouver des un peu des solutions euh un peu au middle ground mais c'est pas valable pour tout quoi ok c'est mais dans ensemble du coup pour finir peut-être pour conclure sur cette partie à la fin on sera jamais amené configurer nous-même ces solutions vraiment on fait c'est comme quand on prend package l' ou autre bah essaie de lu faire fonctionner avec les autres à la fin on maîtrise c'est vrai qu'on maîtrise pas ce qu' à l'intérieur vraiment attention parce que dès qu'on
59:11rajoute quand même une solution va consommer des ressources on va savoir cquer un ces ressources là pas voir un peu le nom de mais à la fin tu peux assez facilement concoser entre différentes solutions pour une infrastructure qui peut être résiliente mais avant au coup mais ça tu le fais qu'à partir du moment où tu as déjà ta stack qui est assez mature tu as la technicité les compétences en là ouais et il a un peut-être et aujourd'hui ce que je je que là récemment là sur les derniers 6 mois j'ai commencé à travailler un petit peu sur les sujets d'hébergement des des des LLN dans cubernetes donc boir un petit
59:52peu les différentes solutions et je surtout pour faire de référence et surtout comment tu gères un petit peu les dépendances vis-à-vis les cartes que que tu là en fait tu tu TR trou avec aujourd'hui des opérateurs des solutions qui vont faciliter complètement du coup l'installation des d vid en a euh faire de l'inférence à gr à très grande échelle avec différentes solutions open source que tu peux installer euh voà tu qu'avoir tes LLM directement accessiblees en open source pour le coup directement accessible de sur t hoster tu tournes et qui sont qui qui sont mutualisés avec tes autres ressources pour RÉIR un petit peu l'po tu vois là j'ai une app c'est ça
1:00:34qui est cool c'est un peu le Graal pour moi mais genre j'ai toutes mes applications ça c'est une app qui euh du coup qui te montre ton qui se connecte à ton cluster cuits et qui te montre l'état de tes applications comme tu l'as en command line et du coup je peux monitorer finalement j'ai mes service là j'ai les state tool set enfin tous les tous les types qu'on a décrit tu vois les demmon set là je normalement j'ai un j'ai un système qui voilà qui check les GPU justement c'est marrant qu'on parle de GPU mais qui vient exécuter la commande Nvidia SMI pour check si le GPU il est toujours en ligne
1:01:07excellent on a des petits problèmes de des petits problèmes avec nos GPU et du coup je peux voir en fait à distance tu peux être en train de prendre une bière je sais pas le soir et il y a tu as pas ton ordi il y a un truc qui se passe et tu veux juste quick check j'ai les logs tout ça et du coup tu peux te créer des accès readonly ce qui per permet juste d'avoir un accès tu te fais voler ton téléphone c'est pas grave la personne elle a pas accès à ton cluster en écriture mais ça te permet au moins de voir les logs par
1:01:33exemple ce genre de chos ce que tu ferais par exemple je sais pas comment tu le ferais de manière sécure sur un iPhone en SSH mais genre dans la méthode classique c'est tu te connecterais en ssage depuis ton iPhone et tu accéderais à tes systèmes pour diagnostiquer rapidement si tu n'es pas de derrière ton écran bah là tu as des application mobile en fait qui implémente l'API de kubernetes et qui te permett de de voir l'état de ton cluster comme ça c'est un peu le petit mot de la fin et je trouve ça cool je trouve ça cool de d'avoir une visibilité comme ça n'importe où sur ton
1:02:02cluster ouais quand tu te fais chier au repas de famille c'est quoi ton c'est toi qui la connais d'ailleurs ou c'est tu l' fait non non non non ça s'appelle tuber c'est une c'est une app payante sur l'App Store mais c'est du One Shot payment donc OK et pour nomade malheureusement il n'existe pas d'AP donc à un moment j'avais voulu la la coder puisque c'est assez simple c'est des petit tableaux mais bon c'est pas forcément le focus quoi top ben écoutez vous avez des choses à rajouter sur le suj des orchestrateurs don c'estou c'est un sujet nouveau pour moi donc ça m'a intéressa de vous intervie là-dessus
1:02:37parce que ça permet d'apprendre pas mal de choses je vois un peu plus clair d'ailleurs sur sur tout ça et je je retiens même en fait que euh l'orchestrateur mine de rien comme tu dis tu peux avoir aussi une industrie qui se crée comme l'intelligence artificielle et cetera et où en fait ça on retrouve d'autres cas d'usage qui se créent avec euh avec l'ti en fait tout simplement parce que là tu tu joues sur des échelles qui sont je sais pas quand j'entends qu'ils ont acheté des milliers de de GPU et cetera pour pouvoir faire tourner des modèles ou les même les construire j'imagine qu'ils doivent
1:03:08utiliser des outils similaires derrière non enfin peut-être pas je sais pas franchement obligatoirement parce que c'est plus humain en fait c'est plus possible humement de gérer ça ok en tout cas ouais le le conseil qu'il faut retenir c'est juste il faut pas aller trop tôt parce que sinon tu peux tirer une Val dans les pieds aller trop tard plus il faut pas allerop tard par que manque à G que va Trez écoutez merci de nous avoir écouté puis merci à Sam Val partagé connaissan nésite pas vous abonner si ça vous a plu et puiser d'autres sujets aussi on va faire plusieurs en REM ce parce qu'on
1:03:40est pas tous pas tous à côté mais ouais hésitez pas à dire ce que vous en pensez et je souhaite une agréable journée à bientôt
No line in this video contains that word.
Where these words come from. This is the caption track YouTube holds for this video, written automatically by YouTube rather than by the creator. We read it, tidied the line breaks and laid it out so it can be read. The plain text version is at https://viewrankai.com/tools/youtube-transcript/XOYZAimuyBg.txt.
All rights in this video belong to SaaS Makers. Watch it on YouTube. If this is your video and you would rather this page did not exist, tell us and we will remove it.