{"id":33725,"date":"2019-10-31T21:54:21","date_gmt":"2019-10-31T18:54:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-takoe-devops\/"},"modified":"2019-10-31T21:54:21","modified_gmt":"2019-10-31T18:54:21","slug":"chto-takoe-devops","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/chto-takoe-devops","title":{"rendered":"\u010co je DevOps","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Defin\u00edcia DevOps je ve\u013emi zlo\u017eit\u00e1, preto sa ka\u017ed\u00fd raz znova sp\u00fa\u0161\u0165a diskusia o tom. Iba na Habre je tis\u00edc publik\u00e1ci\u00ed na t\u00fato t\u00e9mu. Ale ak to \u010d\u00edtate, ur\u010dite viete, \u010do je to DevOps. Preto\u017ee ja nie. Ahoj, vol\u00e1m sa <b>Alexander Titov (@<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/osminog\/\">osminog<\/a><\/noindex><\/b>), a my sa jednoducho porozpr\u00e1vame o DevOps a ja sa s vami podel\u00edm o svoje sk\u00fasenosti.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/b3de97caab6db6b0e117f2637a5cbab8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDlho som uva\u017eoval, ako spravi\u0165 svoj pr\u00edbeh u\u017eito\u010dn\u00fdm, preto tu bude ve\u013ea ot\u00e1zok - t\u00fdch, ktor\u00e9 si s\u00e1m kladiem, a t\u00fdch, ktor\u00e9 kladiem klientom na\u0161ej firmy. Odpovedan\u00edm na tieto ot\u00e1zky sa porozumenie zlep\u0161uje. Povieme si, na \u010do je DevOps z m\u00f4jho poh\u013eadu, \u010do to vlastne je, op\u00e4\u0165 z m\u00f4jho poh\u013eadu, a ako pochopi\u0165, \u010di sa pos\u00favate k DevOps, znova z m\u00f4jho poh\u013eadu. Posledn\u00fd bod bude cez ot\u00e1zky. Odpovedan\u00edm na ne s\u00e1m sebe pochop\u00edte, \u010di va\u0161a spolo\u010dnos\u0165 smeruje k DevOps, alebo ak s\u00fa nejak\u00e9 probl\u00e9my.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"php6DfXXG0Y\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/php6DfXXG0Y\/hqdefault.jpg\" alt=\"Prehrajte video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nNiekedy som pl\u00e1val po vln\u00e1ch f\u00fazi\u00ed a akviz\u00edci\u00ed. Najprv som pracoval v malej startupovej firme Qik, potom ju k\u00fapila o \u010dosi v\u00e4\u010d\u0161ia spolo\u010dnos\u0165 Skype, ktor\u00fa nesk\u00f4r k\u00fapila e\u0161te o \u010dosi v\u00e4\u010d\u0161ia spolo\u010dnos\u0165 Microsoft. V tom momente som z\u00edskal poh\u013ead na to, ako sa predstava o DevOps transformuje v r\u00f4znych ve\u013ekostiach firiem. Po tom ma za\u010dalo zauj\u00edma\u0165 u\u017e z poh\u013eadu trhu na DevOps, a s kolegami sme zalo\u017eili spolo\u010dnos\u0165 Express 42. U\u017e 6 rokov sa s \u0148ou plav\u00edme na vln\u00e1ch trhu.<\/p>\n<p>Okrem v\u0161etk\u00e9ho ostatn\u00e9ho som jedn\u00fdm z organiz\u00e1torov komunity DevOps Moscow a organiz\u00e1torom DevOps -Days 2017, pri\u010dom v roku 2018 som to u\u017e neorganizoval. Express 42 pracuje s mnoh\u00fdmi spolo\u010dnos\u0165ami. Pestujeme tam DevOps, sledujeme, ako to prebieha, rob\u00edme z\u00e1very, analyzujeme, zdie\u013eame svoje z\u00e1very so v\u0161etk\u00fdmi, a vzdel\u00e1vame \u013eud\u00ed praktik\u00e1m DevOps. V podstate rastieme v tomto smere, pokia\u013e ide o sk\u00fasenosti a odborn\u00e9 znalosti.<\/p>\n<h2>Pre\u010do DevOps<\/h2>\n<p>\nPrv\u00e1 ot\u00e1zka, ktor\u00e1 tr\u00e1pi ka\u017ed\u00e9ho a v\u017edy - pre\u010do? Mnoh\u00ed si myslia, \u017ee DevOps je len automatiz\u00e1cia alebo nie\u010do podobn\u00e9, \u010do u\u017e bolo v ka\u017edej spolo\u010dnosti.<\/p>\n<p><i>- Mali sme Continuous Integration - to znamen\u00e1, \u017ee u\u017e bol DevOps, a na\u010do je v\u0161etka t\u00e1to fra\u0161ka potrebn\u00e1? Tam v zahrani\u010d\u00ed sa zab\u00e1vaj\u00fa, a n\u00e1m br\u00e1nia v pr\u00e1ci!<\/i><\/p>\n<p>Za 9 rokov rozvoja komunity a metodol\u00f3gie sa u\u017e uk\u00e1zalo, \u017ee to nie s\u00fa len marketingov\u00e9 triky, ale st\u00e1le nie je \u00faplne jasn\u00e9, na \u010do je to potrebn\u00e9. Ako pri ka\u017edom n\u00e1stroji a procese, aj DevOps m\u00e1 konkr\u00e9tne cie\u013ee, ktor\u00e9 nakoniec dosahuje.<\/p>\n<p>V\u0161etko to s\u00favis\u00ed s t\u00fdm, \u017ee svet sa men\u00ed. Odch\u00e1dza od pr\u00edstupu enterprise, ke\u010f sa firmy pohybuj\u00fa priamo k svojmu snu, ako spieval n\u00e1\u0161 petrohradsk\u00fd klasik, z bodu A do bodu B pod\u013ea ur\u010ditej strat\u00e9gie, s vybudovanou pre tento \u00fa\u010del konkr\u00e9tnou \u0161trukt\u00farou. <\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/bb78da721e949d89e58756d0d68bb56d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>V z\u00e1sade by malo by\u0165 v\u0161etko v IT postaven\u00e9 na tomto pr\u00edstupe. Tu sa IT pou\u017e\u00edva v\u00fdlu\u010dne na automatiz\u00e1ciu procesov.<\/p><\/blockquote>\n<p>\nAutomatiz\u00e1cia sa \u010dasto nemen\u00ed, preto\u017ee ke\u010f sa firma pohybuje po zn\u00e1mej ceste \u2013 \u010do tam meni\u0165? Funguje \u2013 nezasahuj. Teraz sa v svete pr\u00edstupy menia, a ten, ktor\u00fd sa naz\u00fdva Agile, hovor\u00ed o tom, \u017ee kone\u010dn\u00e1 bod B nie je na prv\u00fd poh\u013ead jasn\u00e1.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/06553eff16fec2ece77aad454b8d8686.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKe\u010f firma ide po trhu a pracuje s klientom \u2013 neust\u00e1le sk\u00fama trh a men\u00ed kone\u010dn\u00fd bod B. A \u010d\u00edm \u010dastej\u0161ie firma men\u00ed svoj smer, t\u00fdm je napokon \u00faspe\u0161nej\u0161ia, preto\u017ee si vyber\u00e1 viac trhov\u00fdch n\u00eds.<\/p>\n<p>Zauj\u00edmav\u00e1 firma, o ktorej som sa dozvedel ned\u00e1vno, ukazuje t\u00fato strat\u00e9giu. One Box Shave \u2013 slu\u017eba na doru\u010denie holiacich stroj\u010dekov a holiacich pom\u00f4cok na predplatnom v krabici. Dok\u00e1\u017eu prisp\u00f4sobi\u0165 svoju \"krabi\u010dku\" r\u00f4znym klientom. O to sa star\u00e1 \u0161pecifick\u00fd softv\u00e9r, ktor\u00fd potom odosiela objedn\u00e1vku na k\u00f3rejsk\u00fa tov\u00e1re\u0148, ktor\u00e1 vyr\u00e1ba tovar.<\/p>\n<p>Tento produkt zak\u00fapila spolo\u010dnos\u0165 Unilever za 1 miliardu dol\u00e1rov. Teraz s\u00fa v konkurencii s Gillette a ukradli mu zna\u010dn\u00fa \u010das\u0165 spotrebite\u013eov na americkom trhu. One Box Shave hovor\u00ed:<\/p>\n<p><i>\u2014 4 \u010depele? Mysl\u00edte to v\u00e1\u017ene? Na\u010do to potrebujete \u2014 to nijako nezlep\u0161uje kvalitu holenia. \u0160peci\u00e1lne vybran\u00fd kr\u00e9m, v\u00f4\u0148a a kvalitn\u00fd holiaci stroj\u010dek s dvoma \u010depe\u013eami vyrie\u0161ia ove\u013ea viac probl\u00e9mov, ako t\u00fdchto hl\u00fapych 4 \u010depiel Gillette! \u010coskoro sa dostaneme a\u017e k 10?<\/i><\/p>\n<p>Tak sa svet men\u00ed. Unilever hl\u00e1sia, \u017ee maj\u00fa skvel\u00fd IT syst\u00e9m, ktor\u00fd to umo\u017e\u0148uje. Nakoniec to vyzer\u00e1 ako koncept <b>Time-to-market<\/b>, o ktorom u\u017e len m\u00e1lokto nehovoril.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/fc10a54a6848a50f5d4c1fb36de8d921.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZmysel Time-to-market nespo\u010d\u00edva v tom, ako \u010dasto nasadzujeme. M\u00f4\u017eeme nasadzova\u0165 \u010dasto, ale vyd\u00e1vacie cykly m\u00f4\u017eu by\u0165 dlh\u00e9. Ak na seba nav\u00e1\u017eeme trojmesa\u010dn\u00e9 vyd\u00e1vacie cykly, pos\u00favaj\u00fac ich o t\u00fd\u017ede\u0148, vych\u00e1dza n\u00e1m, \u017ee sa spolo\u010dnos\u0165 akoby nasadzuje raz za t\u00fd\u017ede\u0148. A od n\u00e1padu po kone\u010dn\u00fa realiz\u00e1ciu prejde 3 mesiace.<\/p>\n<blockquote><p>Time-to-market je o minimaliz\u00e1cii \u010dasu od n\u00e1padu po kone\u010dn\u00fa realiz\u00e1ciu.<\/p><\/blockquote>\n<p>\nV tomto pr\u00edpade sa s trhom interaguje cez softv\u00e9r. Tak\u017ee One Box Shave komunikuje so z\u00e1kazn\u00edkom cez str\u00e1nku. Nemaj\u00fa predajcov - iba str\u00e1nku, kde n\u00e1v\u0161tevn\u00edk klik\u00e1 a zanech\u00e1va po\u017eiadavky. Preto je potrebn\u00e9 na str\u00e1nke neust\u00e1le zverej\u0148ova\u0165 nie\u010do nov\u00e9 a aktualizova\u0165 ju pod\u013ea po\u017eiadaviek. Napr\u00edklad v Ju\u017enej K\u00f3rei sa holia inak ako v Rusku a p\u00e1\u010di sa im, ke\u010f nie je v\u00f4\u0148a borovice, ale napr\u00edklad vanilkovej mrkvy.<\/p>\n<p>Ke\u010f\u017ee je potrebn\u00e9 r\u00fdchlo meni\u0165 obsah str\u00e1nky, v\u00fdvoj softv\u00e9ru sa v\u00fdrazne men\u00ed. Cez softv\u00e9r mus\u00edme zisti\u0165, \u010do chce z\u00e1kazn\u00edk. Predt\u00fdm sme to zis\u0165ovali obch\u00e1dzaj\u00facimi sp\u00f4sobmi, napr\u00edklad cez business management. Potom sme projektovali, zahrnuli po\u017eiadavky do IT syst\u00e9mu a v\u0161etko bolo skvel\u00e9. Teraz je to in\u00e9 - softv\u00e9r projektuj\u00fa v\u0161etci zapojen\u00ed do procesu, vr\u00e1tane in\u017einierov, preto\u017ee sa dozvedia cez technick\u00e9 \u0161pecifik\u00e1cie, ako funguje trh, a zdie\u013eaj\u00fa s biznisom svoje poznatky.<\/p>\n<p>Napr\u00edklad v spolo\u010dnosti Qik sme zrazu zistili, \u017ee \u013eu\u010fom sa ve\u013emi p\u00e1\u010di nahr\u00e1va\u0165 kontaktn\u00e9 zoznamy na server a pridali n\u00e1m aplik\u00e1ciu. P\u00f4vodne sme nad t\u00fdm neuva\u017eovali. V klasickej firme by v\u0161etci rozhodli, \u017ee je to chyba, preto\u017ee v \u0161pecifik\u00e1cii nie je nap\u00edsan\u00e9, \u017ee by to malo funk\u010dne dobre fungova\u0165 a v\u00f4bec to bolo realizovan\u00e9 na kolene, vypnuli by funkciu a povedali: 'To nikomu nie je potrebn\u00e9, hlavn\u00e9 je, \u017ee z\u00e1kladn\u00e1 funkcionalita funguje.' A technologick\u00e1 spolo\u010dnos\u0165 v tom vid\u00ed pr\u00edle\u017eitos\u0165 a za\u010d\u00edna meni\u0165 softv\u00e9r v s\u00falade s t\u00fdm.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/557a53e5a864a39843fe20d521e16400.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV roku 1968 brilantn\u00fd chlapec Melvin Conway formuloval nasleduj\u00facu my\u0161lienku.<\/p>\n<blockquote><p>Organiz\u00e1cia, ktor\u00e1 vytv\u00e1ra syst\u00e9m, je obmedzen\u00e1 dizajnom, ktor\u00fd kop\u00edruje \u0161trukt\u00faru komunik\u00e1cie v tejto organiz\u00e1cii.<\/p><\/blockquote>\n<p>\nAk chcete vyvin\u00fa\u0165 syst\u00e9my in\u00e9ho typu, potrebujete ma\u0165 aj komunika\u010dn\u00fa \u0161trukt\u00faru vo vn\u00fatri firmy in\u00e9ho typu. Ak m\u00e1te hierarchick\u00fa komunika\u010dn\u00fa \u0161trukt\u00faru, nedovol\u00ed v\u00e1m to vytvori\u0165 syst\u00e9my, ktor\u00e9 m\u00f4\u017eu zabezpe\u010di\u0165 ve\u013emi vysok\u00fd ukazovate\u013e Time-to-market.<\/p>\n<p>Pre\u010d\u00edta\u0165 <noindex><a rel=\"nofollow\" href=\"http:\/\/evtuhovich.ru\/blog\/2016\/10\/05\/conways-law\/\">o z\u00e1kone Conwaya<\/a><\/noindex> mo\u017en\u00e9 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.melconway.com\/Home\/Committees_Paper.html\">na odkazoch<\/a><\/noindex>. Je d\u00f4le\u017eit\u00fd pre pochopenie kult\u00fary alebo filozofie DevOps, preto\u017ee <b>jedin\u00e1 z\u00e1kladn\u00e1 vec, ktor\u00e1 sa men\u00ed v DevOps, je pr\u00e1ve \u0161trukt\u00fara komunik\u00e1cie medzi t\u00edmami.<\/b>.<\/p>\n<p>Z h\u013eadiska procesu pred DevOps v\u0161etky f\u00e1zy: anal\u00fdza, v\u00fdvoj, testovanie, prev\u00e1dzka, prebiehali line\u00e1rne.<img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e667012430fcc952bac87d7f1fb6da03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPri DevOps prebiehaj\u00fa v\u0161etky tieto procesy s\u00fa\u010dasne.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e4e031864d5d32d6446a95b6c609debd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTime-to-market sa iba takto m\u00f4\u017ee vykon\u00e1va\u0165. Pre \u013eud\u00ed, ktor\u00ed pracovali v starom procese, to vyzer\u00e1 dos\u0165 futuristicky a vlastne tak nejako.<\/p>\n<h3>Tak na \u010do je DevOps potrebn\u00fd?<\/h3>\n<p>\n<b>Pre v\u00fdvoj digit\u00e1lnych produktov.<\/b>Ak vo va\u0161ej spolo\u010dnosti nie je digit\u00e1lny produkt, DevOps nie je potrebn\u00fd - to je ve\u013emi d\u00f4le\u017eit\u00e9.<\/p>\n<p><b>DevOps prekon\u00e1va \u010dasov\u00e9 obmedzenia sekven\u010dn\u00e9ho sch\u00e9my v\u00fdroby softv\u00e9ru.<\/b>V \u0148om prebiehaj\u00fa v\u0161etky procesy s\u00fa\u010dasne.<\/p>\n<p><b>Zvy\u0161uje sa zlo\u017eitosti.<\/b> Ke\u010f DevOps evanjelisti hovoria, \u017ee s n\u00edm bude \u013eah\u0161ie vyd\u00e1va\u0165 softv\u00e9r - to je nezmysel.<\/p>\n<blockquote><p>S DevOps to bude len \u0165a\u017e\u0161ie.<\/p><\/blockquote>\n<p>\nNa konferencii na st\u00e1nku Avito ste mohli vidie\u0165, ak\u00e9 je n\u00e1ro\u010dn\u00e9 nasadi\u0165 Docker kontajner - nerealizovate\u013en\u00e1 \u00faloha. Zlo\u017eitosti dosahuje ne\u00fanosn\u00e9 \u00farovne, mus\u00edte \u017eonglova\u0165 s mnoh\u00fdmi bal\u00f3nikmi s\u00fa\u010dasne.<\/p>\n<p><b>DevOps \u00faplne men\u00ed proces a organiz\u00e1ciu v spolo\u010dnosti,<\/b>\u00a0presnej\u0161ie, nemen\u00ed DevOps, ale digit\u00e1lny produkt. Aby ste dospeli k DevOps, mus\u00edte tento proces \u00faplne zmeni\u0165.<\/p>\n<h3>Ot\u00e1zky pre odborn\u00edka<\/h3>\n<p>\nA \u010do vy? Ot\u00e1zky, ktor\u00e9 si m\u00f4\u017eete polo\u017ei\u0165, ke\u010f pracujete v spolo\u010dnosti a vyv\u00edjate sa ako odborn\u00edk.<\/p>\n<p><b>M\u00e1te strat\u00e9giu na vytvorenie digit\u00e1lneho produktu?<\/b> Ak \u00e1no - u\u017e je to dobr\u00e9. To znamen\u00e1, \u017ee va\u0161a spolo\u010dnos\u0165 smeruje k DevOps.<\/p>\n<p><b>Va\u0161a spolo\u010dnos\u0165 u\u017e vytv\u00e1ra digit\u00e1lny produkt?<\/b> To znamen\u00e1, \u017ee sa m\u00f4\u017eete posun\u00fa\u0165 e\u0161te o stupe\u0148 vy\u0161\u0161ie, anga\u017eova\u0165 sa v zauj\u00edmavej\u0161\u00edch veciach - z h\u013eadiska DevOps op\u00e4\u0165. Hovor\u00edm iba z tohto h\u013eadiska.<\/p>\n<p><b>Je va\u0161a spolo\u010dnos\u0165 jedn\u00fdm z l\u00eddrov na trhu v niku s digit\u00e1lnym produktom?<\/b> Spotify, Yandex, Uber \u2014 spolo\u010dnosti, ktor\u00e9 s\u00fa teraz na vrchole technologick\u00e9ho pokroku.<\/p>\n<p>Zadajte si tieto ot\u00e1zky a ak s\u00fa v\u0161etky odpovede z\u00e1porn\u00e9, mo\u017eno by ste sa nemali venova\u0165 DevOps v tejto spolo\u010dnosti. Ak v\u00e1s t\u00e9ma DevOps naozaj zauj\u00edma, mo\u017eno by ste sa mali presun\u00fa\u0165 do inej spolo\u010dnosti? Ak va\u0161a spolo\u010dnos\u0165 chce \u00eds\u0165 do DevOps, ale na v\u0161etky ot\u00e1zky ste odpovedali 'Nie', potom pripom\u00edna tohto n\u00e1dhern\u00e9ho nosoro\u017eca, ktor\u00fd sa nikdy nezmen\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/6a0145c368d5c96b315ead270b107712.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Organiz\u00e1cia<\/h2>\n<p>\nAko som u\u017e povedal, pod\u013ea Conwayovho z\u00e1kona sa organiz\u00e1cia vo firme men\u00ed. Za\u010dnem od toho, \u010do br\u00e1ni DevOps prenikn\u00fa\u0165 do spolo\u010dnosti z h\u013eadiska organiz\u00e1cie.<\/p>\n<h3>Probl\u00e9m 'silos'<\/h3>\n<p>\nAnglick\u00e9 slovo 'Silo' je tu prelo\u017een\u00e9 ako 'sila'. Zmysel tohto probl\u00e9mu spo\u010d\u00edva v tom, \u017ee <b>medzi t\u00edmami nie je v\u00fdmena inform\u00e1ci\u00ed.<\/b>Ka\u017ed\u00fd t\u00edm sa hlboko pon\u00e1ra do svojej expert\u00edzy, pri\u010dom nestavia spolo\u010dn\u00fa mapu, pod\u013ea ktorej by sa dalo orientova\u0165.<\/p>\n<p>Nie\u010d\u00edm to pripom\u00edna \u010dloveka, ktor\u00fd pr\u00e1ve pri\u0161iel do Moskvy a e\u0161te nevie, ako sa orientova\u0165 na mape metra. Moskvi\u010dania zvy\u010dajne dobre poznaj\u00fa svoju oblas\u0165, zatia\u013e \u010do po celej Moskve sa orientuj\u00fa pod\u013ea mapy metra. Ke\u010f pr\u00eddete do Moskvy prv\u00fdkr\u00e1t, nem\u00e1te tento zru\u010dnos\u0165 a proste ste dezorientovan\u00ed.<\/p>\n<blockquote><p>DevOps pon\u00faka prejs\u0165 t\u00fdmto momentom dezorient\u00e1cie a spolu v\u0161etk\u00fdm oddeleniam postavi\u0165 spolo\u010dn\u00fa mapu interakci\u00ed.<\/p><\/blockquote>\n<p>\nTomu br\u00e1nia dva faktory.<\/p>\n<p><b>D\u00f4sledok firemn\u00e9ho riadiaceho syst\u00e9mu.<\/b> Je postaven\u00fd na samostatn\u00fdch hierarchick\u00fdch 'sila'. Napr\u00edklad existuj\u00fa ur\u010dit\u00e9 KPI v spolo\u010dnostiach, ktor\u00e9 tento syst\u00e9m podporuj\u00fa. Na druhej strane, br\u00e1nia mozgy \u010dloveka, ktor\u00e9mu sa \u0165a\u017eko vych\u00e1dza z r\u00e1mca svojej expert\u00edzy a orientuje sa v celej s\u00fastave. Je to proste nepr\u00edjemn\u00e9. Predstavte si, \u017ee ste pri\u0161li na letisko v Bangkoku \u2014 tam sa r\u00fdchlo neorientujete. V DevOps je tie\u017e \u0165a\u017ek\u00e9 sa orientova\u0165, a preto \u013eudia hovoria, \u017ee je potrebn\u00e9 n\u00e1js\u0165 sprievodcu, aby sa tam dostali.<\/p>\n<p>Ale najd\u00f4le\u017eitej\u0161ie je, \u017ee probl\u00e9m 'sila' pre in\u017einiera, ktor\u00fd sa prenikol duchom DevOps, pre\u010d\u00edtal Feylera a mno\u017estvo \u010fal\u0161\u00edch kn\u00edh, sa prejavuje v tom, \u017ee <b>'sila' nedovo\u013euj\u00fa robi\u0165 'zjavn\u00e9' veci.<\/b>\u010casto sa stret\u00e1vame po DevOps Moscow, rozpr\u00e1vame sa navz\u00e1jom a \u013eudia si s\u0165a\u017euj\u00fa:<\/p>\n<p><i>\u2014 Chceli sme len spusti\u0165 CI, ale uk\u00e1zalo sa, \u017ee mana\u017ement to nepotrebuje.<\/i><\/p>\n<p>To sa deje pr\u00e1ve preto, \u017ee\u00a0<b>CI <\/b>a\u00a0<b>Proces kontinu\u00e1lneho dod\u00e1vania<\/b> sa nach\u00e1dzaj\u00fa na hrane mnoh\u00fdch odbornost\u00ed. Ak sa neprekona probl\u00e9m \u201estudn\u00ed\u201c na organiza\u010dnej \u00farovni, nepodar\u00ed sa posun\u00fa\u0165 \u010falej, nech rob\u00edte \u010doko\u013evek a akoko\u013evek smutn\u00e9 to bolo.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/96bcf835453a2419dbc9995822d86dd0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKa\u017ed\u00fd \u00fa\u010dastn\u00edk procesu v spolo\u010dnosti: backend a frontend v\u00fdvoj\u00e1ri, testovanie, DBA, prev\u00e1dzka, sie\u0165, kop\u00fa do svojej strany, a spolo\u010dn\u00fa mapu nem\u00e1 nikto, okrem mana\u017e\u00e9ra, ktor\u00fd ich nejako dohliada a riadi met\u00f3dou \u201erozd\u011bl a panuj\u201c.<\/p>\n<blockquote><p>\u013dudia sa sna\u017eia z\u00edska\u0165 nejak\u00e9 hviezdi\u010dky alebo vlajky, ka\u017ed\u00fd sa sna\u017e\u00ed o svoju odborn\u00fa oblas\u0165.<\/p><\/blockquote>\n<p>\nVo v\u00fdsledku, ke\u010f nastane \u00faloha spoji\u0165 to v\u0161etko dokopy a u\u017e sa nemus\u00ed bojova\u0165 o hviezdi\u010dky a vlajky, vznikne ot\u00e1zka \u2013 \u010do vlastne robi\u0165? Treba sa nejako dohodn\u00fa\u0165, ale ako to urobi\u0165, n\u00e1s v \u0161kole nikto neu\u010dil. E\u0161te zo \u0161koly sme nau\u010den\u00ed: \u00f4smy ro\u010dn\u00edk \u2013 wow! \u2013 v porovnan\u00ed so siedmym ro\u010dn\u00edkom! Tu je to to ist\u00e9.<\/p>\n<h3>Je to vo va\u0161ej spolo\u010dnosti rovnako?<\/h3>\n<p>\nAby ste to overili, m\u00f4\u017eete si polo\u017ei\u0165 nasleduj\u00face ot\u00e1zky.<\/p>\n<p><b>Pou\u017e\u00edvaj\u00fa t\u00edm spolo\u010dn\u00e9 n\u00e1stroje, prispievaj\u00fa k zmen\u00e1m t\u00fdchto spolo\u010dn\u00fdch n\u00e1strojov?<\/p>\n<p>Ako \u010dasto sa t\u00edm reorganizuje - in\u00ed odborn\u00edci z jedn\u00e9ho t\u00edmu prech\u00e1dzaj\u00fa do in\u00e9ho t\u00edmu?<\/b> V DevOps prostred\u00ed sa to st\u00e1va norm\u00e1lnym, preto\u017ee niekedy \u010dlovek jednoducho nem\u00f4\u017ee pochopi\u0165, \u010d\u00edm sa zaober\u00e1 in\u00e1 odborn\u00e1 oblas\u0165. Prejde do in\u00e9ho oddelenia, pracuje tam dva t\u00fd\u017edne, aby si vytvoril mapu orient\u00e1cie a interakcie s t\u00fdmto oddelen\u00edm.<\/p>\n<p><b>M\u00f4\u017ee sa vytvori\u0165 v\u00fdbor pre zmenu a nie\u010do zmeni\u0165? <\/b>Ale na to je potrebn\u00e1 siln\u00e1 ruka najvy\u0161\u0161ieho vedenia a pr\u00edkaz? Ned\u00e1vno som nap\u00edsal na Facebook, ako jeden m\u00e1lo zn\u00e1my bank cez pr\u00edkazy zav\u00e1dza n\u00e1stroje: nap\u00edsali pr\u00edkaz, rok zav\u00e1dzame, sledujeme, \u010do sa deje. To, samozrejme, trv\u00e1 dlho a je to smutn\u00e9.<\/p>\n<p><b>Ako je d\u00f4le\u017eit\u00e9 pre mana\u017e\u00e9rov dosiahnu\u0165 osobn\u00e9 \u00faspechy bez oh\u013eadu na \u00faspechy firmy? <\/b><\/p>\n<p>Ak si na tieto ot\u00e1zky odpoviete, bude jasnej\u0161ie, \u010di m\u00e1te tento probl\u00e9m v spolo\u010dnosti.<\/p>\n<h2>Infrastrukt\u00fara ako k\u00f3d<\/h2>\n<p>\nPo tom, \u010do prejdete touto probl\u00e9mou, prvou d\u00f4le\u017eitou praxou, bez ktorej je \u0165a\u017ek\u00e9 posun\u00fa\u0165 sa \u010falej v DevOps, je <b>infrastrukt\u00fara ako k\u00f3d<\/b>. <\/p>\n<p>Naj\u010dastej\u0161ie sa infra\u0161trukt\u00fara ako k\u00f3d vn\u00edma takto:<\/p>\n<p><i>\u2014 Po\u010fme v\u0161etko automatizova\u0165 v bash, obal\u00edme sa skriptami, aby administr\u00e1torky mali menej ru\u010dnej pr\u00e1ce!<\/i><\/p>\n<p>Ale to nie je tak.<\/p>\n<blockquote><p>Infrastrukt\u00fara ako k\u00f3d znamen\u00e1, \u017ee IT syst\u00e9m, s ktor\u00fdm pracujete, opisujete vo forme k\u00f3du, aby ste neust\u00e1le ch\u00e1pali jeho stav.<\/p><\/blockquote>\n<p>\nSpolu s \u010fal\u0161\u00edmi t\u00edmami vytv\u00e1rate mapu vo forme k\u00f3du, ktor\u00e1 je v\u0161etk\u00fdm zrozumite\u013en\u00e1 a pod\u013ea ktorej sa d\u00e1 orientova\u0165, navigova\u0165. Nez\u00e1le\u017e\u00ed na tom, na \u010dom to je uroben\u00e9 \u2014 Chef, Ansible, Salt alebo sa pou\u017e\u00edvaj\u00fa YAML s\u00fabory v Kubernetes \u2014 je to jedno.<\/p>\n<p>Na konferencii kolega z 2GIS rozpr\u00e1val, ako vytvorili svoju intern\u00fa vec pre Kubernetes, ktor\u00e1 opisuje zariadenie jednotliv\u00fdch syst\u00e9mov. Aby op\u00edsali 500 syst\u00e9mov, potrebovali samostatn\u00fd n\u00e1stroj, ktor\u00fd tento popis generuje. Ke\u010f je tento popis, ka\u017ed\u00fd sa m\u00f4\u017ee navz\u00e1jom kontrolova\u0165, sledova\u0165 zmeny, ako to zmeni\u0165 a zlep\u0161i\u0165, \u010do ch\u00fdba. <\/p>\n<p>S\u00fahlas\u00edte, \u017ee jednotliv\u00e9 bash skripty zvy\u010dajne ned\u00e1vaj\u00fa toto pochopenie. V jednej z firiem, kde som pracoval, bolo dokonca pomenovanie \u201ewrite only\u201c skript \u2014 ke\u010f je skript nap\u00edsan\u00fd, ale pre\u010d\u00edta\u0165 ho u\u017e nie je mo\u017en\u00e9. Mysl\u00edm, \u017ee v\u00e1m to tie\u017e nie je nezn\u00e1me.<\/p>\n<p>Infrastrukt\u00fara ako k\u00f3d je <b>k\u00f3d, ktor\u00fd popisuje aktu\u00e1lny stav infra\u0161trukt\u00fary<\/b>. Na tomto k\u00f3de spolo\u010dne pracuje mno\u017estvo produktov\u00fdch, infra\u0161trukt\u00farnych a servisn\u00fdch t\u00edmov a, \u010do je najd\u00f4le\u017eitej\u0161ie, v\u0161etci musia ch\u00e1pa\u0165, ako tento k\u00f3d vlastne funguje.<\/p>\n<p><b>K\u00f3d je spravovan\u00fd pod\u013ea najlep\u0161\u00edch prakt\u00edk pr\u00e1ce s k\u00f3dom<\/b>: spolo\u010dn\u00fd v\u00fdvoj, k\u00f3dov\u00e1 rev\u00edzia, XP-programming, testovanie, pull requesty, CI pre infra\u0161trukt\u00fary k\u00f3du \u2014 toto v\u0161etko je kvalitn\u00e9 a d\u00e1 sa to pou\u017e\u00edva\u0165.<\/p>\n<blockquote><p>K\u00f3d sa st\u00e1va spolo\u010dn\u00fdm jazykom pre v\u0161etk\u00fdch in\u017einierov.<\/p><\/blockquote>\n<p>\n<b>Zmena infra\u0161trukt\u00fary v k\u00f3de nezaber\u00e1 ve\u013ea \u010dasu<\/b>. \u00c1no, aj v infra\u0161trukt\u00farnom k\u00f3de m\u00f4\u017ee by\u0165 technick\u00fd dlh. Zvy\u010dajne sa t\u00edmy s n\u00edm stret\u00e1vaj\u00fa asi po roku a pol od za\u010diatku implement\u00e1cie \u201einfrastrukt\u00fary ako k\u00f3d\u201c vo forme hromady skriptov alebo dokonca Ansible, ktor\u00fd p\u00ed\u0161u ako \u0161pagetov\u00fd k\u00f3d, a e\u0161te tam posielaj\u00fa bash skripty do pece! <\/p>\n<p><b>D\u00f4le\u017eit\u00e9<\/b>: ak ste to e\u0161te nesk\u00fasili, zapam\u00e4tajte si, \u017ee <b>Ansible nie je bash<\/b>! Pozorne si pre\u010d\u00edtajte dokument\u00e1ciu, pozrite sa, \u010do o tom v\u00f4bec p\u00ed\u0161u.<\/p>\n<blockquote><p>Infrastrukt\u00fara ako k\u00f3d znamen\u00e1 rozdelenie infra\u0161trukt\u00farneho k\u00f3du do samostatn\u00fdch vrstiev.<\/p><\/blockquote>\n<p>\nU n\u00e1s vo firme rozde\u013eujeme 3 z\u00e1kladn\u00e9 vrstvy, ktor\u00e9 s\u00fa ve\u013emi jasn\u00e9 a jednoduch\u00e9, ale m\u00f4\u017ee ich by\u0165 viac. M\u00f4\u017eete sa pozrie\u0165 na v\u00e1\u0161 infra\u0161trukt\u00farny k\u00f3d a poveda\u0165, \u010di m\u00e1te t\u00fato podmienku alebo nie. Ak sa nevy\u010dle\u0148uje \u017eiadna vrstva, treba si n\u00e1js\u0165 \u010das a trochu refaktorova\u0165.<br \/>\n<img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/71b6db022083137773df5c97d16da377.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Z\u00e1kladn\u00e1 vrstva<\/b>\u00a0je to, ako sa nastavuje OS, z\u00e1lohy a in\u00e9 n\u00edzko\u00farov\u0148ov\u00e9 veci, napr\u00edklad, ako sa zav\u00e1dza Kubernetes na z\u00e1kladnej \u00farovni.<\/p>\n<p><b>\u00darove\u0148 slu\u017eieb<\/b>\u00a0s\u00fa to slu\u017eby, ktor\u00e9 poskytujete v\u00fdvoj\u00e1rovi: logovanie ako slu\u017eba, monitoring ako slu\u017eba, datab\u00e1za ako slu\u017eba, vyva\u017eova\u010d ako slu\u017eba, fronta ako slu\u017eba, Continuous Delivery ako slu\u017eba \u2013 mno\u017estvo slu\u017eieb, ktor\u00e9 jednotliv\u00e9 t\u00edmy m\u00f4\u017eu poskytova\u0165 v\u00fdvoju. V\u0161etko toto je potrebn\u00e9 opisova\u0165 samostatn\u00fdmi modulmi vo va\u0161om syst\u00e9me spr\u00e1vy konfigur\u00e1cie.<\/p>\n<p><b>Vrstva, kde sa vytv\u00e1raj\u00fa aplik\u00e1cie<\/b> a popisuje, ako sa bud\u00fa zav\u00e1dza\u0165 na dvoch predch\u00e1dzaj\u00facich vrstv\u00e1ch.<\/p>\n<h3>Kontroln\u00e9 ot\u00e1zky<\/h3>\n<p>\nM\u00e1te vo firme spolo\u010dn\u00fd infra\u0161trukt\u00farny repozit\u00e1r? Kontrolujete technick\u00fd dlh v infra\u0161trukt\u00fare? Pou\u017e\u00edvate v\u00fdvojov\u00e9 praktiky v infra\u0161trukt\u00farnom repozit\u00e1ri? Je va\u0161a infra\u0161trukt\u00fara rozdelen\u00e1 do vrstiev? M\u00f4\u017eete sa porovna\u0165 so sch\u00e9mou Base-service-APP. Ako \u0165a\u017ek\u00e9 je urobi\u0165 zmenu? <\/p>\n<p>Ak ste sa stretli s t\u00fdm, \u017ee zapracovanie zmien trvalo jeden a pol d\u0148a, znamen\u00e1 to, \u017ee m\u00e1te technick\u00fd dlh a treba s n\u00edm pracova\u0165. Narazili ste na hranice technick\u00e9ho dlhu v infra\u0161trukt\u00farnom k\u00f3de. Pam\u00e4t\u00e1m si ve\u013ea tak\u00fdch hist\u00f3ri\u00ed, ke\u010f na zmenu nejak\u00e9ho CCTL museli prepisova\u0165 polovicu infra\u0161trukt\u00farneho k\u00f3du, preto\u017ee kreativita a t\u00fa\u017eba v\u0161etko automatizova\u0165 viedli k tomu, \u017ee v\u0161ade bolo v\u0161etko zalepen\u00e9, v\u0161etky rukov\u00e4te odstr\u00e1nen\u00e9, a treba refaktorova\u0165.<\/p>\n<h2>Nepreru\u0161en\u00e9 dod\u00e1vky<\/h2>\n<p>\nZhrnieme debet s kreditom. Najprv sa objav\u00ed popis infra\u0161trukt\u00fary, ktor\u00fd m\u00f4\u017ee by\u0165 dos\u0165 z\u00e1kladn\u00fd. Nie je potrebn\u00e9 v\u0161etko podrobne popisova\u0165, ale nejak\u00fd z\u00e1kladn\u00fd popis je potrebn\u00fd, aby ste s t\u00fdm mohli pracova\u0165. Inak nie je jasn\u00e9, na \u010dom by ste mali \u010falej stava\u0165 kontinu\u00e1lnu dod\u00e1vku. V\u0161etky tieto praktiky sa rozv\u00edjaj\u00fa s\u00fa\u010dasne, ke\u010f sa dostanete k DevOps, ale mus\u00edte za\u010da\u0165 s porozumen\u00edm toho, \u010do m\u00e1te a ako to spravova\u0165. To je pr\u00e1ve prax infra\u0161trukt\u00fara ako k\u00f3d.<\/p>\n<p>Akon\u00e1hle sa pochop\u00ed, \u010do m\u00e1te, ako to spravova\u0165, za\u010dnete vym\u00fd\u0161\u013ea\u0165, ako k\u00f3d v\u00fdvoj\u00e1ra \u010do najr\u00fdchlej\u0161ie odosla\u0165 do produkcie. M\u00e1m na mysli spolu s v\u00fdvoj\u00e1rom - pam\u00e4tajme na probl\u00e9m 'studn\u00ed', teda nie jednotlivci to vym\u00fd\u0161\u013eaj\u00fa, ale t\u00edm.<\/p>\n<p>Ke\u010f sme s\u00a0<b>Ivanom Evtu\u0161ovi\u010dom<\/b> uvideli prv\u00fa kni\u017eku <b>Jezza Hambla<\/b> a skupiny autorov <b>\u00abContinuous Delivery\u00bb<\/b>, ktor\u00e1 vy\u0161la v roku 2009, tak sme dlho rozm\u00fd\u0161\u013eali, ako prelo\u017ei\u0165 jej n\u00e1zov do sloven\u010diny. Chceli sme prelo\u017ei\u0165 ako 'St\u00e1le dod\u00e1va\u0165', ale, \u017eia\u013e, prelo\u017eili sme ako 'Nepretr\u017eit\u00e1 dod\u00e1vka'. Mysl\u00edm, \u017ee v na\u0161om n\u00e1zve je nie\u010do rusk\u00e9, s n\u00e1porom.<\/p>\n<h3>St\u00e1le dod\u00e1va\u0165 znamen\u00e1<\/h3>\n<p>\n<b>K\u00f3d, ktor\u00fd le\u017e\u00ed v produktovom repozit\u00e1ri, je v\u017edy pripraven\u00fd by\u0165 vytiahnut\u00fd do produkcie.<\/b>M\u00f4\u017ee by\u0165 aj nevytiahnut\u00fd, ale v\u017edy je na to pripraven\u00fd. Zodpovedaj\u00faco, v\u017edy p\u00ed\u0161ete k\u00f3d s \u0165a\u017eko vysvetlite\u013en\u00fdm pocitom ur\u010dit\u00e9ho nepokoja pod kostr\u010dou. Ten pocit ur\u010dit\u00e9ho nepokoja by mal by\u0165 pr\u00edtomn\u00fd - vyvol\u00e1va ment\u00e1lne procesy, ktor\u00e9 umo\u017e\u0148uj\u00fa p\u00edsa\u0165 k\u00f3d trochu inak. To by malo by\u0165 zakotven\u00e9 v pravidl\u00e1ch v r\u00e1mci v\u00fdvoja.<\/p>\n<p><b>Aby ste mohli st\u00e1le dod\u00e1va\u0165, potrebujete form\u00e1t artefaktu, ktor\u00fd prech\u00e1dza infra\u0161trukt\u00farnou platformou. <\/b>Ak h\u00e1dzate r\u00f4zne form\u00e1ty 'odpadov' po infra\u0161trukt\u00farnej platforme, st\u00e1va sa neuniformnou, \u0165a\u017eko sa udr\u017euje a vznik\u00e1 probl\u00e9m technick\u00e9ho dlhu. Form\u00e1t artefaktu je potrebn\u00e9 zjednoti\u0165 - to je tie\u017e kolekt\u00edvna \u00faloha: treba sa v\u0161etci spolu zhroma\u017edi\u0165, po\u0161kraba\u0165 mozgy a vymyslie\u0165 tento form\u00e1t.<\/p>\n<p><b>Artefakt sa nepretr\u017eite zlep\u0161uje a men\u00ed pod produk\u010dn\u00fdm prostred\u00edm po\u010das prechodu cez dod\u00e1vkov\u00fd pipeline. <\/b>Ke\u010f artefakt prech\u00e1dza pipeline, neust\u00e1le sa stret\u00e1va s nejak\u00fdmi prek\u00e1\u017ekami, ktor\u00e9 s\u00fa podobn\u00e9 t\u00fdm, s ktor\u00fdmi sa stret\u00e1va artefakt, ktor\u00fd uv\u00e1dzate do produkcie. Ak sa v klasickej v\u00fdvoji o to star\u00e1 syst\u00e9mov\u00fd administr\u00e1tor, ktor\u00fd rob\u00ed nasadenie, v DevOps procese to prebieha neust\u00e1le: tu ho pritom testovali, tu ho hodili do Kubernetes klastru, ktor\u00fd je viac-menej podobn\u00fd produkcii, a tu n\u00e1hle spustili z\u00e1\u0165a\u017eov\u00e9 testy.<\/p>\n<p>Niekedy to pripom\u00edna hru Pac-Man - artefakt prech\u00e1dza nejak\u00fdm pr\u00edbehom. Pri tom je d\u00f4le\u017eit\u00e9 kontrolova\u0165, \u010di k\u00f3d naozaj prech\u00e1dza pr\u00edbehom a s\u00favis\u00ed s va\u0161ou produkciou. Pr\u00edbehy z produkcie je mo\u017en\u00e9 zasadi\u0165 do procesu Continuous Delivery: bolo tak, \u017ee nie\u010do zlyhalo, tak teraz tento sc\u00e9nar jednoducho naprogramujeme do syst\u00e9mu. Ka\u017ed\u00fd raz k\u00f3d prejde t\u00fdmto sc\u00e9narom tie\u017e a nabud\u00face sa s touto probl\u00e9mou nestretnete. O \u0148om sa dozviete ove\u013ea sk\u00f4r, ako sa dostane k v\u00e1\u0161mu z\u00e1kazn\u00edkovi.<\/p>\n<p><b>R\u00f4zne strat\u00e9gie nasadenia. <\/b>Napr\u00edklad pou\u017e\u00edvate AB testovanie alebo kan\u00e1rske nasadenia, aby ste r\u00f4zne '\u010falej poc\u00edtili' k\u00f3d na r\u00f4znych klientoch, z\u00edskali inform\u00e1cie o tom, ako k\u00f3d funguje, a ove\u013ea sk\u00f4r, ako sa dostane na 100 mili\u00f3nov pou\u017e\u00edvate\u013eov.<\/p>\n<p>\u201eNeust\u00e1le dod\u00e1va\u0165\u201c vyzer\u00e1 takto.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/4b33e69a649a3ff862cc4b9301c49d81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Proces dod\u00e1vky Dev, CI, Test, PreProd, Prod - to nie je samostatn\u00e9 prostredie, to s\u00fa f\u00e1zy alebo stanice s nezni\u010dite\u013en\u00fdmi s\u00famami, ktor\u00fdmi prech\u00e1dza v\u00e1\u0161 artefakt.<\/p><\/blockquote>\n<p>\nAk m\u00e1te infra\u0161trukt\u00farny k\u00f3d, ktor\u00fd je pop\u00edsan\u00fd ako Base Service APP, tak v\u00e1m pom\u00e1ha <b>nezabudn\u00fa\u0165 \u017eiadne scen\u00e1re<\/b>, a zap\u00edsa\u0165 ich tie\u017e vo forme k\u00f3du pre tento artefakt, <b>pos\u00fava\u0165 artefakt<\/b> a meni\u0165 ho po\u010das pohybu.<\/p>\n<h3>Ot\u00e1zky na sebaosvietenie<\/h3>\n<p>\nTrv\u00e1 od opisu funkcie po nasadenie do produkcie v 95 % pr\u00edpadov menej ako t\u00fd\u017ede\u0148? Zlep\u0161uje sa kvalita artefaktu na ka\u017edom kroku pipeline? Existuje pr\u00edbeh, ktor\u00fdm prech\u00e1dza? Pou\u017e\u00edvate r\u00f4zne strat\u00e9gie nasadenia?<\/p>\n<p>Ak s\u00fa v\u0161etky odpovede \u00e1no, tak ste neuverite\u013ene skvel\u00ed! Nap\u00ed\u0161te odpovede do koment\u00e1rov - budem r\u00e1d.)<\/p>\n<h3>Sp\u00e4tn\u00e1 v\u00e4zba<\/h3>\n<p>\nToto je najn\u00e1ro\u010dnej\u0161ia prax zo v\u0161etk\u00fdch. Na konferencii DevOpsConf, kolega z Infobip rozpr\u00e1val o tejto praxi a trochu sa zamotal do slov, preto\u017ee je to naozaj ve\u013emi zlo\u017eit\u00e1 prax, kde je potrebn\u00e9 monitorova\u0165 naozaj v\u0161etko!<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/d13c9964ad7686e68d51f1608bd0c1a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNapr\u00edklad, d\u00e1vno, ke\u010f som pracoval v Qik a uvedomili sme si, \u017ee mus\u00edme monitorova\u0165 naozaj v\u0161etko. Urobili sme to a v Zabbix m\u00e1me 150 000 polo\u017eiek, ktor\u00e9 sa neust\u00e1le monitoruj\u00fa. Bolo to desiv\u00e9, technick\u00fd riadite\u013e kr\u00fatil prstom pri temple:<\/p>\n<p><i>\u2014 Chlapci, pre\u010do za\u0165a\u017eujete server nejak\u00fdmi nezmyslami?<\/i><\/p>\n<p>Ale potom sa stala vec, ktor\u00e1 uk\u00e1zala, \u017ee to naozaj je ve\u013emi dobr\u00e1 strat\u00e9gia.<\/p>\n<p>Jedna slu\u017eba za\u010dala neust\u00e1le pada\u0165. Zauj\u00edmav\u00e9 je, \u017ee p\u00f4vodne nepadala, preto\u017ee na \u0148u nebol p\u00edsan\u00fd k\u00f3d \u2013 bola to z\u00e1kladn\u00e1 br\u00e1na, ktor\u00e1 prakticky nemala obchodn\u00fa funkcionalitu \u2013 iba pren\u00e1\u0161ala spr\u00e1vy medzi jednotliv\u00fdmi slu\u017ebami. Slu\u017eba sa nemenila 4 mesiace a zrazu za\u010dala pada\u0165 s chybou \u201eSegmentation fault\u201c.<\/p>\n<p>Boli sme v \u0161oku, otvorili sme na\u0161e grafy v Zabbix a zistili sme, \u017ee pred 1,5 t\u00fd\u017ed\u0148om sa v\u00fdrazne zmenilo spr\u00e1vanie po\u017eiadaviek v API slu\u017ebe, ktor\u00e1 pou\u017e\u00edva t\u00fato br\u00e1nu. Potom sme si v\u0161imli, \u017ee sa zmenila frekvencia posielania ur\u010dit\u00e9ho typu spr\u00e1v. Potom sme zistili, \u017ee ide o android klientov. Sp\u00fdtali sme sa:<\/p>\n<p><i>\u2014 Chlapci, \u010do sa v\u00e1m stalo pred 1,5 t\u00fd\u017ed\u0148om?<\/i><\/p>\n<p>Na to sme dostali zauj\u00edmav\u00fd pr\u00edbeh o tom, \u017ee prepracovali UI. \u0164a\u017eko by niekto povedal, \u017ee zmenili HTTP kni\u017enicu. Pre android klientov je to ako vymeni\u0165 mydlo v k\u00fape\u013eni \u2013 oni si to jednoducho nepam\u00e4taj\u00fa. Po 40 min\u00fatach rozhovoru sme zistili, \u017ee predsa len zmenili HTTP kni\u017enicu a zmenili sa jej predvolen\u00e9 \u010dasovanie. To viedlo k zmene spr\u00e1vania sa prev\u00e1dzky na API serveri, \u010do vyvolalo situ\u00e1ciu, ktor\u00e1 sp\u00f4sobila pretekanie vn\u00fatri br\u00e1ny a za\u010dala pada\u0165.<\/p>\n<p><b>Bez hlbok\u00e9ho monitorovania by to bolo v\u00f4bec nemo\u017en\u00e9 odhali\u0165.<\/b>. Ak v organiz\u00e1cii existuje probl\u00e9m s \"stud\u0148ami\", ke\u010f si ka\u017ed\u00fd h\u00e1d\u017ee zodpovednos\u0165 na druh\u00e9ho, m\u00f4\u017ee to trva\u0165 roky. Jednoducho re\u0161tartujete server, preto\u017ee nie je mo\u017en\u00e9 probl\u00e9m vyrie\u0161i\u0165. Ke\u010f monitorujete, sledujete a zaznamen\u00e1vate v\u0161etky udalosti, ktor\u00e9 m\u00e1te, a pou\u017e\u00edvate monitoring ako testovanie \u2014 p\u00ed\u0161ete k\u00f3d a okam\u017eite ukazujete, ako ho monitorova\u0165, tie\u017e vo forme k\u00f3du (u\u017e m\u00e1me infra\u0161trukt\u00faru ako k\u00f3d), v\u0161etko sa st\u00e1va jasn\u00fdm ako na dlani. Aj tak\u00e9 zlo\u017eit\u00e9 probl\u00e9my sa \u013eahko sleduj\u00fa.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/86d286f36363d773852b4aa9808cc7a4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Zbierajte v\u0161etky inform\u00e1cie o tom, \u010do sa deje s artefaktom na ka\u017edej f\u00e1ze procesu dod\u00e1vky \u2014 nie v produkcii.<\/p><\/blockquote>\n<p>\nNahrajte monitoring na CI, a tam u\u017e bud\u00fa vidite\u013en\u00e9 nejak\u00e9 z\u00e1kladn\u00e9 veci. \u010ealej ich uvid\u00edte aj v Test, aj v PredProd, aj v z\u00e1\u0165a\u017eovom testovan\u00ed. Zbierajte inform\u00e1cie vo v\u0161etk\u00fdch f\u00e1zach, a to nielen metriky, \u0161tatistiky, ale aj logy: ako bolo aplikovan\u00e9, anom\u00e1lie \u2014 zbierajte v\u0161etko. <\/p>\n<p>Inak bude \u0165a\u017ek\u00e9 sa v tom vyzna\u0165. U\u017e som spom\u00ednal, \u017ee DevOps je v\u00e4\u010d\u0161ia zlo\u017eitos\u0165. <b>Aby ste sa vysporiadali s touto zlo\u017eitos\u0165ou, potrebujete norm\u00e1lnu analytiku.<\/b>.<\/p>\n<h3>Ot\u00e1zky pre seba-kontrolu<\/h3>\n<p>\n<b>Je v\u00e1\u0161 monitoring a logovanie n\u00e1strojom v\u00fdvoja pre v\u00e1s?<\/b> Myslia va\u0161i v\u00fdvoj\u00e1ri, a vy vr\u00e1tane, ke\u010f p\u00ed\u0161u k\u00f3d, na to, ako ho monitorova\u0165?<\/p>\n<p><b>Zis\u0165ujete o probl\u00e9moch od klientov? Rozumiete klientovi lep\u0161ie z monitorovania a logovania?<\/b> <b>Ch\u00e1pete syst\u00e9m lep\u0161ie z monitorovania a logovania?<\/b> Men\u00edte syst\u00e9m len preto, \u017ee vid\u00edte, \u017ee trend v syst\u00e9me rastie a ch\u00e1pete, \u017ee za \u010fal\u0161ie 3 t\u00fd\u017edne to v\u0161etko skrachuje? <\/p>\n<p>Ke\u010f m\u00e1te tieto tri komponenty, m\u00f4\u017eete prem\u00fd\u0161\u013ea\u0165 o tom, ak\u00fa m\u00e1te v spolo\u010dnosti infra\u0161trukt\u00farnu platformu.<\/p>\n<h2>Infra\u0161trukt\u00farna platforma <\/h2>\n<p>\nZmysel nespo\u010d\u00edva v tom, \u017ee ide o s\u00fabor roztrhnut\u00fdch n\u00e1strojov, ktor\u00e9 s\u00fa v ka\u017edej spolo\u010dnosti.<\/p>\n<blockquote><p>Zmysel infra\u0161trukt\u00farnej platformy spo\u010d\u00edva v tom, \u017ee v\u0161etky t\u00edmy pou\u017e\u00edvaj\u00fa tieto n\u00e1stroje a rozv\u00edjaj\u00fa ich spolo\u010dne.<\/p><\/blockquote>\n<p>\nJe jasn\u00e9, \u017ee s\u00fa samostatn\u00e9 t\u00edmy, ktor\u00e9 s\u00fa zodpovedn\u00e9 za rozvoj jednotliv\u00fdch \u010dast\u00ed infra\u0161trukt\u00farnej platformy. Ale pritom zodpovednos\u0165 za rozvoj, funk\u010dnos\u0165, propag\u00e1ciu infra\u0161trukt\u00farnej platformy nesie ka\u017ed\u00fd in\u017einier.<b> Na vn\u00fatornej \u00farovni sa to st\u00e1va spolo\u010dn\u00fdm n\u00e1strojom<\/b>. <\/p>\n<p><b>V\u0161etky t\u00edmy rozv\u00edjaj\u00fa infra\u0161trukt\u00farnu platformu, staraj\u00fa sa o \u0148u ako o svoju vlastn\u00fa IDE<\/b>. Vo svojom IDE si in\u0161talujete r\u00f4zne pluginy, aby v\u0161etko bolo pekn\u00e9 a r\u00fdchle, nastavujete skratky. Ke\u010f otvor\u00edte Sublime, Atom alebo Visual Studio Code, objavia sa tam chyby k\u00f3du a vy si uvedom\u00edte, \u017ee pracova\u0165 je takmer nemo\u017en\u00e9, r\u00fdchlo v\u00e1s to sklamalo a utiekli ste opravi\u0165 svoje IDE.<\/p>\n<p>Rovnako sa starajte aj o svoju infra\u0161trukt\u00farnu platformu. Ak ch\u00e1pete, \u017ee s \u0148ou nie\u010do nie je v poriadku, zanechajte \u017eiados\u0165, ak to nem\u00f4\u017eete opravi\u0165 sami. Ak je to nie\u010do jednoduch\u00e9 - opravte to sami, po\u0161lite pull request - chalani to zva\u017euj\u00fa, prid\u00e1vaj\u00fa. Toto je trochu in\u00fd pr\u00edstup k in\u017einierskemu n\u00e1strojov\u00e9mu s\u00faboru v hlave v\u00fdvoj\u00e1ra.<\/p>\n<p><b>Infra-strukt\u00farna platforma zabezpe\u010duje prenos artefaktu od v\u00fdvoja klientovi s neust\u00e1lym zvy\u0161ovan\u00edm kvality<\/b>. V IP je naprogramovan\u00fd s\u00fabor pr\u00edbehov, ktor\u00e9 sa vyskytuj\u00fa s k\u00f3dom v produkcii. Po rokoch v\u00fdvoja t\u00fdchto pr\u00edbehov prib\u00fada, niektor\u00e9 z nich s\u00fa jedine\u010dn\u00e9 a patria iba v\u00e1m - nie je mo\u017en\u00e9 ich n\u00e1js\u0165 na internete. <\/p>\n<p><b>V tomto momente sa infra\u0161trukt\u00farna platforma st\u00e1va va\u0161ou konkuren\u010dnou v\u00fdhodou<\/b>, preto\u017ee v sebe obsahuje to, \u010do rival nem\u00e1. \u010c\u00edm hlb\u0161ia je va\u0161a IP, t\u00fdm v\u00e4\u010d\u0161ia je va\u0161a konkuren\u010dn\u00e1 v\u00fdhoda z h\u013eadiska Time-to-market. Tu sa objavuje <b>probl\u00e9m vendor lock<\/b>: m\u00f4\u017eete si vzia\u0165 cudziu platformu, ale vyu\u017e\u00edvan\u00edm cudzieho sk\u00fasenosti nebudete rozumie\u0165, do akej miery je relevantn\u00fd pre v\u00e1s. \u00c1no, nie ka\u017ed\u00e1 spolo\u010dnos\u0165 m\u00f4\u017ee postavi\u0165 platformu ako Amazon. Je to zlo\u017eit\u00e1 hranica, kde s\u00fa sk\u00fasenosti firmy relevantn\u00e9 k jej postaveniu na trhu, a dovoli\u0165 vendor lock tam nem\u00f4\u017eete. O tom je tie\u017e d\u00f4le\u017eit\u00e9 prem\u00fd\u0161\u013ea\u0165.<\/p>\n<h3>Sch\u00e9ma<\/h3>\n<p>\nToto je z\u00e1kladn\u00e1 sch\u00e9ma infra\u0161trukt\u00farnej platformy, ktor\u00e1 v\u00e1m pom\u00f4\u017ee nastavi\u0165 v\u0161etky praktiky a procesy v DevOps spolo\u010dnosti.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/af93f105c15bd0a24f25cc867dab9e8e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPozrime sa, z \u010doho sa sklad\u00e1.<\/p>\n<p><b>Syst\u00e9m orchestr\u00e1cie zdrojov<\/b>, ktor\u00fd poskytuje CPU, pam\u00e4\u0165, disk aplik\u00e1ci\u00e1m a \u010fal\u0161\u00edm slu\u017eb\u00e1m. Nad t\u00fdmto s\u00fa <b>n\u00edzko\u00farov\u0148ov\u00e9 slu\u017eby<\/b>: monitorovanie, logovanie, CI\/CD Engine, \u00falo\u017eisko artefaktov, infra\u0161trukt\u00fara ako k\u00f3d syst\u00e9mov.<\/p>\n<p><b>Slu\u017eby vy\u0161\u0161ej \u00farovne<\/b>: datab\u00e1za ako slu\u017eba, fronty ako slu\u017eba, Load Balance ako slu\u017eba, resizing obr\u00e1zkov ako slu\u017eba, Big Data fabrika ako slu\u017eba. Nad t\u00fdm\u00a0\u2014 <b>pipeline, ktor\u00fd neust\u00e1le dod\u00e1va modifikovan\u00fd k\u00f3d v\u00e1\u0161mu klientovi<\/b>.<\/p>\n<p>Z\u00edskavate inform\u00e1cie o tom, ako va\u0161e\u00a0softv\u00e9r funguje u v\u00e1\u0161ho klienta, men\u00edte, znovu dod\u00e1vate tento k\u00f3d, z\u00edskavate inform\u00e1cie \u2014 a tak neust\u00e1le vyv\u00edjate aj infrastrukt\u00farnu platformu, aj va\u0161e softv\u00e9r.<\/p>\n<p>Na sch\u00e9me sa dod\u00e1vac\u00ed pipeline sklad\u00e1 z mnoh\u00fdch f\u00e1z. Ale to je principi\u00e1lna sch\u00e9ma, ktor\u00e1 je uveden\u00e1 len ako pr\u00edklad \u2014 nemus\u00edte ju opakova\u0165 jednu k jednej. F\u00e1zy interaguj\u00fa so slu\u017ebami ako so slu\u017ebami \u2014 ka\u017ed\u00fd blok platformy nesie svoj pr\u00edbeh: ako sa pride\u013euj\u00fa zdroje, ako sa aplik\u00e1cia sp\u00fa\u0161\u0165a, pracuje so zdrojmi, monitoruje, men\u00ed.<\/p>\n<p>Je d\u00f4le\u017eit\u00e9 ch\u00e1pa\u0165, \u017ee ka\u017ed\u00e1 \u010das\u0165 platformy nesie pr\u00edbeh, a p\u00fdta\u0165 sa seba \u2014 ak\u00fd pr\u00edbeh nesie tento blok, mo\u017eno by ho malo vyhodi\u0165 a nahradi\u0165 externou slu\u017ebou. Napr\u00edklad, m\u00f4\u017ee by\u0165 namiesto bloku nasaden\u00fd Okmeter? Mo\u017eno, \u017ee chlapci u\u017e zdokonalili t\u00fato expert\u00edzu ove\u013ea viac ako my. Ale mo\u017eno aj nie \u2014 mo\u017eno m\u00e1me unik\u00e1tnu expert\u00edzu, mus\u00edme nasadi\u0165 Prometheus a vyv\u00edja\u0165 to \u010falej.<\/p>\n<h3>Vytvorenie platformy<\/h3>\n<p>\nTo je zlo\u017eit\u00fd komunika\u010dn\u00fd proces. Ke\u010f m\u00e1te z\u00e1kladn\u00e9 praktiky, sp\u00fa\u0161\u0165ate komunik\u00e1ciu medzi r\u00f4znymi in\u017einiermi a odborn\u00edkmi, ktor\u00ed vypracov\u00e1vaj\u00fa po\u017eiadavky a \u0161tandardy a neust\u00e1le ich menia ku r\u00f4znym n\u00e1strojom a pr\u00edstupom. Tu je d\u00f4le\u017eit\u00e1 kult\u00fara, ktor\u00e1 existuje v DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/0c123a3ebdeea96e32609e847568d917.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nS kult\u00farou je v\u0161etko ve\u013emi jednoduch\u00e9 \u2014 <b>je to spolupr\u00e1ca a komunik\u00e1cia<\/b>, teda t\u00fa\u017eba pracova\u0165 spolo\u010dne v jednom poli, t\u00fa\u017eba ovl\u00e1da\u0165 jeden n\u00e1stroj spolu. Tu nie je \u017eiadna raketov\u00e1 veda \u2014 v\u0161etko je ve\u013emi jednoduch\u00e9, ban\u00e1lne. Napr\u00edklad, v\u0161etci \u017eijeme vo vchode a udr\u017eiavame ho \u010dist\u00fd \u2014 tak\u00e1to \u00farove\u0148 kult\u00fary.<\/p>\n<h3>A \u010do u v\u00e1s?<\/h3>\n<p>\nOp\u00e4\u0165 ot\u00e1zky, ktor\u00e9 si m\u00f4\u017eete polo\u017ei\u0165.<\/p>\n<p>Je vy\u010dlenen\u00e1 infrastrukt\u00farna platforma? Kto zodpoved\u00e1 za jej rozvoj? Rozumiete konkurentn\u00fdm v\u00fdhod\u00e1m svojej infrastrukt\u00farnej platformy?<\/p>\n<p>Tieto ot\u00e1zky si treba neust\u00e1le kl\u00e1s\u0165. Ak je mo\u017en\u00e9 nie\u010do prenies\u0165 na extern\u00e9 slu\u017eby - treba to prenies\u0165, ak extern\u00e1 slu\u017eba za\u010dne blokova\u0165 v\u00e1\u0161 pokrok, je potrebn\u00e9 vybudova\u0165 syst\u00e9m vo vn\u00fatri seba.<\/p>\n<h2>Tak\u017ee, DevOps...<\/h2>\n<p>\n\u2026 je zlo\u017eit\u00fd syst\u00e9m, ktor\u00fd by mal obsahova\u0165:<\/p>\n<ul>\n<li>Digit\u00e1lny produkt.\n<\/li>\n<li>Obchodn\u00e9 moduly, ktor\u00e9 tento digit\u00e1lny produkt rozv\u00edjaj\u00fa.\n<\/li>\n<li>Produktov\u00e9 t\u00edmy, ktor\u00e9 p\u00ed\u0161u k\u00f3d.\n<\/li>\n<li>Praktiky Continuous Delivery.\n<\/li>\n<li>Platformy ako slu\u017eba.\n<\/li>\n<li>Infrastrukt\u00fara ako slu\u017eba.\n<\/li>\n<li>Infrastrukt\u00fara ako k\u00f3d.\n<\/li>\n<li>Samostatn\u00e9 praktiky udr\u017eiavania spo\u013eahlivosti, zabudovan\u00e9 vo vn\u00fatri DevOps.\n<\/li>\n<li>Praktika sp\u00e4tnej v\u00e4zby, ktor\u00e1 toto v\u0161etko opisuje.\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"\u010co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/2a202db66a63b6d5b231da0573e59307.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00fato sch\u00e9mu m\u00f4\u017eete vyu\u017ei\u0165 a zv\u00fdrazni\u0165 v nej to, \u010do u\u017e vo va\u0161ej spolo\u010dnosti existuje v nejakej forme: toto sa vyvinulo alebo to e\u0161te treba rozvin\u00fa\u0165.<\/p>\n<blockquote><p>U\u017e za p\u00e1r t\u00fd\u017ed\u0148ov sa uskuto\u010dn\u00ed <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf 2019<\/a><\/noindex>. v r\u00e1mci RIT++. Pr\u00ed\u010fte na konferenciu, kde v\u00e1s \u010dak\u00e1 mno\u017estvo skvel\u00fdch prezent\u00e1ci\u00ed o kontinu\u00e1lnej dod\u00e1vke, infra\u0161trukt\u00fare ako k\u00f3d a DevOps transform\u00e1cii. <noindex><a rel=\"nofollow\" href=\"https:\/\/conf.ontico.ru\/conference\/join\/rit2019.html?popup=3\">Rezervujte si l\u00edstky<\/a><\/noindex>, posledn\u00fd term\u00edn cien 20. m\u00e1ja<\/p><\/blockquote>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/448492\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431\u00a0\u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u00a0\u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430\u00a0\u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e\u00a0\u0435\u0441\u043b\u0438 \u0432\u044b\u00a0\u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e\u00a0\u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044f\u00a0\u2014 \u043d\u0435\u0442. \u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0422\u0438\u0442\u043e\u0432 (@osminog), \u0438\u00a0\u043c\u044b\u00a0\u043c\u044b\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u00a0DevOps \u0438\u00a0\u044f\u00a0\u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0414\u043e\u043b\u0433\u043e \u0434\u0443\u043c\u0430\u043b, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043e\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\u00a0\u2014 \u0442\u0435\u0445, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25405,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33725","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=\"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.\" \/>\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\/sk\/blog\/administrirovanie\/chto-takoe-devops\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/chto-takoe-devops\" \/>\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-31T18:54:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:54:21+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\u010co je DevOps | ProHoster","description":"Defin\u00edcia DevOps je ve\u013emi zlo\u017eit\u00e1, preto sa mus\u00edme zaka\u017ed\u00fdm znovu spusti\u0165 diskusiu na t\u00fato t\u00e9mu. Iba na Habre je tis\u00edc publik\u00e1ci\u00ed na toto t\u00e9ma. Ale ak to \u010d\u00edtate, ur\u010dite viete, \u010do je DevOps.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/chto-takoe-devops","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps | ProHoster","og:description":"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/chto-takoe-devops","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-31T18:54:21+00:00","article:modified_time":"2019-10-31T18:54:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33725","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 16:27:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:34:13","updated":"2026-01-21 16:27:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/33725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=33725"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/33725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/25405"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=33725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=33725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=33725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}