{"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\/cs\/blog\/administrirovanie\/ot-startapa-do-tysyach-serverov-v-desyatke-czod-kak-my-gnalis-za-rostom-linux-infrastruktury","title":{"rendered":"Od \"startup\" po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pokud va\u0161e IT infrastruktura roste p\u0159\u00edli\u0161 rychle, d\u0159\u00edve \u010di pozd\u011bji se setk\u00e1te s volbou \u2013 bu\u010f line\u00e1rn\u011b zvy\u0161ovat lidsk\u00e9 zdroje na jej\u00ed podporu, nebo za\u010d\u00edt automatizovat. Do ur\u010dit\u00e9ho okam\u017eiku jsme \u017eili v prvn\u00ed paradigmy, a pak za\u010dala dlouh\u00e1 cesta k Infrastructure-as-Code.<\/p>\n<p><img decoding=\"async\" alt=\"Od &quot;startup&quot; po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury\" 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 \/>\nSamoz\u0159ejm\u011b, NSPK nen\u00ed startup, ale takov\u00e1 atmosf\u00e9ra panovala ve spole\u010dnosti v prvn\u00edch letech jej\u00ed existence, a to byly velmi zaj\u00edmav\u00e9 roky. Jmenuji se <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/users\/dkorn\/\">Dmitrij Kornev<\/a><\/noindex>, v\u00edce ne\u017e 10 let udr\u017euji infrastrukturu Linux s vysok\u00fdmi po\u017eadavky na dostupnost. K t\u00fdmu NSPK jsem se p\u0159ipojil v lednu 2016 a bohu\u017eel jsem neza\u017eil samotn\u00fd za\u010d\u00e1tek existence spole\u010dnosti, ale p\u0159i\u0161el jsem ve f\u00e1zi velk\u00fdch zm\u011bn.<\/p>\n<p>Celkov\u011b lze \u0159\u00edci, \u017ee n\u00e1\u0161 t\u00fdm dod\u00e1v\u00e1 spole\u010dnosti dva produkty. Prvn\u00ed \u2013 to je infrastruktura. Po\u0161ta mus\u00ed fungovat, DNS mus\u00ed pracovat, a \u0159adi\u010de dom\u00e9ny \u2013 mus\u00ed v\u00e1s pustit na servery, kter\u00e9 nesm\u00ed padat. IT krajina spole\u010dnosti je obrovsk\u00e1! Jsou to business &amp; mission critical syst\u00e9my, po\u017eadavky na dostupnost n\u011bkter\u00fdch z nich \u2013 99,999. Druh\u00fd produkt \u2013 to jsou samotn\u00e9 servery, fyzick\u00e9 i virtu\u00e1ln\u00ed. O existuj\u00edc\u00ed je t\u0159eba se starat a nov\u00e9 pravideln\u011b dod\u00e1vat z\u00e1kazn\u00edk\u016fm z mnoha odd\u011blen\u00ed. V tomto \u010dl\u00e1nku chci zd\u016fraznit, jak jsme vyv\u00edjeli infrastrukturu, kter\u00e1 odpov\u00edd\u00e1 za \u017eivotn\u00ed cyklus <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1507\">servery<\/a>.<\/p>\n<p><b>Za\u010d\u00e1tek cesty<\/b><\/p>\n<p>Na za\u010d\u00e1tku na\u0161\u00ed cesty n\u00e1\u0161 technologick\u00fd stack vypadal takto:<br \/>\n<i>OS CentOS 7<br \/>\n\u0158adi\u010de dom\u00e9ny FreeIPA<br \/>\nAutomatizace \u2013 Ansible(+Tower), Cobbler<\/i><\/p>\n<p>V\u0161echno to bylo um\u00edst\u011bno ve 3 dom\u00e9n\u00e1ch, rozprost\u0159en\u00fdch na n\u011bkolika datov\u00fdch centrech. V jednom datov\u00e9m centru byly kancel\u00e1\u0159sk\u00e9 syst\u00e9my a testovac\u00ed plochy, v ostatn\u00edch PROD.<\/p>\n<p>Vytv\u00e1\u0159en\u00ed server\u016f v ur\u010dit\u00e9m okam\u017eiku vypadalo takto:<\/p>\n<p><img decoding=\"async\" alt=\"Od &quot;startup&quot; po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury\" src=\"\/wp-content\/uploads\/2020\/07\/2cc6209276489dc6e9d1bf46236d3785.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Ve \u0161ablon\u011b VM CentOS minimal a pot\u0159ebn\u00e9 minimum jako spr\u00e1vn\u00e9 \/etc\/resolv.conf, zbytek p\u0159ich\u00e1z\u00ed p\u0159es Ansible.<\/p>\n<p>CMDB \u2013 Excel.<\/p>\n<p>Pokud je server fyzick\u00fd, m\u00edsto kop\u00edrov\u00e1n\u00ed virtu\u00e1ln\u00edho stroje se na n\u011bj instaloval OS s pomoc\u00ed Cobbler \u2013 do konfigurace Cobbler se p\u0159id\u00e1vaj\u00ed MAC adresy c\u00edlov\u00e9ho serveru, server z\u00edsk\u00e1v\u00e1 IP adresu p\u0159es DHCP, a pak se nahr\u00e1v\u00e1 OS.<\/p>\n<p>Zpo\u010d\u00e1tku jsme se dokonce pokou\u0161eli o n\u011bjakou spr\u00e1vu konfigurac\u00ed v Cobbler. Ale s \u010dasem to za\u010dalo p\u0159in\u00e1\u0161et probl\u00e9my s p\u0159enositelnost\u00ed konfigurac\u00ed jak do jin\u00fdch datov\u00fdch center, tak do Ansible k\u00f3du pro p\u0159\u00edpravu VM.<\/p>\n<p>Mnoz\u00ed z n\u00e1s v t\u00e9 dob\u011b vn\u00edmali Ansible jako pohodln\u00e9 roz\u0161\u00ed\u0159en\u00ed Bash a ne\u0161et\u0159ili konstrukcemi vyu\u017e\u00edvaj\u00edc\u00edmi shell nebo sed. Ve zkratce, Bashsible. To nakonec vedlo k tomu, \u017ee pokud playbook z n\u011bjak\u00e9ho d\u016fvodu nefungoval na serveru, bylo snaz\u0161\u00ed server smazat, opravit playbook a znovu ho spustit. V podstat\u011b neexistovalo \u017e\u00e1dn\u00e9 verzov\u00e1n\u00ed skript\u016f ani p\u0159enositelnost konfigurac\u00ed.<\/p>\n<p>Nap\u0159\u00edklad jsme cht\u011bli zm\u011bnit n\u011bjak\u00fd konfigura\u010dn\u00ed soubor na v\u0161ech serverech:<\/p>\n<ol>\n<li>M\u011bn\u00edme konfiguraci na existuj\u00edc\u00edch serverech v logick\u00e9m segmentu\/datov\u00e9m centru. N\u011bkdy to netrv\u00e1 jen jeden den \u2014 po\u017eadavky na dostupnost a z\u00e1kon velk\u00fdch \u010d\u00edsel neumo\u017e\u0148uj\u00ed prov\u00e1d\u011bt v\u0161echny zm\u011bny najednou. A n\u011bkter\u00e9 zm\u011bny jsou potenci\u00e1ln\u011b destruktivn\u00ed a vy\u017eaduj\u00ed restart n\u011b\u010deho \u2014 od slu\u017eeb a\u017e po samotn\u00fd opera\u010dn\u00ed syst\u00e9m.<\/li>\n<li>Opravy v Ansible<\/li>\n<li>Opravy v Cobbler<\/li>\n<li>Opakujeme Nkr\u00e1t pro ka\u017ed\u00fd logick\u00fd segment\/datov\u00e9 centrum<\/li>\n<\/ol>\n<p>Aby v\u0161echny zm\u011bny prob\u011bhly hladce, bylo nutn\u00e9 zohlednit \u0159adu faktor\u016f a zm\u011bny se neust\u00e1le objevuj\u00ed.<\/p>\n<ul>\n<li>Refaktoring ansible k\u00f3du, konfigura\u010dn\u00edch soubor\u016f<\/li>\n<li>Zm\u011bna intern\u00edch best practices<\/li>\n<li>Zm\u011bny na z\u00e1klad\u011b anal\u00fdzy incident\u016f\/nehod<\/li>\n<li>Zm\u011bna bezpe\u010dnostn\u00edch standard\u016f, jak intern\u00edch, tak extern\u00edch. Nap\u0159\u00edklad PCI DSS se ka\u017ed\u00fd rok dopl\u0148uje o nov\u00e9 po\u017eadavky<\/li>\n<\/ul>\n<p><b>R\u016fst infrastruktury a za\u010d\u00e1tek cesty<\/b><\/p>\n<p>Po\u010det server\u016f\/logick\u00fdch dom\u00e9n\/datov\u00fdch center rostl, a s n\u00edm i mno\u017estv\u00ed chyb v konfigurac\u00edch. V ur\u010dit\u00e9m okam\u017eiku jsme do\u0161li k t\u0159em sm\u011br\u016fm, sm\u011brem k nim\u017e je t\u0159eba rozv\u00edjet spr\u00e1vu konfigurac\u00ed:<\/p>\n<ol>\n<li>Automatizace. Jak je to mo\u017en\u00e9, je t\u0159eba se vyhnout lidsk\u00e9mu faktoru v opakuj\u00edc\u00edch se operac\u00edch.<\/li>\n<li>Opakovatelnost. Spravovat infrastrukturu je mnohem jednodu\u0161\u0161\u00ed, kdy\u017e je p\u0159edv\u00eddateln\u00e1. Konfigurace server\u016f a n\u00e1stroj\u016f k jejich p\u0159\u00edprav\u011b by m\u011bly b\u00fdt v\u0161ude stejn\u00e9. To je tak\u00e9 d\u016fle\u017eit\u00e9 pro produktov\u00e9 t\u00fdmy \u2013 aplikace by m\u011bla po testov\u00e1n\u00ed zaru\u010den\u011b p\u0159ej\u00edt do produk\u010dn\u00edho prost\u0159ed\u00ed, kter\u00e9 je nastaveno obdobn\u011b jako testovac\u00ed.<\/li>\n<li>Jednoduchost a transparentnost zm\u011bn v managementu konfigurac\u00ed.<\/li>\n<\/ol>\n<p>Z\u016fst\u00e1v\u00e1 p\u0159idat p\u00e1r n\u00e1stroj\u016f.<\/p>\n<p>Jako \u00falo\u017ei\u0161t\u011b k\u00f3du jsme vybrali GitLab CE, nejen kv\u016fli p\u0159\u00edtomnosti integrovan\u00fdch modul\u016f CI\/CD.<\/p>\n<p>\u00dalo\u017ei\u0161t\u011b tajemstv\u00ed \u2014 Hashicorp Vault, tak\u00e9 d\u00edky skv\u011bl\u00e9mu API.<\/p>\n<p>Testov\u00e1n\u00ed konfigurac\u00ed a ansible rol\u00ed \u2013 Molecule+Testinfra. Testy prob\u00edhaj\u00ed mnohem rychleji, pokud p\u0159ipoj\u00edte k ansible mitogen. Paraleln\u011b jsme za\u010dali ps\u00e1t vlastn\u00ed CMDB a orchestr\u00e1tor pro automatick\u00e9 nasazen\u00ed (na obr\u00e1zku nad Cobbler), ale to u\u017e je docela jin\u00fd p\u0159\u00edb\u011bh, o kter\u00e9m v budoucnu promluv\u00ed m\u016fj kolega a hlavn\u00ed v\u00fdvoj\u00e1\u0159 t\u011bchto syst\u00e9m\u016f.<\/p>\n<p>Na\u0161e volba:<\/p>\n<p><i>Molecule + Testinfra<br \/>\nAnsible + Tower + AWX<br \/>\nSv\u011bt server\u016f + DITNET (vlastn\u00ed v\u00fdvoj)<br \/>\nCobbler<br \/>\nGitlab + GitLab runner<br \/>\nHashicorp Vault<br \/>\n<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Od &quot;startup&quot; po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury\" src=\"\/wp-content\/uploads\/2020\/07\/e84263618966f757e76d0384c9da276d.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Mimochodem o ansible rol\u00edch. Nejd\u0159\u00edve byla jedna, po n\u011bkolika refaktorizac\u00edch jich vzniklo 17. D\u016frazn\u011b doporu\u010duji rozd\u011blit monolit na idempotentn\u00ed role, kter\u00e9 lze spou\u0161t\u011bt samostatn\u011b a nav\u00edc lze p\u0159idat tagy. My jsme role roz\u010dlenili podle funkcionality \u2013 s\u00ed\u0165, logov\u00e1n\u00ed, bal\u00ed\u010dky, hardware, molekuly atd. A vlastn\u011b jsme se \u0159\u00eddili n\u00ed\u017ee uvedenou strategi\u00ed. Netvrd\u00edm, \u017ee to je pravda v jedin\u00e9 instanci, ale n\u00e1m to fungovalo.<\/p>\n<ul>\n<li><b>Kop\u00edrov\u00e1n\u00ed server\u016f z \u201ezlat\u00e9ho obrazu\u201c \u2013 zlo!<\/b>Mezi hlavn\u00ed nev\u00fdhody \u2013 p\u0159esn\u011b nev\u00edte, v jak\u00e9m stavu jsou obrazy nyn\u00ed, a \u017ee v\u0161echna zm\u011bna se prom\u00edtne do v\u0161ech obraz\u016f ve v\u0161ech farm\u00e1ch virtualizace.<\/li>\n<li><b>Pou\u017e\u00edvejte v\u00fdchoz\u00ed konfigura\u010dn\u00ed soubory co nejm\u00e9n\u011b a dohodn\u011bte se s ostatn\u00edmi odd\u011blen\u00edmi, \u017ee za hlavn\u00ed syst\u00e9mov\u00e9 soubory odpov\u00edd\u00e1te vy.<\/b>, nap\u0159\u00edklad:\n<ol>\n<li>Nechte \/etc\/sysctl.conf pr\u00e1zdn\u00fd, nastaven\u00ed by m\u011blo b\u00fdt pouze v \/etc\/sysctl.d\/. V\u00e1\u0161 v\u00fdchoz\u00ed v jednom souboru, vlastn\u00ed pro aplikaci v jin\u00e9m.<\/li>\n<li>Pou\u017e\u00edvejte p\u0159episovac\u00ed soubory pro \u00fapravu systemd jednotek.<\/li>\n<\/ol>\n<\/li>\n<li><b>\u0160ablonizujte v\u0161echny konfigurace a vkl\u00e1dejte je cel\u00e9, pokud mo\u017eno \u017e\u00e1dn\u00e9 sed a jeho analogy v playbook\u00e1ch.<\/b><\/li>\n<li><b>P\u0159i refaktorizaci k\u00f3du syst\u00e9mu spr\u00e1vy konfigurac\u00ed:<\/b>\n<ol>\n<li>Rozd\u011blte \u00fakoly na logick\u00e9 entity a p\u0159epi\u0161te monolit na role.<\/li>\n<li>Pou\u017e\u00edvejte lintry! Ansible-lint, yaml-lint atd.<\/li>\n<li>Zm\u011b\u0148te p\u0159\u00edstup! \u017d\u00e1dn\u00e9 bashsible. Je t\u0159eba popisovat stav syst\u00e9mu.<\/li>\n<\/ol>\n<\/li>\n<li><b>Pro v\u0161echny Ansible role je t\u0159eba napsat testy v molekule a ka\u017ed\u00fd den generovat zpr\u00e1vy.<\/b><\/li>\n<li>V na\u0161em p\u0159\u00edpad\u011b, po p\u0159\u00edprav\u011b test\u016f (kter\u00fdch je v\u00edce ne\u017e 100), jsme na\u0161li p\u0159ibli\u017en\u011b 70000 chyb. Opravy trvaly n\u011bkolik m\u011bs\u00edc\u016f.<img decoding=\"async\" alt=\"Od &quot;startup&quot; po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury\" src=\"\/wp-content\/uploads\/2020\/07\/afa87e6305ef99a7ed6bdab0bc78a433.jpg\" style=\"display:block;margin: 0 auto;\"><\/li>\n<\/ul>\n<p><b>Na\u0161e implementace<\/b><\/p>\n<p>Tak\u017ee, Ansible role byly p\u0159ipraveny, \u0161ablonizov\u00e1ny a zkontrolov\u00e1ny lintry. A dokonce byly v\u0161ude zvednuty gity. Ale ot\u00e1zka spolehliv\u00e9 dod\u00e1vky k\u00f3du do r\u016fzn\u00fdch segment\u016f z\u016fstala otev\u0159en\u00e1. Rozhodli jsme se synchronizovat skripty. Vypad\u00e1 to takto:<\/p>\n<p><img decoding=\"async\" alt=\"Od &quot;startup&quot; po tis\u00edce server\u016f v des\u00edtk\u00e1ch datov\u00fdch center. Jak jsme usilovali o r\u016fst Linux infrastruktury\" src=\"\/wp-content\/uploads\/2020\/07\/7c850301b5838b295d75834374e09b9f.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>Po p\u0159\u00edjezdu zm\u011bny se spou\u0161t\u00ed CI, vytv\u00e1\u0159\u00ed se testovac\u00ed server, aplikuj\u00ed se role, testuj\u00ed se pomoc\u00ed Molecule. Pokud je v\u0161e v po\u0159\u00e1dku, k\u00f3d se pos\u00edl\u00e1 do produk\u010dn\u00ed v\u011btve. Ale nov\u00fd k\u00f3d automaticky nepou\u0161t\u00edme na st\u00e1vaj\u00edc\u00ed servery. Je to jak\u00fdsi z\u00e1taras, kter\u00fd je nezbytn\u00fd pro vysokou dostupnost na\u0161ich syst\u00e9m\u016f. A kdy\u017e se infrastruktura st\u00e1v\u00e1 obrovskou, hraje zde roli tak\u00e9 z\u00e1kon velk\u00fdch \u010d\u00edsel \u2013 i kdy\u017e si jste jisti, \u017ee zm\u011bna je ne\u0161kodn\u00e1, m\u016f\u017ee to v\u00e9st k tragick\u00fdm n\u00e1sledk\u016fm.<\/p>\n<p>Mo\u017enost\u00ed, jak vytv\u00e1\u0159et servery, je tak\u00e9 mnoho. Nakonec jsme zvolili vlastn\u00ed skripty v Pythonu. A pro CI Ansible:<\/p>\n<pre><code class=\"json\">- name: create1.yml - Vytvo\u0159it VM z \u0161ablony\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>Tady jsme se dostali, syst\u00e9m pokra\u010duje v \u017eivot\u011b a rozvoji.<\/p>\n<ul>\n<li>17 ansible-rol\u00ed pro nastaven\u00ed serveru. Ka\u017ed\u00e1 z rol\u00ed je ur\u010dena pro vy\u0159e\u0161en\u00ed ur\u010dit\u00e9 logick\u00e9 \u00falohy (logov\u00e1n\u00ed, audit, autorizace u\u017eivatel\u016f, monitorov\u00e1n\u00ed atd.).<\/li>\n<li>Testov\u00e1n\u00ed rol\u00ed. Molecule + TestInfra.<\/li>\n<li>Vlastn\u00ed v\u00fdvoj: CMDB + Orchestr\u00e1tor.<\/li>\n<li>Doba vytvo\u0159en\u00ed serveru ~30 minut, automatizov\u00e1no a prakticky nez\u00e1visl\u00e9 na po\u0159ad\u00ed \u00faloh.<\/li>\n<li>Stejn\u00fd stav\/pojmenov\u00e1n\u00ed infrastruktury ve v\u0161ech segmentech \u2013 playbooky, repozit\u00e1\u0159e, prvky virtualizace.<\/li>\n<li>Denn\u00ed kontrola stavu server\u016f s generov\u00e1n\u00edm zpr\u00e1v o odchylk\u00e1ch od etalonu.<\/li>\n<\/ul>\n<p>Douf\u00e1m, \u017ee m\u016fj p\u0159\u00edb\u011bh bude u\u017eite\u010dn\u00fd t\u011bm, kdo jsou na za\u010d\u00e1tku cesty. Jak\u00fd automatiza\u010dn\u00ed stack pou\u017e\u00edv\u00e1te vy?<\/p>\n<p>Zdroj: <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.3 - 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\/cs\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Od \u201cstartup\u201d po tis\u00edce server\u016f v des\u00edtce datacenter. Jak jsme se honili za r\u016fstem Linux infrastruktury | ProHoster","description":"Pokud va\u0161e IT infrastruktura roste p\u0159\u00edli\u0161 rychle, \u0440\u0430\u043d\u043e nebo pozd\u011bji se setk\u00e1te s volbou \u2013 line\u00e1rn\u011b zvy\u0161ovat lidsk\u00e9 zdroje na jej\u00ed podporu, nebo za\u010d\u00edt s automatizac\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/87282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=87282"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/87282\/revisions"}],"predecessor-version":[{"id":158751,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/87282\/revisions\/158751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/87283"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=87282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=87282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=87282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}