{"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\/sv\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","title":{"rendered":"Fr\u00e5n \"startup\" till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Om din IT-infrastruktur v\u00e4xer f\u00f6r snabbt, kommer du f\u00f6rr eller senare att st\u00e5 inf\u00f6r valet \u2013 att linj\u00e4rt \u00f6ka personalresurserna f\u00f6r att st\u00f6dja den, eller att b\u00f6rja automatisera. Fram till en viss punkt levde vi i den f\u00f6rsta paradigmen, och sedan b\u00f6rjade den l\u00e5nga v\u00e4gen mot Infrastructure-as-Code.<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n &quot;startup&quot; till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen\" 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 \/>\nSj\u00e4lvklart \u00e4r NSPK inte en startup, men en s\u00e5dan atmosf\u00e4r r\u00e5dde i f\u00f6retaget under de f\u00f6rsta \u00e5ren, och det var mycket intressanta \u00e5r. Jag heter <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/dkorn\/\">Dmitrij Kornev<\/a><\/noindex>, jag har i \u00f6ver 10 \u00e5r st\u00f6ttat Linux-infrastruktur med h\u00f6ga tillg\u00e4nglighetskrav. Jag gick med i NSPK i januari 2016 och fick tyv\u00e4rr inte uppleva f\u00f6retagets b\u00f6rjan, men jag kom in p\u00e5 en tid med stora f\u00f6r\u00e4ndringar.<\/p>\n<p>\u00d6verlag kan man s\u00e4ga att v\u00e5rt team levererar tv\u00e5 produkter f\u00f6r f\u00f6retaget. F\u00f6rsta produkten \u00e4r infrastrukturer. E-posten m\u00e5ste g\u00e5, DNS m\u00e5ste fungera, och dom\u00e4nkontrollerna m\u00e5ste sl\u00e4ppa in er p\u00e5 servrar som inte f\u00e5r falla. F\u00f6retagets IT-landskap \u00e4r enormt! Detta \u00e4r aff\u00e4rs- och mission-critical system, vissa har tillg\u00e4nglighetskrav p\u00e5 99,999. Den andra produkten \u00e4r sj\u00e4lva servrarna, b\u00e5de fysiska och virtuella. De befintliga m\u00e5ste \u00f6vervakas och nya m\u00e5ste regelbundet levereras till kunder fr\u00e5n m\u00e5nga avdelningar. I den h\u00e4r artikeln vill jag fokusera p\u00e5 hur vi utvecklade infrastrukturen som ansvarar f\u00f6r livscykeln <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/\"   title=\"servrar\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1507\">servrar<\/a>.<\/p>\n<p><b>Framstegens b\u00f6rjan<\/b><\/p>\n<p>I b\u00f6rjan av v\u00e5r resa s\u00e5g v\u00e5r teknikstack ut s\u00e5 h\u00e4r:<br \/>\n<i>OS CentOS 7<br \/>\nDom\u00e4nkontroller FreeIPA<br \/>\nAutomatisering \u2013 Ansible(+Tower), Cobbler<\/i><\/p>\n<p>Allt detta var f\u00f6rdelat p\u00e5 3 dom\u00e4ner, spridda \u00f6ver flera datacenter. I ett datacenter fanns kontorssystem och testmilj\u00f6er, i de andra PROD.<\/p>\n<p>Skapandet av servrar s\u00e5g vid n\u00e5got tillf\u00e4lle ut s\u00e5 h\u00e4r:<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n &quot;startup&quot; till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen\" src=\"\/wp-content\/uploads\/2020\/07\/2cc6209276489dc6e9d1bf46236d3785.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>I mallen f\u00f6r VM CentOS minimal och den n\u00f6dv\u00e4ndiga minimigr\u00e4nsen som en korrekt \/etc\/resolv.conf, resten kommer via Ansible.<\/p>\n<p>CMDB \u2013 Excel.<\/p>\n<p>Om servern \u00e4r fysisk, installeras operativsystemet direkt ist\u00e4llet f\u00f6r att kopiera en virtuell maskin till den, med hj\u00e4lp av Cobbler \u2013 MAC-adresserna f\u00f6r den m\u00e5lservern l\u00e4ggs till i Cobbler-konfigurationen, servern f\u00e5r IP-adress via DHCP, och sedan installeras operativsystemet.<\/p>\n<p>I b\u00f6rjan f\u00f6rs\u00f6kte vi till och med g\u00f6ra n\u00e5gon slags configuration management i Cobbler. Men med tiden b\u00f6rjade det orsaka problem med portabilitet av konfigurationer b\u00e5de till andra datacenter och i Ansible-kod f\u00f6r att f\u00f6rbereda VM.<\/p>\n<p>M\u00e5nga av oss uppfattade Ansible som en bekv\u00e4m utvidgning av Bash och var inte f\u00f6rsiktiga med att anv\u00e4nda konstruktioner med shell, sed. I stort sett var det Bashsible. Detta ledde till att om en playbook av n\u00e5gon anledning inte fungerade p\u00e5 servern, var det enklare att ta bort servern, justera playbooken och k\u00f6ra om. Det fanns i praktiken ingen versionering av skripten, inte heller n\u00e5gon b\u00e4rbarhet i konfigurationerna.<\/p>\n<p>Till exempel ville vi \u00e4ndra en konfiguration p\u00e5 alla servrar:<\/p>\n<ol>\n<li>\u00c4ndrar konfigurationen p\u00e5 befintliga servrar i den logiska segmentet\/datacentret. Ibland inte p\u00e5 en dag \u2013 tillg\u00e5ngskrav och storhetens lag till\u00e5ter inte att alla \u00e4ndringar till\u00e4mpas p\u00e5 en g\u00e5ng. Vissa \u00e4ndringar kan potentiellt vara destruktiva och kr\u00e4ver omstart av n\u00e5got \u2013 fr\u00e5n tj\u00e4nster till sj\u00e4lva operativsystemet.<\/li>\n<li>Fixar i Ansible<\/li>\n<li>Fixar i Cobbler<\/li>\n<li>Upprepa N g\u00e5nger f\u00f6r varje logiskt segment\/datacenter<\/li>\n<\/ol>\n<p>F\u00f6r att alla \u00e4ndringar ska g\u00e5 smidigt m\u00e5ste man ta h\u00e4nsyn till m\u00e5nga faktorer, och \u00e4ndringar sker hela tiden.<\/p>\n<ul>\n<li>Refaktorering av ansible-kod, konfigurationsfiler<\/li>\n<li>\u00c4ndring av interna b\u00e4sta metoder<\/li>\n<li>\u00c4ndringar efter utv\u00e4rdering av incidenter\/olyckor<\/li>\n<li>\u00c4ndring av s\u00e4kerhetsstandarder, b\u00e5de interna och externa. Till exempel PCI DSS kompletteras varje \u00e5r med nya krav.<\/li>\n<\/ul>\n<p><b>Tillv\u00e4xt av infrastrukturen och b\u00f6rjan av resan<\/b><\/p>\n<p>Antalet servrar\/logiska dom\u00e4ner\/datacenter \u00f6kade, liksom antalet fel i konfigurationerna. Vid n\u00e5got tillf\u00e4lle kom vi fram till tre omr\u00e5den som vi beh\u00f6vde utveckla konfigurationshantering \u00e5t:<\/p>\n<ol>\n<li>Automatisering. S\u00e5 mycket som m\u00f6jligt, b\u00f6r vi undvika den m\u00e4nskliga faktorn i repetitiva operationer.<\/li>\n<li>Repetitivitet. Det \u00e4r mycket enklare att hantera infrastrukturen n\u00e4r den \u00e4r f\u00f6ruts\u00e4gbar. Konfigurationen av servrar och verktyg f\u00f6r deras f\u00f6rberedelse b\u00f6r vara densamma \u00f6verallt. Det \u00e4r ocks\u00e5 viktigt f\u00f6r produktteam \u2013 applikationen m\u00e5ste garanteras hamna i produktionsmilj\u00f6 efter testning, inst\u00e4lld p\u00e5 samma s\u00e4tt som testmilj\u00f6n.<\/li>\n<li>Enkelhet och transparens i att g\u00f6ra \u00e4ndringar i konfigurationshanteringen.<\/li>\n<\/ol>\n<p>Det kvarst\u00e5r bara att l\u00e4gga till ett par verktyg.<\/p>\n<p>Som kodf\u00f6rvaring valde vi GitLab CE, inte minst f\u00f6r dess inbyggda CI\/CD-moduler.<\/p>\n<p>F\u00f6r hemlighetslagring \u2013 Hashicorp Vault, ocks\u00e5 f\u00f6r dess utm\u00e4rkta API.<\/p>\n<p>Testkonfigurationer och Ansible-roller \u2013 Molecule + Testinfra. Tester g\u00e5r mycket snabbare om du ansluter mitogen till Ansible. Samtidigt b\u00f6rjade vi skriva v\u00e5r egen CMDB och orkestrator f\u00f6r automatisk distribution (p\u00e5 bilden ovanf\u00f6r Cobbler), men det \u00e4r en helt annan historia som min kollega och huvudutvecklare av dessa system kommer att ber\u00e4tta om i framtiden.<\/p>\n<p>V\u00e5rt val:<\/p>\n<p><i>Molecule + Testinfra<br \/>\nAnsible + Tower + AWX<br \/>\nV\u00e4rlden av servrar + DITNET (Egen utveckling)<br \/>\nCobbler<br \/>\nGitlab + GitLab-runner<br \/>\nHashicorp Vault<br \/>\n<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n &quot;startup&quot; till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen\" src=\"\/wp-content\/uploads\/2020\/07\/e84263618966f757e76d0384c9da276d.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>F\u00f6rresten om Ansible-roller. Till en b\u00f6rjan fanns det bara en, men efter flera refaktoriseringar blev det 17. Jag rekommenderar starkt att dela upp monoliten i idempotenta roller som kan k\u00f6ras separat, och ni kan dessutom l\u00e4gga till taggar. Vi delade upp rollerna baserat p\u00e5 funktionalitet \u2013 n\u00e4tverk, loggning, paket, h\u00e5rdvara, molekyl osv. Och i allm\u00e4nhet f\u00f6ljde vi strategin nedan. Jag p\u00e5st\u00e5r inte att detta \u00e4r den enda sanna metoden, men det fungerade f\u00f6r oss.<\/p>\n<ul>\n<li><b>Kopiera servrar fr\u00e5n \"guldbilden\" \u2013 en d\u00e5lig id\u00e9!<\/b>De huvudsakliga nackdelarna \u00e4r att du helt enkelt inte vet i vilket skick bilderna \u00e4r just nu, och att alla \u00e4ndringar kommer att p\u00e5verka alla bilder i alla virtualiseringsfarmar.<\/li>\n<li><b>Anv\u00e4nd standardkonfigurationsfiler s\u00e5 lite som m\u00f6jligt och kom \u00f6verens med andra avdelningar om att du ansvarar f\u00f6r de huvudsakliga systemfilerna<\/b>, till exempel:\n<ol>\n<li>L\u00e4mna \/etc\/sysctl.conf tom, inst\u00e4llningarna b\u00f6r ligga i \/etc\/sysctl.d\/. Din standard i en fil, anpassningar f\u00f6r applikationen i en annan.<\/li>\n<li>Anv\u00e4nd override-filer f\u00f6r att redigera systemd-enheter.<\/li>\n<\/ol>\n<\/li>\n<li><b>Mallar alla konfigurationer och l\u00e4gg in dem helt, s\u00e5 mycket som m\u00f6jligt inga sed- eller liknande kommandon i playbooks.<\/b><\/li>\n<li><b>Refaktorisera koden f\u00f6r konfigurationshanteringssystemet:<\/b>\n<ol>\n<li>Dela upp uppgifterna i logiska enheter och skriv om monoliten till roller.<\/li>\n<li>Anv\u00e4nd linters! Ansible-lint, yaml-lint, osv.<\/li>\n<li>\u00c4ndra tillv\u00e4gag\u00e5ngss\u00e4tt! Ingen bashsible. Det beh\u00f6ver beskrivas hur systemets tillst\u00e5nd ska vara.<\/li>\n<\/ol>\n<\/li>\n<li><b>F\u00f6r alla Ansible-roller m\u00e5ste tester skrivas i Molecule och rapporter genereras en g\u00e5ng om dagen.<\/b><\/li>\n<li>I v\u00e5rt fall, efter att testerna (mer \u00e4n 100) f\u00f6rbereddes, hittades omkring 70 000 fel. Det tog flera m\u00e5nader att r\u00e4tta till.<img decoding=\"async\" alt=\"Fr\u00e5n &quot;startup&quot; till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen\" src=\"\/wp-content\/uploads\/2020\/07\/afa87e6305ef99a7ed6bdab0bc78a433.jpg\" style=\"display:block;margin: 0 auto;\"><\/li>\n<\/ul>\n<p><b>V\u00e5r implementering<\/b><\/p>\n<p>S\u00e5, Ansible-rollerna var klara, mallade och kontrollerade av linters. Och \u00e4ven git var uppe \u00f6verallt. Men fr\u00e5gan om tillf\u00f6rlitlig kodleverans till olika segment f\u00f6rblev \u00f6ppen. Vi beslutade att synkronisera med skript. S\u00e5 h\u00e4r ser det ut:<\/p>\n<p><img decoding=\"async\" alt=\"Fr\u00e5n &quot;startup&quot; till tusentals servrar i ett dussin datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen\" src=\"\/wp-content\/uploads\/2020\/07\/7c850301b5838b295d75834374e09b9f.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Efter att \u00e4ndringen har anl\u00e4nt, startas CI, en testserver skapas, roller k\u00f6rs och testas med Molecule. Om allt ser bra ut, g\u00e5r koden till produktionsgrenen. Men vi till\u00e4mpar inte ny kod p\u00e5 existerande servrar automatiskt. Detta \u00e4r en slags stoppmekanism som beh\u00f6vs f\u00f6r att s\u00e4kerst\u00e4lla h\u00f6g tillg\u00e4nglighet i v\u00e5ra system. N\u00e4r infrastrukturen blir enorm, spelar ocks\u00e5 storhetens lag in \u2013 \u00e4ven om du \u00e4r s\u00e4ker p\u00e5 att f\u00f6r\u00e4ndringen \u00e4r harml\u00f6s, kan den leda till sorgliga konsekvenser.<\/p>\n<p>Det finns m\u00e5nga alternativ f\u00f6r att skapa servrar. Vi valde till slut anpassade skript i Python. Och f\u00f6r CI anv\u00e4nder vi Ansible:<\/p>\n<pre><code class=\"json\">- name: create1.yml - Skapa en VM fr\u00e5n en mall\n  vmware_guest:\n    hostname: \"{{datacenter}}\".domain.ru\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.ru\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>S\u00e5 h\u00e4r har vi kommit fram, systemet forts\u00e4tter att leva och utvecklas.<\/p>\n<ul>\n<li>17 Ansible-roller f\u00f6r serverkonfiguration. Varje roll \u00e4r avsedd f\u00f6r att l\u00f6sa en specifik logisk uppgift (loggning, revision, anv\u00e4ndarautentisering, \u00f6vervakning osv.).<\/li>\n<li>Testning av roller. Molecule + TestInfra.<\/li>\n<li>Egenutveckling: CMDB + Orkestrator.<\/li>\n<li>Serverns skapande tar cirka 30 minuter, \u00e4r automatiserat och p\u00e5verkas praktiskt taget inte av k\u00f6er av uppgifter.<\/li>\n<li>Samma tillst\u00e5nd\/namn p\u00e5 infrastrukturen i alla segment \u2013 playbooks, repository, virtualiseringselement.<\/li>\n<li>Daglig kontroll av serverstatus med rapportgenerering om avvikelser fr\u00e5n standard.<\/li>\n<\/ul>\n<p>Jag hoppas att min ber\u00e4ttelse kommer att vara anv\u00e4ndbar f\u00f6r dem som \u00e4r i b\u00f6rjan av sin resa. Vilken automatiseringsstack anv\u00e4nder ni?<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47 Fr\u00e5n 'start-up' till tusentals servrar i tiotals datacenter. Hur vi jagade tillv\u00e4xten av Linux-infrastrukturen | ProHoster","description":"Om din IT-infrastruktur v\u00e4xer f\u00f6r snabbt, kommer du f\u00f6rr eller senare att st\u00e5 inf\u00f6r valet \u2013 att linj\u00e4rt \u00f6ka de m\u00e4nskliga resurserna f\u00f6r att st\u00f6dja den eller att b\u00f6rja automatisera.","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/87282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=87282"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/87282\/revisions"}],"predecessor-version":[{"id":158751,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/87282\/revisions\/158751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/87283"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=87282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=87282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=87282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}