{"id":87282,"date":"2020-07-06T13:44:51","date_gmt":"2020-07-06T11:44:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury"},"modified":"2021-02-01T11:41:48","modified_gmt":"2021-02-01T09:41:48","slug":"ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","title":{"rendered":"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l'infrastructure Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Si votre infrastructure IT cro\u00eet trop rapidement, vous serez t\u00f4t ou tard confront\u00e9 \u00e0 un choix : augmenter lin\u00e9airement les ressources humaines pour la soutenir ou commencer l'automatisation. Jusqu'\u00e0 un certain point, nous avons v\u00e9cu dans ce premier paradigme, puis a commenc\u00e9 un long chemin vers l'Infrastructure-as-Code.<\/p>\n<p><img decoding=\"async\" alt=\"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l&#039;infrastructure Linux\" src=\"\/wp-content\/uploads\/2020\/07\/adbcf170e3e0f794355eb1eb052585c1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nBien s\u00fbr, NSPK n'est pas une startup, mais c'est l'atmosph\u00e8re qui r\u00e9gnait dans l'entreprise durant les premi\u00e8res ann\u00e9es, et elles ont \u00e9t\u00e9 tr\u00e8s int\u00e9ressantes. Je m'appelle <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/dkorn\/\">Dmitriy Koryakov<\/a><\/noindex>, cela fait plus de 10 ans que je soutiens une infrastructure Linux avec des exigences de disponibilit\u00e9 \u00e9lev\u00e9es. J'ai rejoint l'\u00e9quipe NSPK en janvier 2016 et, malheureusement, je n'ai pas connu le tout d\u00e9but de l'existence de l'entreprise, mais je suis arriv\u00e9 \u00e0 un moment de grands changements.<\/p>\n<p>Dans l'ensemble, on peut dire que notre \u00e9quipe fournit deux produits \u00e0 l'entreprise. Le premier est l'infrastructure. Les e-mails doivent circuler, le DNS doit fonctionner, et les contr\u00f4leurs de domaine doivent vous permettre d'acc\u00e9der \u00e0 des serveurs qui ne doivent pas tomber. Le paysage IT de l'entreprise est immense ! Ce sont des syst\u00e8mes critiques pour les affaires et les missions, et les exigences de disponibilit\u00e9 de certains atteignent 99,999. Le deuxi\u00e8me produit est constitu\u00e9 par les serveurs eux-m\u00eames, physiques et virtuels. Il faut surveiller ceux qui existent, et en fournir de nouveaux r\u00e9guli\u00e8rement aux clients dans de nombreux d\u00e9partements. Dans cet article, je souhaite me concentrer sur la mani\u00e8re dont nous avons d\u00e9velopp\u00e9 l'infrastructure qui g\u00e8re le cycle de vie. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/\"   title=\"serveurs\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1507\">serveurs<\/a>.<\/p>\n<p><b>Le d\u00e9but du parcours<\/b><\/p>\n<p>Au d\u00e9but, notre pile technologique ressemblait \u00e0 ceci :<br \/>\n<i>OS CentOS 7<br \/>\nContr\u00f4leurs de domaine FreeIPA<br \/>\nAutomatisation - Ansible(+Tower), Cobbler<\/i><\/p>\n<p>Tout cela \u00e9tait r\u00e9parti sur 3 domaines, dispers\u00e9s sur plusieurs centres de donn\u00e9es. Dans un centre de donn\u00e9es se trouvaient les syst\u00e8mes bureautiques et les environnements de test, dans les autres, la production.<\/p>\n<p>La cr\u00e9ation de serveurs \u00e0 un certain moment ressemblait \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" alt=\"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l&#039;infrastructure Linux\" src=\"\/wp-content\/uploads\/2020\/07\/2cc6209276489dc6e9d1bf46236d3785.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Dans le mod\u00e8le VM CentOS minimal, le minimum n\u00e9cessaire comme un correct \/etc\/resolv.conf, le reste arrive via Ansible.<\/p>\n<p>CMDB - Excel.<\/p>\n<p>Si le serveur est physique, au lieu de copier la machine virtuelle, on installait le syst\u00e8me d'exploitation \u00e0 l'aide de Cobbler - les adresses MAC du serveur cible \u00e9taient ajout\u00e9es \u00e0 la configuration de Cobbler, le serveur obtenait une adresse IP via DHCP, et ensuite, le syst\u00e8me d'exploitation \u00e9tait charg\u00e9.<\/p>\n<p>Au d\u00e9but, nous avons m\u00eame essay\u00e9 de faire une gestion de configuration dans Cobbler. Mais avec le temps, cela a commenc\u00e9 \u00e0 poser des probl\u00e8mes de portabilit\u00e9 des configurations \u00e0 la fois vers d'autres centres de donn\u00e9es et dans le code Ansible pour la pr\u00e9paration des VM.<\/p>\n<p>\u00c0 l'\u00e9poque, beaucoup d'entre nous percevaient Ansible comme une extension pratique de Bash et n'h\u00e9sitaient pas \u00e0 utiliser des constructions avec shell, sed. En gros, Bashsible. Cela menait finalement au fait que, si un playbook ne fonctionnait pas pour une raison quelconque sur le serveur, il \u00e9tait plus simple de supprimer le serveur, de corriger le playbook et de le faire passer \u00e0 nouveau. Il n'y avait en fait aucune version des scripts, et la portabilit\u00e9 des configurations non plus.<\/p>\n<p>Par exemple, si nous souhaitions modifier une certaine configuration sur tous les serveurs :<\/p>\n<ol>\n<li>Nous modifions la configuration sur les serveurs existants dans un segment logique \/ un datacenter. Parfois pas en un jour \u2013 les exigences de disponibilit\u00e9 et la loi des grands nombres ne permettent pas d'appliquer tous les changements d'un coup. Et certains changements peuvent \u00eatre potentiellement destructeurs et n\u00e9cessiter un red\u00e9marrage de quelque chose \u2013 des services jusqu'au syst\u00e8me d'exploitation lui-m\u00eame.<\/li>\n<li>Correction dans Ansible<\/li>\n<li>Correction dans Cobbler<\/li>\n<li>R\u00e9p\u00e9tons N fois pour chaque segment logique \/ datacenter<\/li>\n<\/ol>\n<p>Pour que tous les changements se passent sans accroc, il \u00e9tait n\u00e9cessaire de prendre en compte de nombreux facteurs, et les changements se produisent constamment.<\/p>\n<ul>\n<li>Refactorisation du code ansible, des fichiers de configuration<\/li>\n<li>Changement des meilleures pratiques internes<\/li>\n<li>Modifications suite \u00e0 l'analyse d'incidents \/ pannes<\/li>\n<li>Changement des normes de s\u00e9curit\u00e9, tant internes qu'externes. Par exemple, le PCI DSS est compl\u00e9t\u00e9 chaque ann\u00e9e par de nouvelles exigences.<\/li>\n<\/ul>\n<p><b>Croissance de l'infrastructure et d\u00e9but du parcours<\/b><\/p>\n<p>Le nombre de serveurs \/ domaines logiques \/ datacenters a augment\u00e9, tout comme le nombre d'erreurs dans les configurations. \u00c0 un certain moment, nous sommes arriv\u00e9s \u00e0 trois directions vers lesquelles nous devions d\u00e9velopper la gestion de configuration :<\/p>\n<ol>\n<li>Automatisation. Dans la mesure du possible, il faut \u00e9viter le facteur humain dans les op\u00e9rations r\u00e9p\u00e9t\u00e9es.<\/li>\n<li>R\u00e9p\u00e9tabilit\u00e9. G\u00e9rer l'infrastructure est beaucoup plus simple lorsqu'elle est pr\u00e9visible. La configuration des serveurs et des outils pour leur pr\u00e9paration doit \u00eatre la m\u00eame partout. Cela est tout aussi important pour les \u00e9quipes produits \u2013 l'application doit garantir qu'apr\u00e8s les tests, elle arrive en production dans un environnement configur\u00e9 de mani\u00e8re identique \u00e0 celui de test.<\/li>\n<li>Simplicit\u00e9 et transparence dans l'apport de modifications \u00e0 la gestion de configuration.<\/li>\n<\/ol>\n<p>Il reste \u00e0 ajouter quelques outils.<\/p>\n<p>Comme d\u00e9p\u00f4t de code, nous avons choisi GitLab CE, en partie pour ses modules CI\/CD int\u00e9gr\u00e9s.<\/p>\n<p>D\u00e9p\u00f4t de secrets \u2013 Hashicorp Vault, y compris pour son excellent API.<\/p>\n<p>Tests de configurations et de r\u00f4les Ansible \u2013 Molecule+Testinfra. Les tests s'ex\u00e9cutent beaucoup plus rapidement lorsque vous utilisez mitogen avec Ansible. Parall\u00e8lement, nous avons commenc\u00e9 \u00e0 \u00e9crire notre propre CMDB et un orchestrateur pour le d\u00e9ploiement automatique (comme indiqu\u00e9 sur l'image au-dessus de Cobbler), mais c'est une toute autre histoire, que mon coll\u00e8gue et chef de projet de ces syst\u00e8mes racontera \u00e0 l'avenir.<\/p>\n<p>Notre choix :<\/p>\n<p><i>Molecule + Testinfra<br \/>\nAnsible + Tower + AWX<br \/>\nWorld Servers + DITNET (D\u00e9veloppement interne)<br \/>\nCobbler<br \/>\nGitlab + GitLab runner<br \/>\nHashicorp Vault<br \/>\n<\/i><\/p>\n<p><img decoding=\"async\" alt=\"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l&#039;infrastructure Linux\" src=\"\/wp-content\/uploads\/2020\/07\/e84263618966f757e76d0384c9da276d.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>\u00c0 propos des r\u00f4les Ansible. Au d\u00e9part, il n'y en avait qu'un, apr\u00e8s plusieurs refactorisations, il y en a eu 17. Je recommande cat\u00e9goriquement de diviser le monolithe en r\u00f4les idempotents, que l'on peut ensuite ex\u00e9cuter s\u00e9par\u00e9ment. On peut \u00e9galement ajouter des tags. Nous avons divis\u00e9 les r\u00f4les par fonctionnalit\u00e9 \u2013 r\u00e9seau, journalisation, packages, mat\u00e9riel, molecul\u00e9, etc. En fait, nous avons respect\u00e9 la strat\u00e9gie suivante. Je ne pr\u00e9tends pas que c'est la v\u00e9rit\u00e9 en une seule instance, mais cela a fonctionn\u00e9 pour nous.<\/p>\n<ul>\n<li><b>La copie de serveurs \u00e0 partir d'une \"image dor\u00e9e\" \u2013 c'est le mal !<\/b>Parmi les principaux inconv\u00e9nients \u2013 vous ne savez pas vraiment dans quel \u00e9tat sont les images actuellement, et que toutes les modifications seront appliqu\u00e9es \u00e0 toutes les images dans toutes les fermes de virtualisation.<\/li>\n<li><b>Utilisez les fichiers de configuration par d\u00e9faut au minimum et convenez avec les autres d\u00e9partements que vous \u00eates responsable des fichiers syst\u00e8me principaux.<\/b>, par exemple :\n<ol>\n<li>Laissez \/etc\/sysctl.conf vide, les param\u00e8tres doivent \u00eatre uniquement dans \/etc\/sysctl.d\/. Votre d\u00e9faut dans un fichier, le personnalis\u00e9 pour l'application dans un autre.<\/li>\n<li>Utilisez des fichiers d'override pour modifier les unit\u00e9s systemd.<\/li>\n<\/ol>\n<\/li>\n<li><b>Templatez toutes les configs et d\u00e9ployez-les enti\u00e8rement, \u00e9vitez autant que possible les sed et autres analogues dans les playbooks.<\/b><\/li>\n<li><b>En refactorisant le code du syst\u00e8me de gestion de configurations :<\/b>\n<ol>\n<li>Divisez les t\u00e2ches en entit\u00e9s logiques et r\u00e9\u00e9crivez le monolithe en r\u00f4les.<\/li>\n<li>Utilisez des linters ! Ansible-lint, yaml-lint, etc.<\/li>\n<li>Changez d'approche ! Pas de bashsible. Il faut d\u00e9crire l'\u00e9tat du syst\u00e8me.<\/li>\n<\/ol>\n<\/li>\n<li><b>Pour tous les r\u00f4les Ansible, des tests doivent \u00eatre \u00e9crits dans Molecule et des rapports doivent \u00eatre g\u00e9n\u00e9r\u00e9s une fois par jour.<\/b><\/li>\n<li>Dans notre cas, apr\u00e8s la pr\u00e9paration des tests (de plus de 100), environ 70000 erreurs ont \u00e9t\u00e9 d\u00e9tect\u00e9es. Nous avons corrig\u00e9 cela pendant plusieurs mois.<img decoding=\"async\" alt=\"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l&#039;infrastructure Linux\" src=\"\/wp-content\/uploads\/2020\/07\/afa87e6305ef99a7ed6bdab0bc78a433.jpg\" style=\"display:block;margin: 0 auto;\"><\/li>\n<\/ul>\n<p><b>Notre r\u00e9alisation<\/b><\/p>\n<p>Ainsi, les r\u00f4les Ansible \u00e9taient pr\u00eats, templatis\u00e9s et v\u00e9rifi\u00e9s par des linters. Et m\u00eame les d\u00e9p\u00f4ts git \u00e9taient actifs partout. Mais la question de la livraison fiable du code dans les diff\u00e9rents segments restait ouverte. Nous avons d\u00e9cid\u00e9 de synchroniser avec des scripts. Cela ressemble \u00e0 :<\/p>\n<p><img decoding=\"async\" alt=\"De \u00ab startup \u00bb \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de l&#039;infrastructure Linux\" src=\"\/wp-content\/uploads\/2020\/07\/7c850301b5838b295d75834374e09b9f.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Une fois que le changement est arriv\u00e9, CI se lance, un serveur de test est cr\u00e9\u00e9, des r\u00f4les sont appliqu\u00e9s, et les tests sont effectu\u00e9s avec Molecule. Si tout va bien, le code est transf\u00e9r\u00e9 vers la branche de production. Cependant, nous ne d\u00e9ployons pas le nouveau code sur les serveurs existants automatiquement. C'est une sorte de frein n\u00e9cessaire pour maintenir la haute disponibilit\u00e9 de nos syst\u00e8mes. Et lorsque l'infrastructure devient immense, la loi des grands nombres entre en jeu \u2013 m\u00eame si vous \u00eates certain que le changement est inoffensif, il peut avoir des cons\u00e9quences f\u00e2cheuses.<\/p>\n<p>Il existe \u00e9galement de nombreuses options pour cr\u00e9er des serveurs. Nous avons finalement choisi des scripts personnalis\u00e9s en Python. Et pour CI, Ansible :<\/p>\n<pre><code class=\"json\">- name: create1.yml - Cr\u00e9er une VM \u00e0 partir d'un mod\u00e8le\n  vmware_guest:\n    hostname: \"{{datacenter}}\".domain.fr\n    username: \"{{ username_vc }}\"\n    password: \"{{ password_vc }}\"\n    validate_certs: no\n    cluster: \"{{cluster}}\"\n    datacenter: \"{{datacenter}}\"\n    name: \"{{ name }}\"\n    state: poweredon\n    folder: \"\\{{folder}}\"\n    template: \"{{template}}\"\n    customization:\n      hostname: \"{{ name }}\"\n      domain: domain.fr\n      dns_servers:\n        - \"{{ ipa1_dns }}\"\n        - \"{{ ipa2_dns }}\"\n    networks:\n      - name: \"{{ network }}\"\n        type: static\n        ip: \"{{ip}}\"\n        netmask: \"{{netmask}}\"\n        gateway: \"{{gateway}}\"\n        wake_on_lan: True\n        start_connected: True\n        allow_guest_control: True\n    wait_for_ip_address: yes\n    disk:\n      - size_gb: 1\n        type: thin\n        datastore: \"{{datastore}}\"\n      - size_gb: 20\n        type: thin\n        datastore: \"{{datastore}}\"<\/code><\/pre>\n<p>Voici o\u00f9 nous en sommes, le syst\u00e8me continue de vivre et d'\u00e9voluer.<\/p>\n<ul>\n<li>17 r\u00f4les Ansible pour la configuration des serveurs. Chacun des r\u00f4les est destin\u00e9 \u00e0 r\u00e9soudre une t\u00e2che logique sp\u00e9cifique (journalisation, audit, authentification des utilisateurs, surveillance, etc.).<\/li>\n<li>Test des r\u00f4les. Molecule + TestInfra.<\/li>\n<li>D\u00e9veloppement interne : CMDB + Orchestrateur.<\/li>\n<li>Temps de cr\u00e9ation d'un serveur ~30 minutes, automatis\u00e9 et presque ind\u00e9pendant de la file des t\u00e2ches.<\/li>\n<li>\u00c9tat\/nom de l'infrastructure homog\u00e8ne dans tous les segments \u2013 playbooks, d\u00e9p\u00f4ts, \u00e9l\u00e9ments de virtualisation.<\/li>\n<li>V\u00e9rification quotidienne de l'\u00e9tat des serveurs avec g\u00e9n\u00e9ration de rapports sur les \u00e9carts avec la r\u00e9f\u00e9rence.<\/li>\n<\/ul>\n<p>J'esp\u00e8re que mon r\u00e9cit sera utile \u00e0 ceux qui d\u00e9butent. Quel est votre stack d'automatisation ?<\/p>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nspk\/blog\/509460\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e. \u0414\u043e \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u044b \u0436\u0438\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435, \u0430 \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0434\u043e\u043b\u0433\u0438\u0439 \u043f\u0443\u0442\u044c \u043a Infrastructure-as-Code. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u041d\u0421\u041f\u041a \u2013 \u043d\u0435 \u0441\u0442\u0430\u0440\u0442\u0430\u043f, \u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0430 \u0446\u0430\u0440\u0438\u043b\u0430 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0432 \u043f\u0435\u0440\u0432\u044b\u0435 \u0433\u043e\u0434\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87283,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87282","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=\"description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.\" \/>\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\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury\" \/>\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\u041e\u0442 \u201c\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u201d \u0434\u043e \u0442\u044b\u0441\u044f\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u0426\u041e\u0414. \u041a\u0430\u043a \u043c\u044b \u0433\u043d\u0430\u043b\u0438\u0441\u044c \u0437\u0430 \u0440\u043e\u0441\u0442\u043e\u043c Linux \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury\" \/>\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-07-06T11:44:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:41:48+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\udd47De 'startup' \u00e0 des milliers de serveurs dans une dizaine de centres de donn\u00e9es. Comment nous avons poursuivi la croissance de notre infrastructure Linux | ProHoster","description":"Si votre infrastructure IT grandit trop rapidement, vous serez t\u00f4t ou tard confront\u00e9 au choix \u2013 augmenter lin\u00e9airement les ressources humaines pour son support ou commencer l'automatisation.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","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\u041e\u0442 \u201c\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430\u201d \u0434\u043e \u0442\u044b\u0441\u044f\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u0426\u041e\u0414. \u041a\u0430\u043a \u043c\u044b \u0433\u043d\u0430\u043b\u0438\u0441\u044c \u0437\u0430 \u0440\u043e\u0441\u0442\u043e\u043c Linux \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 IT \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0430\u0441\u0442\u0451\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u044b\u0441\u0442\u0440\u043e, \u0432\u044b \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u0442\u0435\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u2013 \u043b\u0438\u043d\u0435\u0439\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043b\u044e\u0434\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u0435\u0451 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","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-07-06T11:44:51+00:00","article:modified_time":"2021-02-01T09:41:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87282","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","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 13:55:30","updated":"2026-02-09 16:50:33","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\/87282","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=87282"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/87282\/revisions"}],"predecessor-version":[{"id":158751,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/87282\/revisions\/158751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/87283"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=87282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=87282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=87282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}