{"id":34742,"date":"2019-10-31T22:00:10","date_gmt":"2019-10-31T19:00:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\/"},"modified":"2019-10-31T22:00:10","modified_gmt":"2019-10-31T19:00:10","slug":"kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","title":{"rendered":"Jak przej\u0105\u0107 kontrol\u0119 nad infrastruktur\u0105 sieciow\u0105. Rozdzia\u0142 czwarty. Automatyzacja. Szablony","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Artyku\u0142 ten jest sz\u00f3stym w cyklu artyku\u0142\u00f3w \u201eJak przej\u0105\u0107 kontrol\u0119 nad infrastruktur\u0105 sieciow\u0105\u201d. Wszystkie artyku\u0142y w cyklu oraz linki mo\u017cna znale\u017a\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/447008\/\">tutaj<\/a><\/noindex><\/i>.<\/p>\n<p>Zostawiaj\u0105c kilka temat\u00f3w za sob\u0105, postanowi\u0142em jednak rozpocz\u0105\u0107 nowy rozdzia\u0142.<\/p>\n<p>Do bezpiecze\u0144stwa wr\u00f3c\u0119 nieco p\u00f3\u017aniej. Tutaj chc\u0119 om\u00f3wi\u0107 jedno proste, ale skuteczne podej\u015bcie, kt\u00f3re, jestem pewien, w takim czy innym wymiarze, mo\u017ce si\u0119 przyda\u0107 wielu osobom. To bardziej kr\u00f3tka historia o tym, jak automatyzacja mo\u017ce zmieni\u0107 \u017cycie in\u017cyniera. B\u0119dzie chodzi\u0107 o wykorzystanie szablon\u00f3w. Na ko\u0144cu znajduje si\u0119 lista moich projekt\u00f3w, gdzie mo\u017cna zobaczy\u0107, jak to wszystko dzia\u0142a.<\/p>\n<h2>DevOps dla sieci<\/h2>\n<p>\nTworzenie konfiguracji za pomoc\u0105 skryptu, u\u017cycie GIT do kontroli zmian w infrastrukturze IT, zdalne \u201e\u0142adowanie\u201d \u2014 te pomys\u0142y przychodz\u0105 na my\u015bl, gdy rozwa\u017casz techniczn\u0105 realizacj\u0119 podej\u015bcia DevOps. Plusy s\u0105 oczywiste. Ale niestety s\u0105 te\u017c minusy.<\/p>\n<p>Kiedy ponad 5 lat temu nasi programi\u015bci przyszli do nas, sieciowc\u00f3w, z tymi propozycjami, nie byli\u015bmy zachwyceni.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNale\u017cy powiedzie\u0107, \u017ce w spadku odziedziczyli\u015bmy do\u015b\u0107 zr\u00f3\u017cnicowan\u0105 sie\u0107, sk\u0142adaj\u0105c\u0105 si\u0119 z urz\u0105dze\u0144 oko\u0142o 10 r\u00f3\u017cnych dostawc\u00f3w. Co\u015b by\u0142o wygodnie konfigurowa\u0107 za pomoc\u0105 naszego ulubionego CLI, ale gdzie indziej woleli\u015bmy u\u017cywa\u0107 GUI. Dodatkowo, d\u0142uga praca na \u201e\u017cywym\u201d sprz\u0119cie przyzwyczai\u0142a nas do monitorowania w czasie rzeczywistym. Na przyk\u0142ad, wprowadzaj\u0105c zmiany, czuj\u0119 si\u0119 znacznie pewniej, pracuj\u0105c bezpo\u015brednio przez CLI. W ten spos\u00f3b szybko mog\u0119 zauwa\u017cy\u0107, \u017ce co\u015b posz\u0142o nie tak i \u201ecofn\u0105\u0107\u201d zmiany. Wszystko to by\u0142o w pewnym stopniu sprzeczne z ich pomys\u0142ami.<\/p>\n<p>Pojawiaj\u0105 si\u0119 te\u017c inne pytania, na przyk\u0142ad, od wersji do wersji oprogramowania interfejs mo\u017ce si\u0119 nieco zmienia\u0107. To w ko\u0144cu doprowadzi do sytuacji, \u017ce tw\u00f3j skrypt b\u0119dzie tworzy\u0142 b\u0142\u0119dny \u201ekonfig\u201d. Nie chcia\u0142bym stosowa\u0107 produkcji do \u201etestowania\u201d. <\/p>\n<p>Albo, jak zrozumie\u0107, \u017ce komendy konfiguracyjne zosta\u0142y zastosowane poprawnie i co robi\u0107 w przypadku b\u0142\u0119du?<\/p>\n<p>Nie chc\u0119 powiedzie\u0107, \u017ce te pytania s\u0105 nie do rozwi\u0105zania. Po prostu m\u00f3wi\u0105c \u201eA\u201d, prawdopodobnie rozs\u0105dnie jest powiedzie\u0107 r\u00f3wnie\u017c \u201eB\u201d, a je\u015bli chcesz stosowa\u0107 te same procesy do kontroli zmian, co w przypadku programowania, to musisz mie\u0107 opr\u00f3cz produkcji r\u00f3wnie\u017c \u015brodowiska dev i staging. W\u00f3wczas podej\u015bcie to wygl\u0105da na kompletne. Ale ile to b\u0119dzie kosztowa\u0107?<\/p>\n<p>Jednak istnieje jedna sytuacja, w kt\u00f3rej wady praktycznie si\u0119 zacieraj\u0105, a pozostaj\u0105 tylko zalety. M\u00f3wi\u0119 o pracach projektowych.<\/p>\n<h2>Projekt<\/h2>\n<p>\nPrzez ostatnie dwa lata bra\u0142em udzia\u0142 w projekcie budowy centrum danych dla jednego du\u017cego dostawcy. W tym projekcie odpowiadam za F5 i Palo Alto. Z perspektywy Cisco to sprz\u0119t zewn\u0119trzny.<\/p>\n<p>Osobi\u015bcie widz\u0119 dwie wyra\u017ane fazy w tym projekcie. <\/p>\n<h3>Pierwsza faza<\/h3>\n<p>\nPierwszy rok by\u0142em niesko\u0144czono zaj\u0119ty, pracowa\u0142em w nocy i w weekendy. Nie mog\u0142em podnie\u015b\u0107 g\u0142owy. Naciski ze strony zarz\u0105dzaj\u0105cych i klienta by\u0142y silne i nieprzerwane. W ci\u0105g\u0142ej rutynie nie mog\u0142em nawet spr\u00f3bowa\u0107 zoptymalizowa\u0107 procesu. To by\u0142o nie tylko, a nawet nie tyle konfekcjonowanie sprz\u0119tu, co sporz\u0105dzanie dokumentacji projektowej. <\/p>\n<p>Oto zacz\u0119\u0142y si\u0119 pierwsze testy i by\u0142em zdumiony, ile drobnych b\u0142\u0119d\u00f3w i nie\u015bcis\u0142o\u015bci zosta\u0142o pope\u0142nionych. Oczywi\u015bcie wszystko dzia\u0142a\u0142o, ale tu brakowa\u0142o litery w nazwie, tam brakowa\u0142o linii w komendzie\u2026 Testy trwa\u0142y i trwa\u0142y, a ja znajdowa\u0142em si\u0119 w ci\u0105g\u0142ej, codziennej walce z b\u0142\u0119dami, testami i dokumentacj\u0105. <\/p>\n<p>Tak trwa\u0142o przez rok. Projekt, o ile rozumiem, by\u0142 trudny dla wszystkich, ale stopniowo klient stawa\u0142 si\u0119 coraz bardziej zadowolony, a to pozwoli\u0142o na zatrudnienie dodatkowych in\u017cynier\u00f3w, kt\u00f3rzy mogli zaj\u0105\u0107 si\u0119 cz\u0119\u015bci\u0105 rutyny.<\/p>\n<p>Teraz mo\u017cna by\u0142o troch\u0119 si\u0119 rozejrze\u0107.<br \/>\nI to by\u0142 pocz\u0105tek drugiej fazy. <\/p>\n<h3>Druga faza<\/h3>\n<p>\nPostanowi\u0142em zautomatyzowa\u0107 proces.<\/p>\n<p>Czego nauczy\u0142em si\u0119 z tamtejszej wsp\u00f3\u0142pracy z programistami (i trzeba przyzna\u0107, mieli\u015bmy mocny zesp\u00f3\u0142), to to, \u017ce format tekstowy, cho\u0107 na pierwszy rzut oka mo\u017ce wydawa\u0107 si\u0119 czym\u015b z \u015bwiata systemu operacyjnego DOS, ma szereg cennych w\u0142a\u015bciwo\u015bci. <br \/>\nNa przyk\u0142ad format tekstowy b\u0119dzie przydatny, je\u015bli chcesz w pe\u0142ni wykorzysta\u0107 zalety GIT i wszystkich jego pochodnych. A ja chcia\u0142em. <\/p>\n<p>C\u00f3\u017c, wydawa\u0142oby si\u0119, \u017ce mo\u017cna po prostu przechowywa\u0107 konfiguracj\u0119 lub list\u0119 polece\u0144, ale wprowadzanie zmian jest do\u015b\u0107 niewygodne. Ponadto podczas projektowania istnieje jeszcze jedno wa\u017cne zadanie. Musisz mie\u0107 dokumentacj\u0119, kt\u00f3ra opisuje tw\u00f3j projekt jako ca\u0142o\u015b\u0107 (Low Level Design) oraz konkretn\u0105 implementacj\u0119 (Network Implementation Plan). A w tym przypadku u\u017cycie szablon\u00f3w wydaje si\u0119 bardzo odpowiednim rozwi\u0105zaniem.<\/p>\n<p>Tak, przy u\u017cyciu YAML i Jinja2, plik YAML z parametrami konfiguracji, takimi jak adresy IP, numery BGP AS,\u2026 doskonale pe\u0142ni rol\u0119 NIP, podczas gdy szablony Jinja2 zawieraj\u0105 sk\u0142adni\u0119 odpowiedni\u0105 do projektu, co w zasadzie jest odzwierciedleniem LLD. <\/p>\n<p>Na nauk\u0119 j\u0119zyk\u00f3w YAML i Jinja2 po\u015bwi\u0119ci\u0142em dwa dni. Aby zrozumie\u0107, jak to dzia\u0142a, wystarczy kilka dobrych przyk\u0142ad\u00f3w. Nast\u0119pnie oko\u0142o dw\u00f3ch tygodni zaj\u0119\u0142o mi stworzenie wszystkich szablon\u00f3w odpowiadaj\u0105cych naszemu projektowi: tydzie\u0144 dla Palo Alto i kolejny tydzie\u0144 dla F5. Wszystko to zosta\u0142o opublikowane na korporacyjnym githab.<\/p>\n<p>Teraz proces zmian wygl\u0105da\u0142 nast\u0119puj\u0105co:<\/p>\n<ul>\n<li>zmieni\u0142em plik YAML<\/li>\n<li>stworzy\u0142em za pomoc\u0105 szablonu (Jinja2) plik konfiguracyjny<\/li>\n<li>zapisa\u0142em w zdalnym repozytorium<\/li>\n<li>wgra\u0142em stworzon\u0105 konfiguracj\u0119 na sprz\u0119t<\/li>\n<li>zauwa\u017cy\u0142em b\u0142\u0105d<\/li>\n<li>zmieni\u0142em plik YAML lub szablon Jinja2<\/li>\n<li>stworzy\u0142em za pomoc\u0105 szablonu (Jinja2) plik konfiguracyjny<\/li>\n<li>\u2026<\/li>\n<\/ul>\n<p>\nJasne, \u017ce na pocz\u0105tku du\u017co czasu zajmowa\u0142y poprawki, ale po tygodniu-dw\u00f3ch sta\u0142o si\u0119 to ju\u017c raczej rzadko\u015bci\u0105. <\/p>\n<p>Dobr\u0105 kontrol\u0105 i mo\u017cliwo\u015bci\u0105 do wszystkiego debugowania sta\u0142a si\u0119 ch\u0119\u0107 klienta do zmiany konwencji nazewnictwa. Ci, kt\u00f3rzy pracowali z F5, rozumiej\u0105 z\u0142o\u017cono\u015b\u0107 sytuacji. Dla mnie wszystko by\u0142o do\u015b\u0107 proste. Zmieni\u0142em nazwy w pliku YAML, usun\u0105\u0142em ca\u0142\u0105 konfiguracj\u0119 ze sprz\u0119tu, wygenerowa\u0142em now\u0105 i wgra\u0142em. Na wszystko, uwzgl\u0119dniaj\u0105c poprawki b\u0142\u0119d\u00f3w, zaj\u0119\u0142o mi 4 dni: po dwa dni na ka\u017cd\u0105 technologi\u0119. Po tym by\u0142em gotowy na kolejny etap, a mianowicie stworzenie centr\u00f3w danych DEV i Staging.<\/p>\n<h3>Dev i Staging<\/h3>\n<p>\nStaging faktycznie w pe\u0142ni powtarza produkcj\u0119. Dev \u2014 znacznie okrojona i zbudowana g\u0142\u00f3wnie na wirtualnym sprz\u0119cie kopia. Idealna sytuacja do zastosowania nowego podej\u015bcia. Je\u015bli z og\u00f3lnego procesu wyodr\u0119bni\u0107 czas, kt\u00f3ry po\u015bwi\u0119ci\u0142em, to my\u015bl\u0119, \u017ce prace zaj\u0119\u0142y nie wi\u0119cej ni\u017c 2 tygodnie. G\u0142\u00f3wna cz\u0119\u015b\u0107 czasu to czas oczekiwania na drug\u0105 stron\u0119 i wsp\u00f3lne szukanie problem\u00f3w. Implementacja 3rd party przebieg\u0142a prawie niezauwa\u017calnie dla otoczenia. Pojawi\u0142o si\u0119 nawet troch\u0119 czasu, aby czego\u015b si\u0119 nauczy\u0107 i napisa\u0107 kilka artyku\u0142\u00f3w na Habra \ud83d\ude42<\/p>\n<h2>Podsumujmy<\/h2>\n<p>\nZatem, co mam w ostatecznym podsumowaniu?<\/p>\n<ul>\n<li>wszystko, czego potrzebuj\u0119 do zmiany konfiguracji \u2014 zmieni\u0107 prosty, jasno zorganizowany plik YAML z parametrami konfiguracyjnymi. Nigdy nie zmieniam skryptu python i bardzo rzadko (tylko je\u015bli jest b\u0142\u0105d) zmieniam szablon Jinja2.<\/li>\n<li>Z punktu widzenia dokumentacji sytuacja wydaje si\u0119 niemal idealna. Zmieniasz dokumentacj\u0119 (pliki YAML pe\u0142ni\u0105 rol\u0119 NIP) i przesy\u0142asz t\u0119 konfiguracj\u0119 na urz\u0105dzenia. Dzi\u0119ki temu twoja dokumentacja jest zawsze aktualna.<\/li>\n<\/ul>\n<p>\nWszystko to doprowadzi\u0142o do tego, \u017ce<\/p>\n<ul>\n<li>procent b\u0142\u0119d\u00f3w spad\u0142 niemal do 0<\/li>\n<li>90 procent rutyny odesz\u0142o<\/li>\n<li>znacz\u0105co zwi\u0119kszy\u0142a si\u0119 pr\u0119dko\u015b\u0107 wdra\u017cania<\/li>\n<\/ul>\n<p><\/p>\n<h2>PAY, F5Y, ACY<\/h2>\n<p>\nM\u00f3wi\u0142em, \u017ce kilka przyk\u0142ad\u00f3w wystarczy, aby zrozumie\u0107, jak to dzia\u0142a.<br \/>\nOto kr\u00f3tka (i oczywi\u015bcie zmieniona) wersja tego, co zosta\u0142o stworzone w trakcie mojej pracy.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/PAY\">PAY<\/a><\/noindex> = wdro\u017cenie <b>P<\/b>alo <b>A<\/b>lto z <b>Y<\/b>aml = Palo Alto z Yaml<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/F5Y\">F5Y<\/a><\/noindex> = wdro\u017cenie <b>F5<\/b> od <b>Y<\/b>aml = <b>F5<\/b> od <b>Y<\/b>aml (wkr\u00f3tce)<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nihole\/ACY\">ACY<\/a><\/noindex> = wdro\u017cenie <b>AC<\/b>i z <b>Y<\/b>aml = <b>F5<\/b> od <b>Y<\/b>aml<\/p>\n<p>Dodam kilka s\u0142\u00f3w o ACY (nie myli\u0107 z ACI).<\/p>\n<p>Ci, kt\u00f3rzy pracowali z ACI, wiedz\u0105, \u017ce to cudo (i to w dobrym sensie) zosta\u0142o stworzone z pewno\u015bci\u0105 nie przez sieciowc\u00f3w :). Zapomnij o wszystkim, co wiedzia\u0142e\u015b o sieci \u2014 to si\u0119 nie przyda!<br \/>\nNieco przesadzone, ale mniej wi\u0119cej oddaje to uczucie, kt\u00f3re odczuwam, pracuj\u0105c z ACI przez ostatnie 3 lata.<\/p>\n<p>W tym przypadku ACY to nie tylko mo\u017cliwo\u015b\u0107 zbudowania procesu kontroli zmian (co ma szczeg\u00f3lne znaczenie w przypadku ACI, poniewa\u017c zak\u0142ada si\u0119, \u017ce to centralna i najwa\u017cniejsza cz\u0119\u015b\u0107 twojego Data Center), ale tak\u017ce przyjazny interfejs do tworzenia konfiguracji. <\/p>\n<p>In\u017cynierowie w tym projekcie do konfigurowania ACI zamiast YAML z dok\u0142adno\u015bci\u0105 tych samych cel\u00f3w u\u017cywaj\u0105 Excela. U\u017cycie Excela ma oczywi\u015bcie swoje zalety:<\/p>\n<ul>\n<li>tw\u00f3j NIP w jednym pliku<\/li>\n<li>\u0142adne tabelki, na kt\u00f3re przyjemnie patrze\u0107 klientowi<\/li>\n<li>mo\u017cesz u\u017cywa\u0107 niekt\u00f3rych narz\u0119dzi Excela<\/li>\n<\/ul>\n<p>\nAle jest jeden minus, kt\u00f3ry moim zdaniem przewa\u017ca nad zaletami. Kontrola zmian i uzgadnianie pracy zespo\u0142u staje si\u0119 znacznie trudniejsze.<\/p>\n<p>ACY to w\u0142a\u015bciwie zastosowanie tych samych podej\u015b\u0107, kt\u00f3re u\u017cy\u0142em do 3rd party, do konfigurowania ACI.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/453920\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb. \u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0446\u0438\u043a\u043b\u0430 \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0437\u0434\u0435\u0441\u044c. \u041e\u0441\u0442\u0430\u0432\u0438\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043c \u043f\u043e\u0437\u0430\u0434\u0438, \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u0441\u0435 \u0436\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0433\u043b\u0430\u0432\u0443. \u041a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u043d\u0443\u0441\u044c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435. \u0417\u0434\u0435\u0441\u044c \u044f \u0445\u043e\u0447\u0443 \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u0443\u0432\u0435\u0440\u0435\u043d, \u0432 \u0442\u043e\u043c \u0438\u043b\u0438 \u0438\u043d\u043e\u043c \u0432\u0438\u0434\u0435, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34742","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.\" \/>\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\/pl\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u0413\u043b\u0430\u0432\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f. \u0422\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty\" \/>\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=\"2019-10-31T19:00:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:10+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\udd47Jak przej\u0105\u0107 kontrol\u0119 nad infrastruktur\u0105 sieciow\u0105. Rozdzia\u0142 czwarty. Automatyzacja. Szablony | ProHoster","description":"Ten artyku\u0142 jest sz\u00f3stym w cyklu artyku\u0142\u00f3w \u201eJak przej\u0105\u0107 kontrol\u0119 nad infrastruktur\u0105 sieciow\u0105\u201d.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c. \u0413\u043b\u0430\u0432\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0430\u044f. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f. \u0422\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u044b | ProHoster","og:description":"\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043e\u0439 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u00ab\u041a\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u00bb.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-vzyat-setevuyu-infrastrukturu-pod-svoj-kontrol-glava-chetvertaya-avtomatizatsiya-templejty","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":"2019-10-31T19:00:10+00:00","article:modified_time":"2019-10-31T19:00:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34742","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":"2026-01-21 20:27:55","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:15:38","updated":"2026-01-21 20:27:55","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=34742"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34742\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=34742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=34742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=34742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}