{"id":95999,"date":"2020-10-06T13:41:58","date_gmt":"2020-10-06T11:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki"},"modified":"2020-10-06T13:41:58","modified_gmt":"2020-10-06T11:41:58","slug":"poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","title":{"rendered":"Pendant que tout le monde f\u00eatait mon anniversaire, je r\u00e9parais le cluster jusqu'au matin \u2014 les d\u00e9veloppeurs m'ont refil\u00e9 leurs erreurs.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pendant que tout le monde f\u00eatait mon anniversaire, je r\u00e9parais le cluster jusqu&#039;au matin \u2014 les d\u00e9veloppeurs m&#039;ont refil\u00e9 leurs erreurs.\" src=\"\/wp-content\/uploads\/2020\/10\/f67882cb5b565cb2efef20f68bbef1d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVoici l'histoire qui a d\u00e9finitivement chang\u00e9 ma fa\u00e7on d'aborder le travail en DevOps. Cela remonte \u00e0 l'\u00e9poque d'avant la pand\u00e9mie, bien avant que cela se produise, lorsque mes coll\u00e8gues et moi envisagions de cr\u00e9er notre propre entreprise et faisions du freelancing pour des commandes occasionnelles. Une proposition m'est parvenue sur Telegram. <\/p>\n<p>L'entreprise qui a formul\u00e9 la demande \u00e9tait sp\u00e9cialis\u00e9e dans l'analyse de donn\u00e9es. Chaque jour, elle traitait des milliers de requ\u00eates. Ils sont venus vers nous en disant : les gars, nous avons ClickHouse et nous voulons automatiser son installation et sa configuration. Nous voulons Ansible, Terraform, Docker et que tout cela soit conserv\u00e9 dans Git. Nous voulons un cluster de quatre n\u0153uds avec deux r\u00e9plicas chacun. <\/p>\n<p>Une demande classique, parmi des dizaines d'autres, avec le besoin d'une solution standard tout aussi efficace. Nous avons dit \u00ab d'accord \u00bb et apr\u00e8s 2-3 semaines, tout \u00e9tait pr\u00eat. Ils ont accept\u00e9 le travail et ont commenc\u00e9 \u00e0 migrer vers le nouveau cluster ClickHouse avec notre utilitaire. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPersonne chez eux ne voulait ou ne savait s'occuper de ClickHouse. \u00c0 ce moment-l\u00e0, nous pensions que c'\u00e9tait leur principal probl\u00e8me, c'est pourquoi le CTO de l'entreprise a donn\u00e9 le feu vert \u00e0 mon \u00e9quipe pour automatiser autant que possible les op\u00e9rations, afin de ne plus avoir \u00e0 s'en m\u00ealer.<\/p>\n<p>Nous avons accompagn\u00e9 la migration et d'autres t\u00e2ches ont surgi : mettre en place des sauvegardes et une surveillance. \u00c0 ce moment-l\u00e0, le CTO de cette entreprise s'est retir\u00e9 pour un autre projet, nous laissant comme commandant l'un de ses gars \u2014 Leonid. L\u00e9onid n'\u00e9tait pas tr\u00e8s dou\u00e9. C'\u00e9tait un simple d\u00e9veloppeur qui s'est soudainement retrouv\u00e9 chef de ClickHouse. Il semblait que c'\u00e9tait sa premi\u00e8re nomination \u00e0 un poste responsable et l'honneur qui lui \u00e9tait conf\u00e9r\u00e9 lui a donn\u00e9 un peu de pr\u00e9tention. <\/p>\n<p>Ensemble, nous avons commenc\u00e9 \u00e0 travailler sur les sauvegardes. J'ai propos\u00e9 de sauvegarder imm\u00e9diatement les donn\u00e9es sources. Simplement les prendre, les compresser et les envoyer \u00e9l\u00e9gamment dans un S3 quelconque. Les donn\u00e9es sources sont pr\u00e9cieuses. Il existait aussi une autre option : sauvegarder les tables m\u00eames dans ClickHouse, en utilisant des freezes et des copies. Mais L\u00e9onid a invent\u00e9 sa propre solution.<\/p>\n<p>Il a annonc\u00e9 qu'il nous fallait un second cluster ClickHouse. D\u00e9sormais, nous \u00e9cririons des donn\u00e9es sur deux clusters \u2014 le principal et le de sauvegarde. Je lui ai dit, \u00e9coute L\u00e9onid, cela ne sera pas une sauvegarde mais une r\u00e9plique active. Et si des donn\u00e9es commencent \u00e0 dispara\u00eetre en production, ta sauvegarde ne contiendra pas autre chose. <\/p>\n<p>Mais L\u00e9onid s'accrochait fermement au pilotage et refusait d'\u00e9couter mes arguments. Nous avons longtemps discut\u00e9 dans le chat, mais il n'y avait rien \u00e0 faire \u2014 L\u00e9onid dirigeait le projet, nous n'\u00e9tions que des gars embauch\u00e9s de la rue.<\/p>\n<p>Nous avons surveill\u00e9 l'\u00e9tat du cluster et avons factur\u00e9 uniquement le travail des administrateurs. Administration propre de ClickHouse sans interf\u00e9rer avec les donn\u00e9es. Le cluster \u00e9tait accessible, les disques en bon \u00e9tat, les n\u0153uds en ordre. <\/p>\n<h3>Nous ne soup\u00e7onnions pas encore que nous avions re\u00e7u cette commande en raison d'une terrible incompr\u00e9hension au sein de leur \u00e9quipe.<\/h3>\n<p>\nLe responsable \u00e9tait m\u00e9content que ClickHouse fonctionne lentement et que des donn\u00e9es soient parfois perdues. Il a demand\u00e9 \u00e0 son CTO de s'en occuper. Ce dernier a fait de son mieux et a conclu qu'il fallait simplement automatiser ClickHouse \u2014 et c'\u00e9tait tout. Mais comme il s'est rapidement av\u00e9r\u00e9, ils n'avaient pas du tout besoin d'une \u00e9quipe de devops.<\/p>\n<p>Tout cela a \u00e9t\u00e9 d\u00e9couvert de mani\u00e8re tr\u00e8s, tr\u00e8s douloureuse. Et le plus ennuyeux, c'\u00e9tait le jour de mon anniversaire.<\/p>\n<p>\nVendredi soir. J'avais r\u00e9serv\u00e9 une table dans mon bar \u00e0 vin pr\u00e9f\u00e9r\u00e9 et j'avais invit\u00e9 des amis. <\/p>\n<p>Presque juste avant de sortir, nous avons re\u00e7u une petite t\u00e2che pour faire une alternative, nous l'avons accomplie, tout \u00e9tait OK. L'alternative est pass\u00e9e, ClickHouse a confirm\u00e9. Nous \u00e9tions d\u00e9j\u00e0 pr\u00eats \u00e0 aller au bar, et on nous \u00e9crit qu'il manque des donn\u00e9es. Nous avons compt\u00e9 \u2014 apparemment, tout est suffisant. Et nous sommes partis faire la f\u00eate.<\/p>\n<p>Le restaurant \u00e9tait bruyant comme un vendredi. Apr\u00e8s avoir command\u00e9 des boissons et de la nourriture, nous nous sommes affal\u00e9s sur des canap\u00e9s. Pendant tout ce temps, ma Slack \u00e9tait lentement inond\u00e9e de messages. Ils parlaient de manque de donn\u00e9es. J'ai pens\u00e9 \u2014 le matin est plus sage que le soir, surtout en ce jour.<\/p>\n<p>Vers onze heures, ils ont commenc\u00e9 \u00e0 m'appeler. C'\u00e9tait le responsable de l'entreprise... \"Il a probablement d\u00e9cid\u00e9 de me f\u00e9liciter\", ai-je pens\u00e9 tr\u00e8s incertainement, puis j'ai d\u00e9croch\u00e9.<\/p>\n<p>Et j'ai entendu quelque chose du genre : \"Vous avez perdu nos donn\u00e9es ! Je vous paie, mais rien ne fonctionne ! Vous \u00e9tiez responsables des sauvegardes, et vous n'avez rien fait ! R\u00e9parez \u00e7a !\" \u2014 mais encore plus grossi\u00e8rement.<\/p>\n<p>\u2014 Tu sais quoi, va te faire voir ! Aujourd'hui, c'est mon anniversaire, et je vais picoler, pas m'occuper de tes bricolages douteux !<\/p>\n<p>C'est exactement ce que je ne disais pas. Au lieu de cela, j'ai sorti mon ordinateur portable et je me suis mis au travail.<\/p>\n<p>Non, j'\u00e9tais en furie, j'\u00e9tais vraiment en col\u00e8re ! J'ai balanc\u00e9 dans le chat des \"je l'avais dit\" acerbes \u2014 parce que la sauvegarde, qui n'\u00e9tait pas du tout une sauvegarde, n'a bien s\u00fbr rien sauv\u00e9. <\/p>\n<p>Avec les gars, nous avons trouv\u00e9 comment arr\u00eater manuellement l'enregistrement et tout v\u00e9rifier. Nous avons vraiment confirm\u00e9 qu'une partie des donn\u00e9es ne s'\u00e9crivait pas.<\/p>\n<p>Nous avons arr\u00eat\u00e9 l'enregistrement, compt\u00e9 le nombre d'\u00e9v\u00e9nements qui s'y trouvaient au cours de la journ\u00e9e. Nous avons ajout\u00e9 encore des donn\u00e9es, mais seulement un tiers n'a pas \u00e9t\u00e9 enregistr\u00e9. Trois shards avec 2 r\u00e9pliques. Tu ins\u00e8res 100 000 lignes \u2014 33 000 ne s'enregistrent pas.<\/p>\n<p>C'\u00e9tait le chaos total. Tout le monde s'envoyait balader \u00e0 tour de r\u00f4le : le premier \u00e0 partir l\u00e0-bas \u00e9tait L\u00e9on, suivi de moi et du fondateur de l'entreprise. Le CTO, qui venait juste de rejoindre, essayait de g\u00e9rer nos appels avec des cris et nos messages pour trouver une solution au probl\u00e8me. <\/p>\n<h3>Ce qui se passait r\u00e9ellement \u2014 personne ne comprenait.<\/h3>\n<p>\nNous \u00e9tions compl\u00e8tement sid\u00e9r\u00e9s, r\u00e9alisant qu'un tiers de toutes les donn\u00e9es ne s'enregistraient pas juste \u2014 elles \u00e9taient perdues ! Il s'est av\u00e9r\u00e9 que l'ordre dans l'entreprise \u00e9tait tel : apr\u00e8s insertion, les donn\u00e9es \u00e9taient supprim\u00e9es de mani\u00e8re irr\u00e9versible, les \u00e9v\u00e9nements se perdaient par paquets. J'ai imagin\u00e9 comment Sergey convertissait tout cela en roubles non per\u00e7us.<\/p>\n<p>Mon anniversaire aussi a \u00e9t\u00e9 jet\u00e9 \u00e0 la poubelle. Nous \u00e9tions assis dans un bar, g\u00e9n\u00e9rant des id\u00e9es, essayant de r\u00e9soudre le r\u00e9bus lanc\u00e9. La raison de la chute de ClickHouse n'\u00e9tait pas \u00e9vidente. Peut-\u00eatre \u00e9tait-ce le r\u00e9seau, peut-\u00eatre un probl\u00e8me de configuration de Linux. N'importe quoi, suffisamment d'hypoth\u00e8ses ont \u00e9t\u00e9 formul\u00e9es.<\/p>\n<p>Je n'avais pas pr\u00eat\u00e9 le serment des d\u00e9veloppeurs, mais abandonner les gars au bout du fil \u00e9tait d\u00e9loyal \u2014 m\u00eame s'ils nous bl\u00e2maient pour tout. J'\u00e9tais s\u00fbr \u00e0 99 % que le probl\u00e8me ne venait pas de nos solutions, pas de notre c\u00f4t\u00e9. 1 % de chance que ce soit nous qui ayons merd\u00e9 me br\u00fblait d'angoisse. Mais peu importe o\u00f9 se trouvait le probl\u00e8me \u2014 il fallait le corriger. Laisser les clients, peu importe qui ils \u00e9taient, avec une telle terrible fuite de donn\u00e9es \u2014 c'\u00e9tait trop cruel.<\/p>\n<p>Nous avons travaill\u00e9 jusqu'\u00e0 trois heures du matin \u00e0 la table d'un restaurant. Nous ajoutions des \u00e9v\u00e9nements, faisions des insert select \u2014 et nous avons commenc\u00e9 \u00e0 combler les lacunes. Quand tu as perdu des donn\u00e9es, tu proc\u00e8des de cette fa\u00e7on : tu prends les donn\u00e9es moyennes des jours pr\u00e9c\u00e9dents et tu les ins\u00e8res dans celles qui sont perdues.<\/p>\n<p>Apr\u00e8s trois heures du matin, mon pote et moi sommes rentr\u00e9s chez moi, avons command\u00e9 de la bi\u00e8re \u00e0 un magasin d'alcool. Je me suis retrouv\u00e9 avec mon ordinateur portable et les probl\u00e8mes de ClickHouse, mon ami me racontait quelque chose. Au bout d'une heure, il s'est f\u00e2ch\u00e9 parce que je travaillais et ne buvais pas de bi\u00e8re avec lui, et est parti. Classique \u2014 il a \u00e9t\u00e9 ami avec un devops.<\/p>\n<p>\u00c0 6 heures du matin, j'ai recr\u00e9\u00e9 la table \u00e0 nouveau, et les donn\u00e9es ont commenc\u00e9 \u00e0 \u00eatre charg\u00e9es. Tout a fonctionn\u00e9 sans pertes.<\/p>\n<p><\/p>\n<h3>Apr\u00e8s cela, c'\u00e9tait difficile. Tout le monde s'accusait mutuellement de la perte de donn\u00e9es. Si un nouveau bug apparaissait, je suis s\u00fbr qu'une fusillade aurait commenc\u00e9.<\/h3>\n<p>\nDans ces disputes, nous avons enfin commenc\u00e9 \u00e0 comprendre \u2014 dans l'entreprise, ils pensaient que nous \u00e9tions les gars qui s'occupent des donn\u00e9es et veillent \u00e0 la structure des tables. Ils ont confondu les admins avec les DBA. Et ils sont venus nous demander non pas en tant qu'administrateurs.<\/p>\n<p>Leur principale plainte \u00e9tait \u2014 c'est quoi ce bordel, vous \u00e9tiez responsables des sauvegardes et vous ne les avez pas faites correctement, vous avez perdu des donn\u00e9es. Et tout cela avec des gros mots.<\/p>\n<p>Je voulais de la justice. J'ai d\u00e9terr\u00e9 la correspondance et j'ai joint tous les \u00e9crans o\u00f9 Leonid exige de toutes ses forces de faire une sauvegarde comme celle qui avait \u00e9t\u00e9 faite. Leur CTO s'est rang\u00e9 de notre c\u00f4t\u00e9 apr\u00e8s mon appel t\u00e9l\u00e9phonique. Par la suite, Leonid a reconnu sa faute.<\/p>\n<p>Le chef de l'entreprise, au contraire, ne voulait pas bl\u00e2mer les siens. Les captures d'\u00e9cran et les mots n'avaient pas d'effet sur lui. Il pensait que puisque nous \u00e9tions des experts ici, nous aurions d\u00fb convaincre tout le monde et maintenir notre d\u00e9cision. Il semblerait que notre t\u00e2che \u00e9tait d'enseigner \u00e0 Leonid et, en plus de contourner lui, le responsable du projet, d'arriver au chef et de lui exprimer toutes nos doutes sur le concept des sauvegardes. <\/p>\n<p>Le chat d\u00e9bordait de haine, d'agressivit\u00e9 cach\u00e9e et non cach\u00e9e. Je ne savais pas quoi faire. Tout semblait \u00eatre dans une impasse. Et l\u00e0, on m'a conseill\u00e9 la m\u00e9thode la plus simple \u2014 \u00e9crire en priv\u00e9 au directeur et convenir d'une r\u00e9union avec lui. Vasya, les gens dans la vie ne sont pas aussi os\u00e9s que dans le chat. En r\u00e9ponse \u00e0 mon message, le patron a dit : viens, pas de probl\u00e8me.<\/p>\n<p>\nC'\u00e9tait la rencontre la plus d\u00e9sagr\u00e9able de ma carri\u00e8re. Mon alli\u00e9 chez le client \u2014 le CTO \u2014 n'a pas pu trouver le temps. Sur le chemin, j'allais voir le patron et Leonid.<\/p>\n<p>Je repassais encore et encore dans ma t\u00eate notre dialogue possible. J'ai m\u00eame r\u00e9ussi \u00e0 arriver tr\u00e8s en avance, une demi-heure \u00e0 l'avance. Le stress a commenc\u00e9, j'ai fum\u00e9 dix cigarettes. Je comprenais, c'\u00e9tait fini \u2014 j'\u00e9tais seul. Je ne pouvais pas les convaincre. Et j'ai p\u00e9n\u00e9tr\u00e9 dans l'ascenseur.<\/p>\n<p>Pendant que je montais, j'ai tellement fait couiner mon briquet que je l'ai cass\u00e9.<\/p>\n<p>Finalement, Leonid n'\u00e9tait pas pr\u00e9sent \u00e0 la r\u00e9union. Et nous avons tr\u00e8s bien parl\u00e9 avec le patron ! Sergey m'a parl\u00e9 de sa douleur. Il ne voulait pas \u00ab automatiser ClickHouse \u00bb \u2014 il voulait que \u00ab les requ\u00eates fonctionnent \u00bb.<\/p>\n<p>Je n'ai pas vu un salaud, mais un bon gars, pr\u00e9occup\u00e9 par son entreprise, plong\u00e9 dans le travail 24\/7. Le chat nous d\u00e9peint souvent des m\u00e9chants, des sc\u00e9l\u00e9rats et des idiots. Mais dans la vie, ce sont des gens comme toi. <\/p>\n<p>Sergey n'avait pas besoin de quelques DevOps freelance. Le probl\u00e8me qu'ils avaient rencontr\u00e9 \u00e9tait beaucoup plus important. <\/p>\n<p>J'ai dit que je pouvais r\u00e9soudre ses probl\u00e8mes \u2014 c'est juste un tout autre travail, et j'ai un ami DBA pour cela. Si nous avions su d\u00e8s le d\u00e9part que c'\u00e9tait pour eux, nous aurions \u00e9vit\u00e9 beaucoup de choses. Il est trop tard, mais nous avons compris que le probl\u00e8me venait d'un mauvais travail sur les donn\u00e9es, et non de l'infrastructure. <\/p>\n<p>Nous avons \u00e9chang\u00e9 des poign\u00e9es de main, notre tarif a grimp\u00e9 de deux fois et demie, mais avec la condition \u2014 je prends absolument tout le casse-t\u00eate de leurs donn\u00e9es et de ClickHouse sur moi. Dans l'ascenseur, j'ai contact\u00e9 le DBA Max et l'ai int\u00e9gr\u00e9 au projet. Il fallait refondre tout le cluster.<\/p>\n<p>\nIl y avait beaucoup de d\u00e9chets dans le projet accept\u00e9. \u00c0 commencer par le \u00ab backup \u00bb mentionn\u00e9. Il s'est av\u00e9r\u00e9 que ce m\u00eame cluster de \u00ab backup \u00bb n'\u00e9tait pas isol\u00e9. On testait tout dessus, et parfois m\u00eame on le mettait en production.<\/p>\n<p>Les d\u00e9veloppeurs internes avaient cr\u00e9\u00e9 leur propre \u00ab injecteur \u00bb de donn\u00e9es. Il fonctionnait comme ceci : il traitait des fichiers en lot, ex\u00e9cutait un script et ajoutait des donn\u00e9es dans la table. Mais le principal probl\u00e8me \u00e9tait que d'\u00e9normes quantit\u00e9s de donn\u00e9es \u00e9taient accept\u00e9es pour une simple requ\u00eate. La requ\u00eate joignait les donn\u00e9es par seconde. Tout cela pour un seul chiffre \u2014 la somme de la journ\u00e9e.<\/p>\n<p>Les d\u00e9veloppeurs internes utilisaient mal l'outil d'analyse. Ils allaient sur Grafana, \u00e9crivaient leur requ\u00eate royale. Elle extrayait des donn\u00e9es sur 2 semaines. Cela faisait un joli graphique. Mais en r\u00e9alit\u00e9, la requ\u00eate de donn\u00e9es s'ex\u00e9cutait toutes les 10 secondes. Tout cela s'accumulait dans la file d'attente, car ClickHouse ne pouvait tout simplement pas traiter le tout. C'est l\u00e0 que se cachait la vraie raison. Rien ne fonctionnait dans Grafana, les requ\u00eates \u00e9taient bloqu\u00e9es en attente, et des donn\u00e9es anciennes et non pertinentes arrivaient constamment.<\/p>\n<p>Nous avons reconfigur\u00e9 le cluster, retravaill\u00e9 l'insertion. Les d\u00e9veloppeurs internes ont r\u00e9\u00e9crit leur \u00ab injecteur \u00bb, et il a commenc\u00e9 \u00e0 sharder les donn\u00e9es correctement.<\/p>\n<p>Max a effectu\u00e9 un audit complet de l'infrastructure. Il a d\u00e9taill\u00e9 un plan de transition vers un backend complet. Mais cela n'a pas satisfait l'entreprise. Ils attendaient de Max un secret magique qui permettrait de travailler de la vieille mani\u00e8re, mais de mani\u00e8re efficace. Le projet \u00e9tait toujours sous la responsabilit\u00e9 de L\u00e9na, qui n'avait rien appris. Parmi tout ce qui avait \u00e9t\u00e9 propos\u00e9, il a une fois de plus choisi sa propre alternative. Comme d'habitude, c'\u00e9tait la plus audacieuse... la plus courageuse. L\u00e9na pensait que son entreprise avait un chemin sp\u00e9cial. Sem\u00e9 d'emb\u00fbches et rempli d'icebergs.<\/p>\n<p>En fait, c'est l\u00e0-dessus que nous nous sommes s\u00e9par\u00e9s \u2014 nous avons fait ce que nous avons pu.<\/p>\n<p>\nAvec des exp\u00e9riences pass\u00e9es et enrichis de cette histoire, nous avons lanc\u00e9 notre entreprise et d\u00e9fini plusieurs principes pour nous-m\u00eames. Aujourd'hui, nous ne commen\u00e7ons jamais un projet de la m\u00eame mani\u00e8re qu'\u00e0 l'\u00e9poque.<\/p>\n<p>Le d\u00e9veloppeur Max a rejoint notre \u00e9quipe apr\u00e8s ce projet et nous travaillons toujours tr\u00e8s bien ensemble. Le cas de ClickHouse nous a appris \u00e0 r\u00e9aliser un audit complet et approfondi de l'infrastructure avant de commencer un travail. Nous comprenons comment tout fonctionne, puis nous acceptons les t\u00e2ches. Si auparavant nous \u00e9tions tent\u00e9s de g\u00e9rer l'infrastructure imm\u00e9diatement, nous faisons maintenant d'abord un projet ponctuel qui aide \u00e0 comprendre comment la remettre en \u00e9tat de marche. <\/p>\n<p>Et oui, nous \u00e9vitons les projets avec une infrastructure d\u00e9faillante. M\u00eame pour beaucoup d'argent, m\u00eame par amiti\u00e9. G\u00e9rer des projets probl\u00e9matiques n'est pas rentable. Prendre conscience de cela nous a permis de grandir. Soit nous faisons un projet ponctuel pour remettre en ordre l'infrastructure, suivi d'un contrat de maintenance, soit nous passons tout simplement notre chemin. En \u00e9vitant un autre iceberg.<\/p>\n<p><i>P.S. Donc, si vous avez des questions sur votre infrastructure, <noindex><a rel=\"nofollow\" href=\"https:\/\/fevlake.com\"><b>n'h\u00e9sitez pas \u00e0 laisser une demande<\/b><\/a><\/noindex>.<\/p>\n<p>Nous proposons 2 audits gratuits par mois, peut-\u00eatre que votre projet sera s\u00e9lectionn\u00e9.<\/i><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rebrainme\/blog\/522108\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043c\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0434\u0435\u0432\u043e\u043f\u0441\u0430. \u0415\u0449\u0435 \u0432 \u0434\u043e\u043a\u043e\u0432\u0438\u0434\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u0437\u0430\u0434\u043e\u043b\u0433\u043e-\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u043d\u0438\u0445, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441 \u043f\u0430\u0440\u043d\u044f\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438 \u0441\u0432\u043e\u0435 \u0434\u0435\u043b\u043e \u0438 \u0444\u0440\u0438\u043b\u0430\u043d\u0441\u0438\u043b\u0438 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0430\u0445, \u043c\u043d\u0435 \u0432 \u0442\u0435\u043b\u0435\u0433\u0443 \u0443\u043f\u0430\u043b\u043e \u043e\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0430, \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445. \u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043e\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0442\u044b\u0441\u044f\u0447\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a \u043d\u0430\u043c \u043e\u043d\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u0441\u043e \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u0440\u0435\u0431\u044f\u0442, \u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96000,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-06T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-06T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Alors que tout le monde c\u00e9l\u00e9brait mon anniversaire, moi je r\u00e9parais le cluster jusqu'au matin \u2014 et les d\u00e9veloppeurs me refilaient leurs erreurs | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-06T11:41:58+00:00","article:modified_time":"2020-10-06T11:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95999","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:53:26","updated":"2022-10-01 11:21:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/95999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=95999"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/95999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/96000"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=95999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=95999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=95999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}