# SaaS DevOps, Réalité des Migrations, Orchestration, Turborepo - Valérian Saliou & Julien Le Coupanec Channel: SaaS Makers Video: https://www.youtube.com/watch?v=rE9h_xr0qqE Duration: 1 hr 2 min Language: French Words: 12958 Transcript page: https://viewrankai.com/tools/youtube-transcript/rE9h_xr0qqE --- [0:00] salut à tous bienvenue dans un nouvel épisode de sasmakers aujourd'hui je suis en compagnie de Valérian salut Julien salut Marion alors on t'a pas vu de l'été c'était assez occupé du coup j'imagine que tu as eu un état assez mouvementé oui alors en fait j'ai profité de l'été pour faire des migrations qui étaient vraiment attendues chez Chris en fait chez Chris on a on a énormément de projets en micro service des projets Web basés survus etc on a on a une centaine de serveurs qui font tourner tous ces microservices là et tout est géré en fait un peu comme on faisait en 2015 entre guillemets dans [0:34] l'état de l'art c'est à dire c'est des machines virtuelles et on gère un peu ça à la main ou avec des scripts et en fait il a fallu mettre à jour enfin rattraper quatre quatre heures de mise à jour sur ses serveurs à peu près deux trois deux un deux trois ans de mise à jour sur sur vugs et tous les projets annexes donc ça a été assez compliqué on a tout fait en même temps pour pour que l'année qui arrive soit soit clean et qu'on puisse commencer à faire de la feature Chris donc ça peut aller du microservice qui gère le routine des messages au [1:08] micro service qui va gérer la facturation des clients au micro service qui va gérer la les Analytics etc et chaque micro service va parler avec un type de base de données etc qui est un peu plus de plus ou moins spécialisé avec un type de sujet parce que sur Chris on fait du messaging mais on a aussi de l'analytique si on a un centre d'aide etc donc en fait on a tout un tas de base de données qui sont qui sont plus ou moins différentes on a du Mango on a du maïs clair on a durélie bah oui voilà il faut mettre à jour tout ça et [1:34] on peut pas tout mettre à jour one shot donc c'est vraiment du Rolling update tout est répliqué en soit en master slave soit en quand on est sur du Mango on a des répliques à 7 donc primaires secondaires arbitre donc en fait on sonne pas nous permet de faire des mises à jour zérodentime mais ça n'empêche que en fait au final il y a beaucoup de serveurs en fait on l'infrastructure l'infrastructure expliquée sur plein de petits serveurs chez Digital océan donc c'est pareil je suis à double AWS etc donc c'est des débats c'est des petites machines virtuelles donc l'avantage c'est que c'est facilement backupable c'est minimal c'est facilement [2:08] migrable en fait si jamais il y a un problème sur l'hyperviseur donc ça le serveur physique qui va faire tourner la le serveur et l'avantage c'est que on peut avoir une base de données ma SQL qui sera sur répliquer et on peut garantir qu'elle est dans le data center hébergée sur deux machines physiques différentes donc ça peut arriver que les machines physiques dans les baies qui qui dysfonctionne qui se mettent à l'arrêt et ben en fait on aura toujours une disponibilité de la base de données mais le problème de ça c'est que ça ajoute beaucoup de complexité à gérer parce qu'en fait le point aussi que vous [2:38] voulez évoquer dans cet épisode c'est que quand on a un sas il y a il arrive un moment où on va devoir mettre à jour la STAC que ce soit du front par exemple Knox 2 anox 3 ou de vidéo que ce soit même sur du backen un framework backen à mettre à jour ou même tout simplement la personne de buntu la version de la section je la version masculin qui passe par son 5 à 8 par exemple peu importe et tout ça c'est un truc que l'on découvre un peu quand on est dans les tranchées dans le sas et finalement ça prend beaucoup beaucoup de temps et beaucoup [3:05] d'énergie mentale ce que c'est moi comment je l'ai vécu aussi cet été parce que j'en ai profité que ce soit un peu plus mort pour migrer cet été c'est que c'est un moment qui prend du temps on pense toujours le faire en un mois et finalement en fait ou en une semaine ça prend peut-être le double du temps et c'est une période ultra frustrante c'est comme ça que j'ai vécu parce que tu peux pas boucher de nouvelles fonctionnalités et je me suis même fait la remarque je sais pas si ce qui est très sympa c'est que pour le coup quand tu as du cash c'est peut-être le bon moment de l'investir [3:30] dans un dans de l'aide pour mieux gérer ses migrations là tu vois quitte à prendre un freelance pendant 30 jours à fond pour nous aider à faire une migration en front en bac de manière à pas faire de pas se cramer quoi tout simplement bah pour quelque chose de très sensible on va dire comme une infrastructure qui héberge beaucoup de données etc qui sont relatives aux clients je dirais que c'est mieux de l'internaliser même si c'est très rébarbatif pour pour du framework type vue etc oui en effet ça peut être ça peut être une bonne idée de déléguer ça à freelance et toi ben derrière tu fais tu fais du [4:04] cadre un peu son travail et tu peux te servir aussi de éventuellement de jeepetty pour te suggérer des des types de migration comment changer tel compte un composant VGS pour l'adapter de Nuxe 3 de Nuxe III etc personnellement non mais je sais que bah Baptiste j'écrisp et utilise beaucoup chat gibiti pour bah pour suggérer du code etc et notamment dans l'immigration ils en est si on est beaucoup servi parce qu'en fait chez nous Baptiste Elliott ont beaucoup géré en fait les migration des projets web ça a été aussi assez laborieux donc tout l'été en fait que ce Baptiste Elliott chez nous on gérer les le web moi j'ai géré le bac et [4:39] on a aussi profité pour faire une passe puisque la côte basse date de 2015 pour en fait on a une cote baise dans JavaScript mais on a voulu quand même en fait avoir uninter enfin qui permet de vérifier si on d'avoir une sorte de notion d'équipe tout en étant en fait dans du javascript de base et ça dans le dernier épisode qu'on a fait et ça a été extrêmement laborieux aussi pour eux de faire ça ils se sont beaucoup servi de tous les règles du chat pour générer les règles et puis après ça a été intégré dans un US Lindt pour pour le LinkedIn et puis après avec [5:08] et puis après on a aussi généré des types pour les pour les libraires communes qui nous permettent de vérifier si on fait des erreurs et ça ça peut faciliter sur le long terme les migrations notamment je te donne un exemple quand tu fais du beeling tu as la pays de stripe que tu vas consommer stripe export des tips si tu mets à jour une fonction qui tape dans stripe et que tu fais tu oublies un argument etc ça va de le suggérer si tu veux tu auras tu vas gagner du temps en fait tout simplement les avantages du taxep sans être rentable parce qu'on a des dips qui sont [5:38] autogénérée autodides du JS doc ce qu'on a toujours fait attention de faire chaque fonction en fait et documentée par du JS doc donc ça c'est un peu le TIF script à l'ancienne quand typescript n'existait pas et aujourd'hui tu peux aussi extrapoler en fait finalement des types auto-générés de ton JS doc [Musique] je recommande de le regarder pour ceux que ça intéresse parce que le type script c'est vrai que ça peut ça peut permettre d'éviter beaucoup d'erreurs mais le problème c'est que c'est quand même assez lourd comme comme langage à mettre en place pour ceux qui préfèrent la simplicité du javascript à l'ancienne après il y avait [6:10] une question je voulais te poser parce que je me suis fait la remarque moi je l'ai fallu que je migre de Knox 2 à NOX3 et j'ai commencé début juin et j'ai fini mi septembre donc il a fallu prendre chaque composant et j'ai pas non plus des interfaces de ouf tu vois enfin mais en fait on se rend pas compte mais au fil des moments au fil du temps on développe un produit on a plein de composants qui sont reliés etc et quand on a des breaking chunch super importants qui sont faits dans entre les pages des versions majeures de framework bah ça ça prend beaucoup de temps à [6:38] migrer et j'ai même vu d'ailleurs que le je sais plus c'est Jardiland alors tout leur bacs tout leur Fontaine il est il est fait en t'abus sur Twitter il est fait en axe ils ont mis tout l'été à migrer tout next 2 en extra et en fait plein plein de problèmes qui arrivent en temps réel parce que les petits trucs qui pètent et le souci c'est que je me suis même dit bah tu vois un bout de scrapper qui qui fait un framework en réalité si il commence à faire une migration ça peut être un truc qui le but en fait parce que ça peut lui [7:07] prendre plus de temps que prévu et peut-être que c'est pas la priorité en fait et peut-être j'ai pas ton avis sur ça sur la cette volonté de tout le temps être à jour au niveau des frameworks c'est quelque chose de nécessaire ou au final non quelque chose que je recommanderais mais en effet ça ça butte complètement ta productivité c'est important de faire les mises à jour oui ton cash c'est comme important de les faire à un moment un autre parce que je donne un exemple très simple quand tu es en axe 2 que tu aimes grille dans notre js20 ce que tu vas faire un moment tu [7:34] vas commencer à avoir des problèmes à installer web pack à Builder pour des raisons de dépendance etc donc à un moment en fait il faut mettre à jour le Builder le problème c'est que enfin vite sur Nox2 c'est pas très c'est pas très bien j'ai pas fait en fait c'est pas très bien intégré visiblement vite sur [8:06] [Musique] [8:43] [Musique] [8:50] il y avait un pré-publich aussi qui a été supprimé tout ça et le problème c'est que tu as aussi des librairies top party en vue qui utilise beaucoup le script qui c'est le script MPM run biloute je crois et en fait le comportement a changé ce qui fait que même en production il va essayer de prédire les les dépendances GitHub genre un truc comme ça et en fait on a du forker tous les projets de dépendance qu'on avait en VGS qui se basait sur des scripts dépressifs d'anpm pardon pour enlever ce comportement là donc en fait ça a créé beaucoup de codes dupliqués d'ailleurs c'est marrant que tu parles [9:25] de NPM parce que j'ai profité de l'été pour passer sur un autre paquet de manager qui s'appelle pnpm je sais pas si tu en as entendu parler j'en ai entendu parler et franchement c'est vrai que c'est cool c'est c'est il y a toujours plein de technologie qui sortent comme ça il y en a deux je voudrais évoqué dans cet épisode alors ça va être un épisode qui est assez tech mais du coup j'en ai profité pour passer sur pnpm l'avantage de pnpm c'est que tu as tout un système de cash en fait tu vois ton fiche ton dossier notre module tu as les qui sont intérieur et en fait [9:51] c'est des simlinks vers un autre dossier dans lequel tous les paquets de sont installés c'est pas que si le package si PNP me voit que tu as déjà installé la version je sais pas 3.0.1 de vues il va il va juste faire un singlink vers ton ton dossier local qui contient le package et tu fais que du coup c'est pas de faire une thème install en ultra rapidement en fait une fois que tu as installé et c'est vraiment puissant pnpm parce que tu gagnes pas tu gagnes trop de temps on se rend pas compte de disque aussi parce que je un gros problème quand tu fais du micro service c'est que [10:19] tu as beaucoup de bah tu as des librairies communes et à chaque fois que tu vas une paix m'installe ben la cinquantaine de microservices mais en fait ça va être du code de la donnée qui sera dupliqué dans chaque mode modules et en fait on arrive avec un dossier de d'un dossier qui doit faire 10 ou 20 gig de dépendance sur 50 micro-services quoi et dès que tu dois re maintenir et installer à la main enfin la main je referme scratch en fait toutes ces dépenses à froid c'est long et je peux voir effectivement l'intérêt de pnpm dans ce cas là et franchement moi c'est un stade en deux [10:48] sens tellement rapidement faire une TNT mais en tout cas sur la santé principale de cash c'est ça fait le job donc ça je regarde pas l'avoir mis en place honnêtement c'est c'est un gain de temps en fait dans le futur il y a un autre truc que j'ai fait je sais pas si tu en as entendu parler ça s'appelle turboripo turboripos c'est un c'est en fait les concepts de mono ripo c'est à dire en fait l'idée c'était racheté par Versailles et c'est un outil qui permet de pouvoir avoir tous les tous son projet dans un seul repositori et d'avoir un petit peu une sorte de vapeur avec des commandes turbo [11:25] nous permet de lancer par exemple tous les commandes d'un coup tous les commandes Lindt tous les packages en même temps tous les commandes build tous les packages si tu veux tu as un dossier un fichier qui s'appelle turbo.chizone dans lequel tu définis des commandes et par exemple imaginons que tu veux faire un Lind tu as une commande qui permet de faire en ligne dans tous les tous les projets sauf celui-là dans tous les projets de ton du projet ton truc enfin tu as juste à faire turbo Lindt et en fait tu as tout bien et tu vois et tu as aussi un système de cash aussi admettons [11:52] que tu fasses des microservices chaque projet de micro service sera dans un seul hypoglyte exactement et franchement alors je suis pas un experts parce que je suis un truc que je découvre mais Google et Facebook et sont dans les monoripo et Google d'ailleurs le plus gros mono du monde avec je sais pas combien de millions de lignes de codes et tu dis qu'en fait tu as des boîtes de ce niveau là qui scale dans un seul repos alors en fait l'avantage ils ont développé leur propre TWING Google et Facebook mais turboripo c'est un truc qui vise à justement avoir un peu un TWING similaire mais et tu peux démarrer [12:23] avec un poussin un tout petit projet en fait et je trouve que c'est plutôt pas mal parce que quand tu as quand tu as une cote base tout en type script en fait tu peux avoir tes tips qui sont définis un seul endroit donc de faire un package qui va être librairie qui sera commune et que tu vas une PM installe dans chaque repos avec un package manager un serveur NPM je peux un verre dessus par exemple sur tes serveurs ou un abonnement à une pmjs.com pour héberger tes packages privés mais le problème que je vois à ça et peut-être ben je sais sur une question [12:53] dans le cas où tu te sers de par exemple tu es sur guide Lab au gitan donc sur GitHub tu vas te servir de guitare action sur guide pour faire tes déploiements par exemple RT serveurs comment est-ce que tu vas parce qu'il y a un modèle de déploiement que nous on utilise qui est que je trouve très clean c'est qu'en fait on aura une branche master une branche production dès qu'on va faire un berger Quest de Master à production on a le SIA et en fait qui va pro qui va prendre ce job et qui va déployer le projet qu'on aura ciblé parce que c'est un ripo en [13:20] fait vers nos serveurs dans le cas d'un monoripo où tu as tout tes projets que tu veux cibler le déploiement d'un seul micro service que tu as mis à jour comment est-ce que tu fais alors c'est le sujet sur lequel je suis en train de travailler mais pour l'instant que je voulais faire c'est que tu vas merger en fait quand je marche sur la broche production ça va ça va me ça va me relancer tous les scripts mais idéalement alors je sais pas comment si c'est possible mais faudrait pouvoir mettre des tags il y a en fonction des tag en fait dans ta guitare action il va [13:52] forcément relancer le bon le bon serveur ou dans le process tu pourrais dans ta merde je request je pense mettre des tags si c'est possible et du coup et lancer un certain nombre de mais je pense qu'il y a plein de doc là-dessus sur ces sujets là sur internet sur comment faire du Guitton action après un orchestrateur type cuberétas nomade je crois que de toute façon tu fais même de toute façon tu d'une manière générale tu fais plus le déploiement vers tes serveurs depuis guitto backshion ou guide Lab Siri ça va être complètement séparé et tu pourras avoir une règle qui va dire genre si l'image docker qui a [14:23] été touché par exemple par ton job donc guide là dans get up guide Lab en fait sera mis à jour alors tu refais le déploiement mais ça c'est complètement séparé c'est des timers c'est une sorte de Crown j'ai pas encore exploré ça mais bonne question la réponse pour comment est-ce que tu déploies avec uniquement un process c'est un truc que je suis en train de poser mais voilà en tout cas c'est vrai que aujourd'hui et tu vois par exemple un truc qui est cool avec turboripo c'est que alors c'est plein de petites choses mais il faudra lire la doc mais tu peux faire un thème installe à la racine et toi tu [14:53] vois tu as fait des scripts pour ça s'installe tous les packages dans tous les repos maintenant en fait donc tu quand tu ouvres ton ordinateur tu tu veux commencer ta journée de travail tu fais tu vas dans le terminal tu tapes et ça bootstrap une infrastructure de d'une cinquantaine de microservices uniquement en utilisant des des scripts bâches il y a zéro docker donc il y a zéro over head donc ça ça démarre très très rapidement en fait tu as pas besoin de le faire ce que tu fais un PM en stade ça va ça va installer tout dans les paquets que tu veux en fonction de ce que tu as défini [15:25] en turbo Jason et tu fais un undef ça va lancer les bons trucs tu peux même faire une thème run dead de points package du salon uniquement ou build package uniquement les packages donc c'est c'est une nouvelle file manière de travailler en tout [15:50] sinon tu avais peut-être des choses à parler sur d'autres choses que tu as fait est-ce que tu as des choses que tu as fait cet été par exemple que des erreurs que tu as fait que tu aurais aimé pas faire au niveau des migrations qui ont fait perdre du temps par exemple ou tu as pris différemment j'avais exploré à la base en fait comme je l'avais écrit au début on a une centaine de serveurs qui sont un peu gérés à la main parce que c'est des systèmes des biens à la base je me posais la question à ce que j'ai on n'utilise pas de un de cyber tout ça [16:21] genre de de configuration de manager c'est quoi une cible c'est un système qui te permet de faire un peu d'automatiser de stocker la de déployer les confirmes les configurations de tes serveurs au niveau système donc corrigez-moi si je me trompe parce que j'ai pas encore trop exploré la question je suis assez vieux déjà genre c'est quelque chose qui est déjà assez rodé mais aujourd'hui c'est plus trop à la mode dans le sens où ce qu'on fait beaucoup quand on héberge des applications aujourd'hui c'est qu'on va partir sur un cube en été sur un Orchester un orchestrateur donc en fait on aura des conteneurs docker ou des [16:58] applications sont packagées dans des campeurs docker donc tu vas imagine ta 50 microservices mais à chaque micro service sera sur ton registre docker un conteneur docker qui sera packagé avec une version de node qui peut être différente selon le micro service donc c'est pas mal pour faire des religions et après tu vas déléguer en fait le job de comment est-ce que ça tourne en fait dans ton infrastructure à des fichiers de configuration qui sont donnés à un orchestrateur donc par exemple qbarnétal mais ça peut être nomade qu'on explore en ce moment où tu vas le dire bah là ce micro-service là il est assez chargé donc j'en veux 16 tu [17:30] vois 16 copies donc tu auras 16 servers qui vont qui vont démarrer avec un Claude provider qui sera connecté en fait qui aura écrit un adaptateur pour que bien les tests et en fait tu as juste à Ron sur ta culotte blocage sur ta si elle aille une commande ou tu applique le fichier de configuration tu le balance à ton hébergeur et ton hébergeur se démerde soit il te trouve une machine qui existe dans ton dans ton compte sur ton compte une machine virtuelle donc un serveur Linux soit il va te dire ok il y a plus de il y a plus de ressources disponibles je te [17:56] crée un serveur Linux automatiquement et toi tu as rien à faire tu peux tu peux enregistrer des services du coup donc à une API donc il a payé elle reçoit du trafic une API HTTP donc elle reçoit du trafic en France donc tu vas pouvoir la register donc on peut l'appeler httpi tu vois et après dans ton engine si tu peux avoir un pod occupé engine X et lui en fait quand tu vas faire ton de tes règles de virtualost tu vas le dire bah proxy passe tu sais pas de HTTP pod tirer API pour 80 et en fait derrière ça va l'autre balancer entre toutes les API [18:29] donc en fait tu as absolument rien à gérer de manière statique le nombre de services que tu veux quoi exactement et bah quelle barrière d'environnement tu prends en entrée quelles ressources ton service a besoin donc ça il a besoin de savoir genre la quantité de RAM typique que le service va utiliser et la quantité de processeur parce que ça lui permet en fait de savoir sur quel serveur il va placer ton service est-ce qu'il y a de la ressource disponible ou est-ce que tu vas créer un serveur automatique et l'avantage c'est que quand on hébergeur va vouloir faire une mise à jour des je sais pas ils veulent mettre à [18:57] jour le débat par exemple qui fait tourner en fait tes systèmes toi tu gères même plus le système derrière qui fait tourner le système du serveur qui fait tourner des applications de configuration ils peuvent buter des services des serveurs qui font tourner ton applicatif il aurait instancier avec des mises à jour de débian par exemple et le l'orchestrateur va héberger tes rebalancer tes arbres sur les nouveaux serveurs c'est en fait c'est c'est la façon moderne des berger des apps onsyveld ça n'a rien à voir enfin c'est plus pour pour gérer tes configurations serveur et encore une fois double vérifier parce que je dis peut-être des bêtises j'ai [19:36] pas encore exploré la question un truc c'est qu'on va pas le faire parce que on va je pense qu'on va passer sur un orchestrateur pour moderniser c'est comme si tu avais un DevOps en stéroïde qui gère tout pour toi dans l'état aujourd'hui il y a tellement de serveur qu'il y a soit un tu recrutes un devox un système mais en fait c'est un peu de holdway quoi de le faire et soit tu automatises tu ça sera un peu long ça va nous prendre quelques mois je pense à faire tu toi en tant que développeur tu passes quelques mois en fait à refaire complètement la fin structure [20:04] et créer des fichiers de configuration cuber NTS nomades c'est des alternatives et tu peux après même prendre des gros serveurs physiques qui sont même plus des serveurs virtuels qui te font économiser beaucoup d'argent aussi aujourd'hui tu as des serveurs physiques chez ça peut être unline.net heartner en Allemagne où tu peux avoir je donne un exemple je regardais pas mal earthner qui vient de sortir des des serveurs physiques à 260 euros par mois hors taxes sur la basée sur la plateforme en pair de CD des CPU arm donc c'est pas de limitem c'est des CPU avec 128 heures chaque heure est quasiment aussi puissant qu'un coeur Intel que tu as [20:41] fait du don du digital océan etc c'est à savoir qui était dédié les ressources on va partager 260 euros par mois tu as 256 Go de RAM et à 128 heures 2 Go de tu peux en prendre plusieurs tu les mets en réseau et en fait tu t'installes un orchestrateur type cuber déteste dessus et en fait tu as tellement de cœur que tu fais des millions avant de avant que ça en fait ton infrac tu as quatre saveurs ça te coûte 1000 balles par mois tu as deux régions Allemagne Finlande ils ont une fibre optique entre les deux régions tu vois là j'ai ordonnance tu peux du coup créer un réseau sur leur [21:11] fibre dédiée et avoir en fait des potes à très faibles latence qui travaillent en Finlande et d'autres en Allemagne et qui collaborent sur un même réseau commun donc en fait tu peux perdre en fait le réseau dans l'Allemagne ton infrastructure elle fonctionnera toujours grâce à la Finlande et les données seront répliquées et tout ça c'est faisable aujourd'hui qu'un orchestrateur ça se fait à la main mais humainement en fait le truc c'est que une infrastructure telle la nôtre tu es obligé d'avoir une personne dédiée en fait à plein temps qui va gérer l'obscaling à la main avec tout ça c'est bien pour commencer une boîte parce que [21:38] c'est pas compliqué à la base quand tu as quelques serveurs mais c'est ce que je recommande en fait c'est ce qu'on faisait au début tu vois genre apprendre à utiliser cubarnetes cet hiver on l'a fait avec un autre projet c'était un peu paintful je dois te le dire et c'est se faire un cadeau soit du futur quand tu as besoin de en fait il y a un moment tu vas sentir Le Pen tu vois de manière GT serveurs et notamment quand tu commences à faire les mises à jour que tu commences à passer genre tu as 30 serveur 45 serveur c'est chiant tu vois tu commences à avoir tellement de [22:09] serveurs que il y a des machines dans le data center qui auront des problèmes tu vois toutes les semaines parce que bah c'est sur des machines physiques qui sont différentes donc statistiquement il y aura de plus en plus de problèmes tu vois qu'ils vont me réveiller la nuit digital océan exactement qui ce qui a un problème sur un site internet régulièrement en plus plusieurs fois par semaine hier on a eu par exemple pour exemple c'est là que c'est là que je me suis enfin faut qu'on arrête quoi les le Cloud partagé c'est que d'un coup on utilise beaucoup de machines qui ont des CPU partagées sur l'Intel premium donc c'est des une [22:44] offre de DJ le soir un peu plus cher qui propose des processeurs Intel un peu plus rapides le problème c'est que je sais pas ce qui s'est passé mais il y a plein de serveurs qui se sont mis à être d'un coup ralenti en fait la puissance CPE qui était disponible pour nos microservices pour nos bases de données etc elle a été divisée par 4 5 6 voir 10 peut-être et ça on le voit sur les sur les sur un acheteur par exemple qui permet de voir les ressources serveur en temps réel au niveau du système et et en fait du coup ça a causé des [23:14] duntime chez nous et sur plein de savoir séparer donc c'était un peu l'enfer et là je me suis dit mais attends mais il y a un problème on est sur plein de serveurs physiques différents chez déjà ça arrive d'un coup en fait c'est comme si déjà avait eu une sorte d'attaque où il y avait un compte chez eux qui avait créé énormément de serveurs distribués dans leur Data Center qui consommait beaucoup de ressources dans le type des crypto crypto-miner et qui faisait chier en fait tous les clients à côté quoi c'est ce qu'on appelle les noisy neighbors dans le Cloud c'est ce qu'il faut il faut faire très attention à ça [23:38] parce que au début quand tu crées des savoirs clouds chez AWS etc des hauts enfin dites à l'océan voltor on te dit que c'est des VCPU en fait c'est des CPU partagés donc en fait c'était serveur c'est des machines virtuelles qui t'ont sur un hypervisoire donc physique un savoir-faire physique et en fait les plats provider pour faire du optimiser les coûts ils vont se faire ce qu'on appelle de l'over cogniting donc en fait ton CPU physiquement il sera partagé en fait entre plusieurs serveurs et toi tu vas pas voir en fait les gens qui sont à côté mais tu vas partager le même cœur si tu as un serveur à côté qui sera très [24:07] calme qui va utiliser genre 1 2% en permanence toi tu vas pas le voir mais si tu as un serveur à côté qui 50 60 % en permanence toi en fait tes performances elles sont divisées par deux et si tu as un service de d'un côté qui a beaucoup qui a besoin de beaucoup de CPU bah un moment ça suit plus si tu veux ton base de données devient un ralenti et en fait c'est pas parce que tu ajoutes plusieurs plus de CPU sur ton serveur s'ils sont partagés tu peux très bien avoir d'un coup 8 CPU qui sont over comité et que genre tu divises par 2 les [24:34] performances des 8 CP parce que tu as un mec à côté qui a un gros serveur ouais par exemple qui est en train de faire les descripts Ultra intensifs et ça quand tu commences à avoir des alors les clubs provider type déjà l'océans ils ont des ce qu'on appelle des DCPE donc des CPU dédiés mais le problème c'est que c'est eux qui sont vachement beaucoup d'argent c'est que les les serveurs sont hors de prix c'est-à-dire que tu peux facilement payer 200-300 euros par mois je sais pas un serveur et 4K [Musique] je sais pas 64 Go de RAM en fait tu vas sur un dédié chez online.net un vrai [25:02] savoir anecdote moi ils m'ont filé 1000 dollars de créditisme hier tu as juste à leur remplir startup et en fait tu leur dis que qu'est-ce qu'elle fait startups et en fait ils ont plusieurs plans alors il vient même plus en moins ils m'ont fait les 1000 dollars mais tu peux monter à 10000 10 ou 15000 en fonction de la taille ça fonctionne les céréales que tu as fait etc et ouais en tout cas je trouve ça vraiment passionnant parce que donc ça c'est ce que tu disais donc toi tu passes vraiment sur du dédié parce que tu auras moins ça va être moins casse-couille sur le long terme que pour [25:35] pour manager et du coup sur du Didier tu mets alors que ça va c'est moins casse-couille en l'an 2023 parce que aujourd'hui on a les horaires on a les outils d'orchestration genre type cubes Nomad qui n'existait enfin qui existe en été en fait ça a été initié de Google si je me trompe pas il est réputé pour être très supporté très populaire et en fait il y a beaucoup de documentations beaucoup d'extension beaucoup de plugins etc donc sur ça il y a tu auras pas de souci à l'utiliser pour faire tout ce que tu veux par contre il est très complet très complexe les fichiers de [26:08] configuration pour moi à mon sens sont très verbeux l'avantage c'est que digital océan a une offre cuber un état sous tapas géré le l'application qui va gérer les serveurs toi tu as juste à écrire les fichiers de conflit balancer et et dites à l'océan se démerde pour le reste le problème c'est que je trouve que c'est trop c'est une sorte de monolit qui fait trop de choses tu vois j'ai découvert en testant clientèle j'étais là j'en ai j'en sais pas ça me plaît pas tu vois j'aime bien le concept de l'orchestration mais ça me plaît pas tu vois la façon dont c'est fait et là je [26:38] cherche un peu et je suis tombé sur nomade en fait qui fait par une boîte qui s'appelle achikor donc à chicorp c'est eux qui font wagrams pour gérer tes machines virtuelles quand tu fais du développement notamment sur tes ton ordinateur c'est ma grande c'est très connu c'est assez vieux ils font terraform terraform qui est très très bien pour ouais en fait pour pour faire de l'infrastructure à ce code en fait l'idée de terraform faut pas faut bien comprendre ça différencier ça de nomades nomades c'est vraiment de l'orchestration c'est comment est-ce que je rogne mes applications terraform c'est comment est-ce que je crée mon infrastructure et je modifie dans le temps mon [27:10] infrastructure l'infrastructure ça va être quoi ça va être les DNS par exemple ça va être tes serveurs tes machines virtuelles avec les adresses IP etc c'est vraiment on est vraiment genre en gros je construis le ce qui va héberger mes apps et les apps je les héberge avec nomades je les fais dressé la gestion de configuration par exemple quand tu vas l'idée c'est que par exemple terraform est très utile quand tu as beaucoup d'enregistrements DNS par exemple tu utilises Claude flare DNS et que tu veux au lieu de te connecter à l'interface cloudfler pour ajouter un enregistrement DNS ou le supprimer tu vas gérer dans un conflit dans un [27:43] fichier de configuration tu vas faire tes réformes dont on terminale ça va te dire ok bah là par rapport au state donc c'est ce que je connais de ta configuration qui est sur cloud flair en live chez Claude fleurs je vois que ce record dans ta configuration a été modifié je vais faire la modification chez Claude fleurs sur la pays clôture donc tu fais ok moi d'accord Go à play et là en fait terraform il a un plugin plat de fleurs donc c'est Claude fer qui développe un plugin pour terraform qui va aller parler à la paye de Claude flare pour faire la modification qui est [28:11] demandé et ça peut être pareil pour créer des serveurs mais en fait tu peux même enfin tu peux tout te déraper en fait tu peux tu pourrais même créer un plugin en soit pour ta boîte tu vois tu es en forme si tes clients envoient l'utilité l'idée c'est juste que tu fais des choses qui sont à ce code quoi donc si jamais un jour tu butes sans faire gaffe tout ton compte Claude fleurs ton compte Claude fleurs et supprimer parce que je sais pas tu as eu de la bios là j'enreg mince il faut que je recrée tout à la main j'ai pas les backup oui en fait [28:35] terraformis automatisé la création des DNS donc voilà tu peux et genre en fait tu recréer toute ta configuration Claude fleur sur un nouveau compte du coup ça permet aussi de gérer des envies des environnements de stageing ou de développement de production de manière automatisée parce que tu pourrais me raconter Claude fleurs pour le staging c'est ici si tu le nécessites un compte production un compte de dev et du coup comme un easy en fait tous les fichiers de configuration et terraform en fait ce qui est bien c'est que nous on utilise déjà terraform historiquement ça s'interface avec nomades parce que tu peux Terraformer du coup l'utilité [29:09] Raffort pour appliquer tes fichiers de l'immigration nomade aussi tu vas pouvoir utiliser Volt aussi qui est un outil agicorp pour stocker tous les secrets de ton infrastructure consult qui va servir à stocker tous les actes tous les noms de domaine qui vont permettre d'accepter d'accéder à des applications qui sont déclarées sur nomade qui sont hébergés sur nous-mêmes et tout ça c'est des outils qui sont optionnels c'est pas obligé de les installer il parle ensemble mais en fait c'est pas c'est pas un mandatory donc c'est pas une sorte d'énorme tu plaques en fait que tu as besoin quoi c'est la philosophie unique c'est vraiment genre tu fais un truc minimal tu le fais très [29:47] bien et cette chose là elle est indépendante du reste et Nomad du coup c'est ce qui est orchestre plus ou moins la création des des microservices sur en fait ça ouais en fait c'est orchestre où est-ce que les micro-services vont être run si ça vérifie si les microservices sont en bonne santé en gros si tu as une instance de ton micro service qui en fait un une image docker un conteneur de cœur qui va tourner que tu auras buildé à l'avance s'il va si nomades en fait voir selon des règles que tu auras préétablies genre ah mince bah là il répond pas dans les temps c'est [30:17] peut-être que le serveur que l'héberge genre il est il a un problème de performance tu vois ok bah c'est pas grave dans ce cas là je le but et je le réinstant c'est sur un autre serveur et donc ça en fait ça fait le travail de ton 6 admin tu vois qui est genre de faire en sorte que ta production elle soit rapide tout le temps hop tu vois ok c'est super intéressant parce que je connaissais absolument rien en Orchester j'avais regardé un peu cuit par notice de loin mais là c'est super clair en fait c'est par contre c'est surtout pas à mettre en place quand tu démarres un [30:40] projet d'habitants alors ça c'est comme tu as c'est quand tu commences à comme Chris avec plusieurs centaines de milliers de personnes en temps réel toute la journée tous les heures et que c'est en fait tu dois je vais pas quand tu commences au début ton code est un peu immature et tu peux être en arriver genre tu as un bug sur la prod tu as un customer qui te redis qu'un bug tout est là genre bah j'arrive pas à le répliquer bah je vais aller me connecter en SSH au serveur et je vais modifier mon fichier JavaScript à la main genre à la salle redémarrer le [31:08] service et voir ce que ça fixe ça ça peut arriver au début d'une boîte c'est un peu crade mais en vrai on le fait tous et c'est nécessaire le problème c'est quand tu commences à Builder des conteneurs docker que ça c'est beaucoup moins accessible tu vois c'est un peu plus imutable donc tu peux pas aller dans te connecter à la prod et c'est ça je vais te dire ok moi je vais modifier une duplication enfin c'est toujours possible tu as toujours des outils qui le permettent mais c'est quand même moins aisé quoi tu as beaucoup plus de de garde-fou on va dire et du coup j'ai [31:34] une question parce que tu disais que moi j'ai commencé sur les droplettes aussi et c'est ce qui se vend de toute façon quand tu démarres c'est tu te rappelles sur l'océan tu prends les trucs sur Skyway etc tu m'as plein des droplettes donc tu as forcément des besoins par contre aujourd'hui un serveur Didier c'est je paye à peu près moi 250 euros par mois de chez océan un serveur dédié sur Skyway ça coûte tu en as à peu près pour 95 euros ça démarre et des trucs bien mais finalement est-ce que ça va pas mieux directement prendre un serveur dédié et travailler dessus ou tu conseilles quand [32:07] même de démarrer avec droplet parce que c'est plus rapide et tant que possible je conseille comme d'utiliser des machines virtuelles parce que tu as tout un tas de services que tu auquel tu penses pas quand tu as un quand tu vas vers un dédier tu penses qu'ils existent mais en fait ils existent pas forcément par exemple c'est des snapshots les backup j'imagine tu as un problème avec ton serveur virtuel genre là il est cramé tu vois hyperviseur qui héberge ton savoir virtuel et crème et tu as quand même des backups qui ont été fait en fait c'est des fichiers chez eux qui pourraient être réinstancer sur une [32:33] autre machine et ton service il repart tu vois sur un serveur physique il y a peut-être des backup mais le problème c'est que c'est le disque dur qui est cramé faire une image de disque dur sans avoir un hyperviseur de top c'est compliqué tu vois donc c'est à toi de les gérer en fait et il faut une distraction tu sais genre physique du disque dur etc passer à l'hébergeur aussi de gérer potentiellement je sais pas comment c'est fait j'ai pas l'expérience dans ça mais des trucs les options en tout cas tu as des disques qui sont montés en raid donc tu as plusieurs disques qui répliquent la donnée mais en fait elle [33:01] met admettons que j'ai pas le pour une raison une autre ton alimentation fait de ton savoir fait défaut l'électronique CRAM tu perds tout quoi alors que chez duhalosante pigment ce qui peut se passer c'est qu'adméton qui a un problème sur l'hyperviseur je sais pas il se reçoit un dédo sur le savoir physique c'est le ça nous est déjà arrivé et là on contacte le support de Digital ensemble et ils nous disent ben là vous pouvez pas on insère de base de données un peu sensible là il est ralenti vous pouvez pas lui en faire une migration d'urgence faire un autre serveur physique qui est bien et là ils [33:32] nous disent ok ok et c'est possible aujourd'hui avec les hyperviseurs modernes de faire des migrations sans que ton savoir soit stoppé c'est à dire qu'en fait je sais pas comment ça marche c'est magique mais il prend le temps de savoir qui tourne il va transférer les données vers un autre serveur physique il va prendre les États du processeur les registres processeur il va prendre l'état de la RAM il va bouger les règles réseau et ton serveur il va genre ça faire comme ça et t'auras pas à le redémarrer c'est-à-dire que ton applicatif sera toujours tourné il tourne toujours tu auras toujours les opérations en cours sur ton processeur [34:01] Tara elle va pas changer et tu vas changer de machine physique d'un coup comme ça et ils ont l'air après des offline migration donc ça c'est un peu les migration à l'ancienne qui existaient les lives migration ça date de 2018 un truc comme ça ça a été ajouté chez duel océan 2018 c'est fantastique et ça tu vois en vrai c'est un avantage que tu as quand tu fais du cloud le problème c'est que le Cloud tu payes un service donc c'est un peu plus près ici aussi [Musique] avoir besoin de beaucoup d'espace disques pour héberger des grosses bases de données typiquement des gros cluster Mango dB qui héberge beaucoup de [34:37] messages par exemple ça commence à être un volume dessus c'est trop lancé des volumes digital océans par exemple donc effectivement cette cheap [Musique] j'ai déjà essayé il faut vraiment des SSD nvme donc c'est des SSD qui te tapent du 7 giga octet la seconde en lecture écriture c'est parce qu'on utilise bien sûr mais ça laisse de la marge quoi parce que les volumes c'est pas du SSD tu mets sur enfin je crois que c'est des est-ce que ton serveur va parler au volume faire par le réseau et ça tourne sur un c'est pas un disque dur natif tu vois il y a rien qui va remplacer un il y a rien [35:19] de mieux en fait qu'un SSD en natif dans ta au plus proche de ton serveur quoi ok intéressant il y avait deux sujets je voulais parler avec toi le premier sujet c'est tout ce qui est qui concerne les migrations de base de données parce que ça c'est pareil c'est un autre truc ce qui est important aussi à retenir c'est que genre et c'est vraiment le truc que je me serais dit il y a 5 mois et je m'étais déjà fait avoir plusieurs fois ça c'est que l'immigration quand on se canton s'embarque là dedans ça prend du temps parce que dans plein de Micro trucs qui a changé au fur et à mesure tu [35:46] migrin mort par exemple et tu vois par exemple j'en ai profité pour mettre à jour la librairie d'élastique search en JavaScript en MPN donc j'ai j'ai le problème c'est que je me suis rendu compte que mes secteurs il faut que je l'objet aussi parce que en local j'avais peut-être mon investisseur mais du coup faut que j'aille vraiment de prod et upgradé sur les t-shirt en excesseur champrotte c'est un peu plus compliqué pas mal de trucs supplémentaires et en fait tout ça ça s'empile au fur et à mesure et la question que je voulais te poser c'est toi justement vu que tu as de la charge sur [36:15] tous tes microservices que tu dis pose la Suède plus mon godb etc c'est quoi un peu comment tu t'y prends et le problème que tu as eu et comment tu t'es pris en fait pour les résoudre sur la mise à jour de tes trucs comme on dit c'est alors ce qu'on a fait déjà au début c'est qu'on a tout mis à jour en local bien sûr donc on avait on est capable de répliquer l'infrastructure en local sur nos Mac avec donc un maillet SQL de même version que ce que la prod va avoir readis Mongo etc et de les configurer d'une telle façon à ce que ce soit comme [36:50] sur la prod donc on aura du même surnomma quand local on aura des réplique à cette Mango c'est à dire qu'on aura plusieurs Mango qui vont tourner et qui vont se répliquer même si ça sert à rien ça nous permet de simuler au mieux la prod on aura du majuscule en master slave pareil donc on aura toujours deux instances de moyens SQL en développement qui vont tourner sur nomacs donc on peut tester dans notre code le fail over tout ça on peut aller buter sur notre Mac en local le MySQL pour voir comment l'infrastructure en fait est très proche de ça ça nous évite déjà les mauvaises [37:23] surprises à ce niveau là donc on fait les ingrides d'abord sur le Mac et en plus on teste pendant une semaine deux semaines et après progressivement sur la prod je vais me dire ok bah pendant une semaine là je vais faire tous les redis on a une journée une vingtaine de savoir et 10 qui font des choses différentes donc je vais faire une rolling Ingrid sur les redis et on a eu par exemple une catastrophique fayure une après-midi comme ça où il y a un raid 10 le redis principal en fait on est passé la version on a fait 4 ans de mise à jour comme ça et un coup il s'est [37:52] il a crache il y avait une problème d'allocation mémoire qui était en fait visiblement un bug interne à raidis 7 et bah là on était là ma mère tu vois genre on vient de mettre à jour et 10 la base de données elle a été mise à jour du coup on peut pas faire de rollback en urgence vers une version qui n'a pas ce bug là qu'est-ce qu'on fait quoi du coup là il faut en urgence tu vas regarder les fichiers de compte tu vas essayer de faire des ajustements en supposant que le bug il a été causé par une configuration tu vois parce que redis c'est par exemple qui a un système [38:20] base de données de stockage les valeurs qui est très utilisée un peu partout aujourd'hui très utile et je recommande ils ont fait beaucoup de mises à jour dans les versions récentes qui te permet de scaler en fait beaucoup mieux sur des infrastructures avec beaucoup plusieurs coeurs que crédit c'était monosellay à la base aujourd'hui il est multisrédé donc ça te permet en fait de supporter beaucoup plus de charges par instance rénise donc c'est très bien mais quand tu fais du multisraading ça ajoute beaucoup de complexité dans le code en termes de gestion de concurrence d'accès à la donnée etc enfin c'est des histoires de d'accès à mémoire vive [38:49] mutex tout ça et bah derrière je sais pas il y a eu un crash c'est un exemple concret c'est pour ça qu'on fait on fait des après-midi [39:02] et ça a mis ça a mis beaucoup de systèmes en PLS parce que c'est vraiment le redis sont vraiment au centre au coeur tu vois de la famille gros service et ça c'est le truc qui n'a jamais craché donc j'étais très surpris et en fait c'est pour ça que c'est important de faire des upgraides progressives où tu dis bon cette semaine je me focus sur redis la semaine prochaine my SQL parce que à chaque upgrain c'est pas comme on a eu des problèmes mais est-ce que là on a eu des on a trigger un bug non mais SQL aussi qui a été introduit genre il y [39:30] a quelques mois qui fait que nos bases de données se corrompent deviennent corrompus toutes seules genre avec un certain timing de requêtes de SQL donc on a réussi à reproduire le bug on l'a reporté il a été corrigé dans mes SQL mais bon c'est enfin c'est cool se dire que même des projets aussi stables on va dire que ma SQL est aussi ancien en fait il y a comme des évolutions qui peuvent te causer des bugs catastrophiques en production ça s'appelle quoi donc il y a un truc que je recommanderais du coup vu qu'on utilise des biens des biens c'est d'un côté il y a beaucoup de personnes qui disent que [40:02] des biens c'est c'est pas ouf parce que tu as toujours des vieilles versions du software dans des versions des biens qui sont modernes en fait moi je dirais que c'est mieux parce que du coup tu utilises pas le building Edge tu vois les dernières versions de ready's de Maya SQL et du coup en fait l'idée c'était toujours quand tu fais tes mises à jour à mon sens quand tu as beaucoup de choses à gérer et que tu veux minimiser le temps passé à gérer les problèmes c'est de toujours être un peu le Light cover c'est le mec qui arrive deux ans après la mise à jour [40:31] tu vois et qui va en fait utiliser toujours des versions un peu je pense que tu racontes de sécurité comme ça les problèmes catastrophiques comme on a eu par exemple sur redis 7 parce que j'ai fait l'erreur cet été de mettre à jour dans une dernière version de release et je leur ferai plus c'est qu'on a eu on a trigger un bug qui serait fixé dans un ou deux autres quelqu'un l'aurait forcément découvert c'est super intéressant ce que tu dis parce que je crois je crois aussi en fait il y a peut-être que les migrations quand tu commences à avoir une certaine taille [41:03] [Musique] [41:39] [Musique] [41:57] [Musique] et je me suis dit et même la même chose en fait aucun intérêt à suivre et être à fond dans le jeu à tout le temps à jour parce que on va tout le monde qui s'excite parce qu'il y a une nouvelle nouveau qui sort mais en fait non laisse le truc tourner de façon tes paquets tu bloques toutes tes dépendentiel NPM là tu dois tu bloques tout tu vois comme ça tu es sûr que tu as très important soit tu es sûr qu'il y a pas de problème et tu attends que le wagon il passe et puis après bah tu rentres dedans quand tu as [42:21] décidé que tu rentres là-dedans quoi il y a rien que les dépendances NPM tu sais où tu fais genre tu bloques mais après tu t'en fous du reste parce que tu peux aussi avoir s'il y a eu des il y a eu des histoires dans un paquet de NPM qui a été genre piraté ou pas pirater mais son honneur sont le développeur du packaging je regrette c'est que le Color qui a complètement pété un câble et qui mettait des messages dans ton terminal partout ouais il y a il y a eu des choses qui étaient genre euh des vrais hacks sur toi ton enfin ton Mac en fait tu pouvais [42:50] accéder à tes fichiers tout ça et en fait c'est juste une version mineur qui était bumpé et écoutez quand tu fais les les circonflexes la version moi je fais jamais ça par exemple parce que j'ai trop peur que jamais de la vie et de toute façon tu peux faire confiance aux gens parce que tu qu'est-ce qui t'en sais qui vont qui vont respecter la norme Center et toi tu peux pas et explique mec il a une intention et il casse un truc fin donc tu loques tout et en tout cas ouais ça je retiens c'est peut-être même la droite moi j'aurais peut-être dû attendre tu vois pour être [43:14] honnête peut-être faire l'été prochain la version 3 ouais je pense qu'en vrai qu'est-ce que j'en ai à faire genre ça m'a fait 4 ça me fait 3 mois et demi ça m'a épuisé et la vérité c'est que ça va ça va pas avoir forcément beaucoup de d'impact business pour moi donc maintenant c'est fait c'est fait tu vois mais pendant cet été j'aurais pu faire 150 000 trucs de valeur pour les clients tu vois et au pire bah j'aurais du cash encore plus de cash l'été prochain et j'aurais pris trois freelances ça marque 500 euros par jour et chacun et il m'aurait on aurait tracé tu vois et [43:43] surtout qu'on dit que c'est des versions stables mais généralement c'est quand tu as une 3.0 qui sort en fait elle est stable visuellement mais en fait tu as tout un tas de petits bugs qui vont tu vas passer ta vie en fait d'été le le package en fait parce que tu auras des mini bug de partout tu vois le paquet de next18 j'ai bien vu en fait au fur et à mesure de l'été des des trucs qui marchaient mieux avec le package parce qu'il fixait entre temps et ça sert à quoi que j'ai dans les tranchées au moment où le truc était pas encore à jour et il est même [44:09] pas il est même pas stable maintenant il est en alpha donc ça je retiens très bien et donc ça c'est ce qui est arrivé avec euh Régis et donc tu recommandes de tout mettre à jour petit à petit et de fait y aller progressivement et de laisser un d'être le lait commer un peu sur ça quoi que ce soit nos fantômes c'est la même c'est là pour moi la même règle s'applique et c'est plus catastrophique sur le back and bien sûr mais donc ouais super intéressant sur mon gauche sharding etc peut-être d'autres choses à dire ou quoi pour ceux qui vont avoir le temps Sky ah oui on est arrivé à un point on [44:45] stocke tellement de messages donc on est dans le 2 3 milliards de messages je sais même plus quand on a commencé à saturer la taille maximale des disques des machines virtuelles qu'on a chez Digital océan donc on a commencé à explorer ce qu'on appelle dans les 10 dans les droplets standards qu'on utilise donc c'est pas ce qui ceux qui sont storage optimize qui coûte une blinde donc Sky ça va commencer à être un peu trop onéreux c'est 640 giga mais en fait c'est des dreads qui sont même plus disponibles nous on sont disponibles parce qu'on a un vieux compte et du coup les droblettes les anciennes tailles des [45:16] drets sont encore disponibles pour les vieux comptes ça c'est un truc d'ailleurs si tu as un nouveau compte d'installation tu devrais tu n'auras pas accessible ils sont un peu réticents j'ai déjà demandé et d'ailleurs il faut même tu peux pas utiliser l'interface web du type c'est de la déo CTL ou CLA je sais plus pour pouvoir accéder à cette taille là facile une requête à la main et du coup on arrive à un moment où les disques vont être saturés et bah le seul moyen de se caler c'est plus verticalement en termes de taille de disque pour la base de données ça va être horizontalement et donc là en fait [45:48] l'idée sont déjà répliqués pour tout ce qui est fort tolérance donc si jamais il y a un serveur qui qui est mort c'est pas grave la donner elle est toujours sur un second mais pour scaler horizontalement il faut se faire ce qu'on appelle le sharding et le sharding dans une base de données en général donc Mango le fait très bien parce que c'est une base de données Big Data entre guillemets pour utiliser les termes trendy il y a quelques années c'est fait pour stocker énormément de données et donc tu actives le mode sharding donc l'idée c'est que tu as un groupe de serveurs qui va stocker [46:20] un groupe de deux enfin un amas de données identifié par un index donc par exemple ça je suis sur Chris par exemple étant donné qu'on fait du customer support ça va être des inbox donc ça va être ton ID en fait de d'utilisateur sur ton inbox donc ton web sidee et en fait ça ça va être le shard ID et ça va déterminer ton web ça a été dit du coup sur quel portion de Mango en fait ça va aller donc c'est à dire que par exemple toi ton site ton cul ton inbox elle sera pas forcément sur les mêmes serveurs Mango que moi le mien tu vois et l'idée [46:50] c'est que tu peux à terme ajouter plein de serveurs comme ça horizontalement et mon Go va faire une fois qu'il est en mode shardé tu peux en fait dans le temps ajouter des serveurs il va il peut recharger dynamiquement la base de données donc admettons que j'ai deux serveurs qui font 600 gig ils sont à 80 % de non ah ouais à 80% de Kaaba j'en ajoute deux autres avec la même taille en fait il va recharder donc en fait chaque serveur va être à 40 % de Kappa parce qu'il va reprendre la donnée ça c'est un énorme avantage peu et doit d'ailleurs être pour la pour [47:24] la haute disponibilité être en réplique à cette cercle chaque shard c'est une infrastructure Mongo entre guillemets séparée comme ce qu'on a aujourd'hui en fait tout un primaire secondaire arbitre et enfin du coup de la topologie mongole le problème quand tu commences à avoir beaucoup de données faire du sharding elle devient complexe que Mango pour le sharda il faut donc du coup des répliques à 7 donc arbitre première secondaire arbitre donc ça fait un groupe de trois serveurs de serveurs qui stocke la donnée un qui est là juste pour pour gérer les votes tu sais quand il y a un serveur qui est down il faut bien dans un vote il faut trois [47:55] personnes pour faire une majorité pour décider en fait à qui on donne la le statut de primaire c'est celui qui va accepter les écritures et Quand tu es dans le shardets d'avoir trois serveurs de configuration à minima deux routeur en entrée qui vont balancer en fait les requêtes de ton applicative vers le bon charme et puis plusieurs charmes donc en fait tu arrives à une topologie où tu as tu as au minimum 10 serveurs quoi et ça sans orchestration ça se fait à la main et c'est ce que je vais faire pour les mois à venir mais à terme on va arriver sur un orchestrateur mais par contre ce qui est bon à savoir [48:32] c'est que tu peux quand tu pars sur le choix de Mongo tu vois on dit beaucoup de mal de mon goût je trouve dans les communautés en ligne mais en fait quand tu veux stocker de la du document adscale en gros volume c'est un choix qui est assez safe parce que faut juste être rigoureux dans tes schémas donnés en fait [Musique] le sharding comme ça et puis moi je suis un grand fan des relationnel donc j'adore j'adore tout ce qui est SQL mais de même en fait juste que il faut utiliser le base de données en fonction de l'usage tu vas stocker des cartes bancaires et des comptes d'utilisateurs [49:05] et des choses très des souscriptions etc tu vas essayer du SQL tu stockes pour toi ça peut être des compagnies enfin beaucoup de données en volume dans millions tu vois d'accord c'est une forme de no SQL aussi en fait moi toutes mes sujets une table par source de données et en fait je reconstruis le schéma l'entreprise en gisône et ce Jason là en fait je le push dans dans du plastique search ce que j'ai des capacités enfin moi le coeur mon business et la recherche c'est pas mes feux je pourrais en fait c'est comme ça ça pourrait être stocker dans du Mongo dB exetera mon goût est très [49:37] mauvais pour faire de la recherche de l'agrégation ça coûte très cher en stockage par contre ce qui est bien quand tu fais du sharding avec Mango c'est que les index que tu vas créer vont être découper en sous index plus petit parce qu'en fait chaque charte va stocker moins de données donc en fait au final ça sera plus facile pour mon goût de faire la recherche parce que les index sont beaucoup plus petits donc même si mon Go ne reste pas performant en recherche ça permet quand même d'avoir des requêtes qui sont beaucoup plus rapides avec le sharing plus petit quoi exactement parce que c'est des index c'est vraiment des [50:08] des arbres quoi donc les arbres sont beaucoup plus réduits super intéressant je crois que tu as passé à d'autres sujets que tu voulais aborder au niveau des migrations 50 minutes à peu près je pense que c'est ouais en terme de migration c'est important de [Musique] c'est important de pas être trop en mode tous les matins tu te lèves étaient là il y a une nouvelle version de telle dépendance je la mets à jour en fait tu passeras jamais tu vas jamais travailler sur ce qui est important mais c'est pas important pour ta boîte et de l'autre côté il faut pas non plus se faire rattraper par le Legacy par la [50:51] dette technique en fait ensemble simplement ton code peut être magnifiquement fait genre la dette technique elle va s'accumuler si tu fais pas les mises à jour tout simplement et il y a tout un tas d'exemples comme ça de enfin de vieux système dans les vitres dans les grandes boîtes qui finalement qui qui tournent aujourd'hui sur c'est ça m'est déjà arrivé d'arriver dans un data center dans une dans une grande boîte tu vois ils avaient toujours un vieux serveur qui tournait sur Solaris donc c'est un vieux système d'exploitation avec un savoir-fun avec un processeur powerpicy enfin c'est sûr c'est des trucs genre tu es là genre mais comment est-ce que je compile des [51:21] programmes aujourd'hui pour cette plateforme là et en fait les gens ils sont là genre ne débranchez pas le serveur ça tourne tu vois ça c'est pour moi c'est l'histoire d'horreur tu vois il faut pas en arriver là ouais ça c'est un peu de temps en général si tu es en fait c'est comme si un juste milieu par exemple en fait il y a aussi des choses qui sont tu peux pas écouter je m'en étais aperçu en fait ce que je connais à fond je suis en 2014 en 2015 enfin 2014 après je suis rentré à votre famille du coup j'ai fait beaucoup de marketing et j'ai beaucoup moins codé [51:51] et quand je suis sorti et que justement j'ai commencé à travailler avec vous entre-temps il l'a fallu deux trois ans ça a été rapide on avait totalement changé de philosophie du front on est passé en composant donc tout l'interface qui était fait à la tour faire en composant donc vraiment un paradigme qui avait changé et là j'ai vu à partir de 2018-2019 un autre paradigme qui a changé c'est qu'on avait l'émergence d'étape script et en fait adapter un code javascript ça prend du temps c'est beaucoup de travail c'est limite du travail de fourmis et ça c'est pareil tu peux le délayer mais il y a un moment si tu fais pas le taf [52:20] de mettre à jour tes stacks tu es aussi en mettre aussi tu vas être aussi embêté sur le recrutement niveau des talents c'est les talents ils vont pas vouloir bosser sur le code de merde et donc tu as un juste milieu à faire mais pas je prends du cas par exemple de l'entrepreneur qu'on connaît bien qui habite à Barcelone genre c'est ça qui c'est du PHP tu vois pas recruter il sait parce que aucun de développeur va accepter de bosser sur sur une version de php qui est aussi après néanmoins je dois dire que je vois beaucoup de développeurs qui ont une stack PHP c'est assez productif en fait au final parce [52:50] que c'est pas un langage qui a l'air d'évoluer beaucoup mais j'en ai fait il y a en 2012 2011 je connais pas moi j'ai pas vu j'ai pas vu les évolutions nécessairement mais en fait je vois beaucoup de personnes qui travaillent très vite en PHP c'est vrai qu'il y a un peu la sensation de le faire les choses à la salle peut-être [Musique] de faire un truc dirty enfin quoi dirty ça marche au début mais c'est juste que tu fais pas un système comme du tu fais pas du messaging en PHP tout simplement parce que tu as besoin d'avoir un level loop notre vieillesse notre JS c'est [53:18] fantastique pour faire des applications en gros qui qui font de l'événementiel tu vois qui reste qui tourne ils sont qui tournent en permanence tu vois et qui vient de les événements etc parce que le truc de PHP c'est que tu peux faire des applications qui tournent dans tu sais genre en mode serveur mais tel que ça a été conçu PHP c'est genre il y a une personne qui arrive sur ton site web tu as le serveur à page qui arrive qui va appeler le process PHP qui va rendre le script php qui va retourner à des résultats et après le ça va s'arrêter là tu vois je peux pas [53:46] vraiment de faire tapas de concept de liven loop comme comme on a en note JS et qui est absolument fantastique pour faire des applications modernes weirdstime tu vois ça c'est vraiment vu avec Météor JS en 2014-2015 qui était vraiment une appli une très belle application de notre [54:06] ça consommait à mort mec franchement ça consommait tellement par rapport à une application normale et j'ai même un papa sur 50 millions mais il y avait un développeur qui avait dit que dans un article qui était un fan de metteur JS un évangéliste tout et il avait fini par être un moment en disant que il arrêtait de météo pour pour de son mari météo c'est ce qu'on avait vraiment besoin que tout soit réaltime de son article et j'ai trouvé ça vrai en fait ce que au final dans ton application tu as plein tout sur aujourd'hui c'est vrai qu'on est plus dans une STAC dans les sacs parce que [54:40] météores c'est genre c'est vraiment que ta cobayes elle fait tout j'aime beaucoup les concepts aujourd'hui où tu as tu décorer c'est à dire que tu as d'un côté tu as ton AP y reste qui te permet aussi de que les développeurs s'intégrer avec toi de train de manière très facile donc ça c'est vraiment une cote baise à part tu as ton fontaine donc ça va être un budget etc et ton vue GS tu peux limiter les berger sur du cloud flare Paige du netlify puis on a payé autre part digital océan et en fait tu es vraiment libre tu vois genre de tout est découpler des corrélés genre [55:12] si tu fais une merde genre dans le déploiement de ton fontaine c'est pas grave on a payé le temps de toujours donc en fait les développeurs qui s'intégreront avec toi en mode serveur ça sera toujours disponible et vice versa genre c'est ton à Payerne tu pourras mettre un joli message d'erreur sur la faut vraiment que les choses soient découplées aujourd'hui je pense dans les infra moderne et il y a un concept qui aide beaucoup avec ça je trouve que c'est le toile factor app si je me trompe pas de heroko qui avait fondé ça et qui avait bien défini ça en fait déjà il y a très longtemps je [55:41] comment faire des apps minimales tu vois genre des carrément découplé et qui c'est qui qui sont capables de s'interfacer en fait entre elles avec des protocoles standards j'avais beaucoup aimé leur philosophie ça existe toujours mais le toile factor app qu'ils ont un peu inventé si je me trompe pas mais je suis pas sûr à vérifier c'est un peu ce qui définit aujourd'hui tous les infrastructures modernes j'ai rajouté un oeil j'ai vu ces je sais que c'est une seule page en fait c'est landing page non pas avec des fichiers de configuration mais avec des variables d'environnement parce que les variables d'environnement tu peux les passer tu peux laisser sécuriser tu es dans un [56:17] vôtre et genre au moment du déploiement tu dépasses tu vois alors qu'un fichier de configuration c'est en clair sur le disque n'utilise jamais le système n'écrit jamais de fichier sur le fil système écrivez dans des bases de données qui sont exposées sur le réseau parce que ça te permet du coup d'avoir des micro-services que tu peux répliquer tu vois horizontalement plein de choses comme ça qui sont très intéressantes moi c'était à peu près tout ce que j'avais raconté sur l'immigration je pense qu'on sera pas la peine qu'on en parle tu vois pas d'autres choses franchement non mais je continue les migrations donc j'aurais peut-être des choses à ajouter dans les semaines à [56:50] venir mais c'est vrai je pense qu'on partage une chose c'est que tu peux vite tomber en burn-out à force de migration [57:06] c'est à dire que tu es seul à fond tu dégages et puis en fait mais merde tu découvres un nouveau truc il en a 50 autres tâches et là tu le retrouves avec et en fait ça se termine jamais et franchement il y avait un moment je me suis dit bah va falloir serrer les dents et c'est du mental quoi mais et puis surtout c'est il y a un truc qui est fatiguant parce que tu as des gens qui demandent des fissures mais du coup tu es un processus de pause enfin bref ça c'est pas dur quand tu es seul aussi sur une sur un produit mais j'ajouterai [57:38] que même quand tu es dans une équipe c'est dur aussi puisque quand tu fais tes migrations toi tu peux bloquer aussi les développeurs JS a bu trois vue dessus je me souviens que toi tu développais l'application vue mais moi de l'autre côté il y avait les clients en fait qui demand [58:52] je prends malin quand j'imagine même pas un énorme site amigré franchement ça peut ça peut ça peut te cramer une équipe si tu veux si tu le fais mal quoi il faut surtout pas faire des mises à jour au quotidien par contre il y a quelque chose qui est très important comme c'est la sécurité il faut quand même être alerte et peut-être abonné à des des bases d'alerte de sécurité donc les CEVE typiquement donc pour être notifié très vite quand tu as des CEVE qui arrive donc des failles de sécurité dans ce que tu utilises et ça tu as pas besoin de faire des migration parfois [59:17] les vieilles versions que tu utilises vont être patchés donc tu peux les mettre à jour il faut pas être non plus tu sais genre en mode stressé tu vois de par la sécurité au quotidien et du coup être constamment en train de faire les mises à jour mais il faut quand même regarder les CVE quoi très important bon et bien je pense qu'on peut terminer sur sur ça moi je retiens un truc de cet épisode c'est que il faut délayer les migrations et des fois c'est un avantage à être un LED cover que un mec qui est direct à jour et je te dis moi je pense que j'ai mis un peu trop [59:49] tôt aujourd'hui attendre six mois huit mois peut-être même été prochain donc en tout cas c'est une bonne leçon et puis à bientôt pour un prochain épisode sur tu as peut-être un sujet que tu as envie de parler toi prochainement je pourrais parler de nomade éventuellement de la de l'orchestration de manière plus fine c'est tout ce sera très technique mais d'ici quelques mois quand j'aurai le sujet par contre je connaissais pas du tout j'ai écrit un article d'ailleurs qui peut intéresser pour ceux qui veulent tester nomades donc si vous avez un compte voltor qui a une alternative à l'océan j'ai écrit un script que tu peux mettre en bout de script chez voltor [1:00:27] quand tu vas créer des serveurs en fait avec un certain nom ça va te installer automatiquement donc le store nomade tu peux j'ai écrit un article de blog aussi c'est Valérian saliaux sur GitHub donc c'est un guist donc il faut aller sur mon sur mon site sur le journal il y a un article à ce sujet là et c'est vraiment au final j'ai réussi à en une journée je comprenais comment ça marchait j'ai réussi à héberger des trucs sur la doc nomade c'est important les articles de fin que les gens écrivent des articles de blog aussi quand une fois qu'il découvre une solution parce que nomade c'est quand [1:01:03] même assez assez nouveau on va dire donc il y a moins de communautés que que mais ouais c'est important de partager du coup quand on a quand on produit quelque chose mais il faut laisser pour ça qu'il faut attendre des fois dans la durée que les gens ils ont un documenter erreur et que ce soit de ce qui les font pas plutôt que nous quoi exactement voilà bon bien merci à tous en tout cas et puis c'était pas à vous abonner à la caisse épisode si ça vous a plu et aussi suggère des sujets en commentaire il y a plein de sujets que qu'on aimerait aborder ça peut être le produit enfin [1:01:34] tout ce qui est design x sketch figma je sais pas plein de choses et d'ailleurs j'ai même découvert des supers invités je pense d'autres micro là mais j'ai de pouvoir mettre à Nantes en entreprenant on en parlera après qu'elle a l'air assez puissant donc voilà merci à tous et à bientôt à bientôt --- About this transcript Read from YouTube's own caption track and laid out by ViewRank AI (https://viewrankai.com). ViewRank AI finds the videos already beating a creator's own average on Instagram, TikTok and YouTube Shorts, transcribes them from the audio itself in more than 60 languages, and turns what worked into new ideas and scripts. Free transcript tools, no account needed: https://viewrankai.com/tools How to read any video this way: https://viewrankai.com/llms.txt