{"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\/cs\/blog\/administrirovanie\/chto-takoe-devops","title":{"rendered":"Co je DevOps","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Definice DevOps je velmi slo\u017eit\u00e1, a proto mus\u00edme poka\u017ed\u00e9 znovu spou\u0161t\u011bt diskuzi o tom. Jen na Habr je tis\u00edc publikac\u00ed na toto t\u00e9ma. Ale pokud to \u010dtete, ur\u010dit\u011b v\u00edte, co DevOps je. Proto\u017ee j\u00e1 to nev\u00edm. Ahoj, jmenuji se <b>Alexander Titov (@<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/osminog\/\">osminog<\/a><\/noindex><\/b>), a budeme si jen pov\u00eddat o DevOps a j\u00e1 se pod\u011bl\u00edm o sv\u00e9 zku\u0161enosti.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/b3de97caab6db6b0e117f2637a5cbab8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDlouho jsem p\u0159em\u00fd\u0161lel, jak ud\u011blat sv\u016fj p\u0159\u00edb\u011bh u\u017eite\u010dn\u00fdm, proto zde bude mnoho ot\u00e1zek - t\u011bch, kter\u00e9 si s\u00e1m pokl\u00e1d\u00e1m, a t\u011bch, kter\u00e9 pokl\u00e1d\u00e1m klient\u016fm na\u0161\u00ed spole\u010dnosti. Odpov\u011bd\u00ed na tyto ot\u00e1zky se porozum\u011bn\u00ed zlep\u0161\u00ed. \u0158eknu, pro\u010d je DevOps d\u016fle\u017eit\u00fd z m\u00e9ho pohledu, co to vlastn\u011b je, op\u011bt z m\u00e9 pozice, a jak pochopit, \u017ee se posouv\u00e1te k DevOps, op\u011bt z m\u00e9ho pohledu. Posledn\u00ed bod bude skrze ot\u00e1zky. Odpov\u011bdi na n\u011b si m\u016f\u017eete polo\u017eit sami a zjistit, zda va\u0161e spole\u010dnost sm\u011b\u0159uje k DevOps nebo jsou v tom n\u011bjak\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=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nN\u011bjakou dobu jsem jezdil na vln\u00e1ch f\u00faz\u00ed a akvizic. Nejd\u0159\u00edve jsem pracoval v mal\u00e9m startupu Qik, kter\u00fd pak koupila trochu v\u011bt\u0161\u00ed firma Skype, kterou pak koupila je\u0161t\u011b v\u011bt\u0161\u00ed firma Microsoft. V tuto chv\u00edli jsem z\u00edskal pohled na to, jak se vn\u00edm\u00e1n\u00ed DevOps transformuje v r\u016fzn\u011b velk\u00fdch firm\u00e1ch. Po tomto jsem byl zv\u011bdav\u00fd pod\u00edvat se na DevOps z hlediska trhu a my s kolegy jsme zalo\u017eili spole\u010dnost Ekspress 42. U\u017e 6 let se na n\u00ed pohybujeme po vln\u00e1ch trhu.<\/p>\n<p>Krom\u011b toho jsem jedn\u00edm z organiz\u00e1tor\u016f komunity DevOps Moscow a organiz\u00e1tor DevOps -Days 2017, ale v roce 2018 jsem to neorganizoval. Ekspress 42 spolupracuje s mnoha firmami. Rozv\u00edj\u00edme tam DevOps, sledujeme, jak to prob\u00edh\u00e1, d\u011bl\u00e1me z\u00e1v\u011bry, analyzujeme, sd\u00edl\u00edme sv\u00e9 z\u00e1v\u011bry s ostatn\u00edmi, \u0161kol\u00edme lidi v praktic\u00edch DevOps. Obecn\u011b se sna\u017e\u00edme zvy\u0161ovat zku\u0161enosti a odbornost v t\u00e9to oblasti.<\/p>\n<h2>Pro\u010d DevOps<\/h2>\n<p>\nPrvn\u00ed ot\u00e1zka, kter\u00e1 tr\u00e1p\u00ed v\u0161echny a v\u017edy - pro\u010d? Mnoz\u00ed si mysl\u00ed, \u017ee DevOps je jen automatizace nebo n\u011bco podobn\u00e9ho, co ji\u017e bylo v ka\u017ed\u00e9 spole\u010dnosti.<\/p>\n<p><i>- M\u011bli jsme Continuous Integration - to znamen\u00e1, \u017ee u\u017e byl DevOps, a pro\u010d je to v\u0161echno pot\u0159eba? Tam na z\u00e1pad\u011b si d\u011blaj\u00ed srandu, a n\u00e1m p\u0159ek\u00e1\u017eej\u00ed v pr\u00e1ci!<\/i><\/p>\n<p>Za 9 let v\u00fdvoje komunity a metodologie u\u017e je jasn\u00e9, \u017ee to nen\u00ed jen marketingov\u00e1 p\u00f3za, ale st\u00e1le nen\u00ed \u00fapln\u011b jasn\u00e9, pro\u010d je to pot\u0159ebn\u00e9. Jako ka\u017ed\u00fd n\u00e1stroj a proces m\u00e1 DevOps konkr\u00e9tn\u00ed c\u00edle, kter\u00e9 nakonec napl\u0148uje.<\/p>\n<p>To v\u0161e souvis\u00ed s t\u00edm, \u017ee sv\u011bt se m\u011bn\u00ed. Vzdaluje se od podoby enterprise, kdy firmy m\u00ed\u0159\u00ed p\u0159\u00edmo za sv\u00fdm snem, jak zp\u00edval n\u00e1\u0161 klasick\u00fd petersk\u00fd autor, z bodu A do bodu B podle ur\u010dit\u00e9 strategie, s jasn\u011b definovanou strukturou. <\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/bb78da721e949d89e58756d0d68bb56d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>V z\u00e1sad\u011b by m\u011blo b\u00fdt v\u0161e v IT postaveno podle tohoto p\u0159\u00edstupu. Zde se IT pou\u017e\u00edv\u00e1 v\u00fdhradn\u011b k automatizaci proces\u016f.<\/p><\/blockquote>\n<p>\nAutomatizace se \u010dasto nem\u011bn\u00ed, proto\u017ee kdy\u017e firma jede po vyjet\u00e9 koleji \u2014 co tam m\u011bnit? Kdy\u017e to funguje \u2014 nechej to b\u00fdt. Dnes se v\u0161ak p\u0159\u00edstupy ve sv\u011bt\u011b m\u011bn\u00ed, a ten, kter\u00fd se naz\u00fdv\u00e1 Agile, \u0159\u00edk\u00e1, \u017ee kone\u010dn\u00e9 m\u00edsto B nen\u00ed hned vid\u011bt.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/06553eff16fec2ece77aad454b8d8686.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKdy\u017e firma jde trhem a spolupracuje se z\u00e1kazn\u00edkem \u2014 neust\u00e1le zkoum\u00e1 trh a m\u011bn\u00ed kone\u010dn\u00fd c\u00edl B. \u010c\u00edm \u010dast\u011bji firma m\u011bn\u00ed sv\u016fj sm\u011br, t\u00edm \u00fasp\u011b\u0161n\u011bj\u0161\u00ed je nakonec, proto\u017ee si vyb\u00edr\u00e1 v\u00edce tr\u017en\u00edch nika.<\/p>\n<p>Strategie demonstruje zaj\u00edmav\u00e1 firma, o kter\u00e9 jsem se ned\u00e1vno dozv\u011bd\u011bl. One Box Shave \u2014 slu\u017eba pro dod\u00e1vku hol\u00edc\u00edch strojk\u016f a holic\u00edch pot\u0159eb na z\u00e1klad\u011b p\u0159edplatn\u00e9ho v krabi\u010dce. Um\u011bj\u00ed p\u0159izp\u016fsobit svoji \"krabi\u010dku\" r\u016fzn\u00fdm klient\u016fm. Tomu se v\u011bnuje specifick\u00fd software, kter\u00fd pot\u00e9 pos\u00edl\u00e1 objedn\u00e1vku na korejskou fabriku vyr\u00e1b\u011bj\u00edc\u00ed zbo\u017e\u00ed.<\/p>\n<p>Tento produkt zakoupila firma Unilever za 1 miliardu dolar\u016f. Nyn\u00ed konkuruje Gillette a z\u00edskal od n\u011bj zna\u010dn\u00fd pod\u00edl z\u00e1kazn\u00edk\u016f na americk\u00e9m trhu. One Box Shave \u0159\u00edk\u00e1:<\/p>\n<p><i>\u2014 4 \u010depele? Opravdu? Pro\u010d v\u00e1m to je pot\u0159eba \u2014 to nijak nezlep\u0161uje kvalitu holen\u00ed. Speci\u00e1ln\u011b vybran\u00fd kr\u00e9m, v\u016fn\u011b a kvalitn\u00ed holic\u00ed strojek se dv\u011bma \u010depelemi vy\u0159e\u0161\u00ed mnohem v\u00edce probl\u00e9m\u016f ne\u017e ty bl\u00e1zniv\u00e9 4 \u010depele Gillette! Tak brzy dojdeme a\u017e ke 10?<\/i><\/p>\n<p>Tak se sv\u011bt m\u011bn\u00ed. Unilever prohla\u0161uj\u00ed, \u017ee maj\u00ed skv\u011bl\u00fd IT syst\u00e9m, kter\u00fd to umo\u017e\u0148uje. Nakonec to vypad\u00e1 jako koncept <b>Time-to-market<\/b>, o kter\u00e9m u\u017e mluvili snad v\u0161ichni.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/fc10a54a6848a50f5d4c1fb36de8d921.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSmysl Time-to-market nen\u00ed v tom, jak \u010dasto se nasazujeme. M\u016f\u017eeme \u010dasto nasazovat, ale p\u0159itom m\u00edt dlouh\u00e9 cykly vyd\u00e1n\u00ed. Pokud na sebe naskl\u00e1d\u00e1me t\u0159\u00ed m\u011bs\u00ed\u010dn\u00ed cykly vyd\u00e1n\u00ed s posunem o t\u00fdden, vych\u00e1z\u00ed to tak, \u017ee spole\u010dnost se jakoby nasazuje jednou t\u00fddn\u011b. A od n\u00e1padu po kone\u010dnou realizaci ub\u011bhne 3 m\u011bs\u00edce.<\/p>\n<blockquote><p>Time-to-market je o minimalizaci \u010dasu od n\u00e1padu po kone\u010dnou realizaci.<\/p><\/blockquote>\n<p>\nV tomto p\u0159\u00edpad\u011b s trhem interaguje software. Tak jako One Box Shave s klientem interaguje web. Nemaj\u00ed prodava\u010de \u2014 je to prost\u011b web, kde n\u00e1v\u0161t\u011bvn\u00edk klikne a nech\u00e1 sv\u00e9 p\u0159\u00e1n\u00ed. Proto je t\u0159eba na webu neust\u00e1le umis\u0165ovat n\u011bco nov\u00e9ho a aktualizovat ho podle t\u011bchto p\u0159\u00e1n\u00ed. Nap\u0159\u00edklad v Ji\u017en\u00ed Koreji se hol\u00ed jinak ne\u017e v Rusku a maj\u00ed r\u00e1di v\u016fni mrkve vanilky sp\u00ed\u0161e ne\u017e v\u016fni borovice.<\/p>\n<p>Jeliko\u017e je pot\u0159eba rychle m\u011bnit obsah webu, v\u00fdvoj software se siln\u011b m\u011bn\u00ed. Skrze software mus\u00edme zjistit, co klient chce. D\u0159\u00edve jsme to zji\u0161\u0165ovali n\u011bjak\u00fdmi obch\u00e1zej\u00edc\u00edmi cestami, nap\u0159\u00edklad skrze business management. Pak jsme projektovali, zakl\u00e1dali po\u017eadavky v IT syst\u00e9mu, a v\u0161e bylo skv\u011bl\u00e9. Te\u010f je to jinak \u2014 software projektuje ka\u017ed\u00fd, kdo je zapojen do procesu, v\u010detn\u011b in\u017een\u00fdr\u016f, proto\u017ee z\u00edsk\u00e1vaj\u00ed zp\u011btnou vazbu prost\u0159ednictv\u00edm technick\u00fdch specifikac\u00ed o tom, jak funguje trh, a sd\u00edlej\u00ed se business jejich poznatky.<\/p>\n<p>Nap\u0159\u00edklad ve spole\u010dnosti Qik jsme n\u00e1hle zjistili, \u017ee lid\u00e9 maj\u00ed velmi r\u00e1di nahr\u00e1vat kontaktn\u00ed seznamy na server, a p\u0159idali n\u00e1m aplikaci. P\u016fvodn\u011b jsme o tom nep\u0159em\u00fd\u0161leli. V klasick\u00e9 spole\u010dnosti by v\u0161ichni usoudili, \u017ee to je chyba, proto\u017ee v specifikaci nen\u00ed naps\u00e1no, \u017ee to mus\u00ed fungovat skv\u011ble, a vzhledem k tomu, \u017ee to bylo realizov\u00e1no na kolen\u011b, vypnuli by tuto funkci a \u0159ekli: 'To nikomu nen\u00ed pot\u0159eba, hlavn\u00ed je, \u017ee z\u00e1kladn\u00ed funk\u010dnost funguje.' Technologie spole\u010dnost v tom vid\u00ed p\u0159\u00edle\u017eitost a za\u010d\u00edn\u00e1 m\u011bnit software v souladu s t\u00edm.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/557a53e5a864a39843fe20d521e16400.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV roce 1968 pronesl bystr\u00fd mlad\u00edk Melvin Conway n\u00e1sleduj\u00edc\u00ed my\u0161lenku.<\/p>\n<blockquote><p>Organizace, kter\u00e1 vytv\u00e1\u0159\u00ed syst\u00e9m, je omezena designem, kter\u00fd kop\u00edruje strukturu komunikace v t\u00e9to organizaci.<\/p><\/blockquote>\n<p>\nPokud jde o podrobnosti, abyste mohli vyr\u00e1b\u011bt syst\u00e9my jin\u00e9ho typu, mus\u00edte m\u00edt tak\u00e9 komunika\u010dn\u00ed strukturu uvnit\u0159 spole\u010dnosti jin\u00e9ho typu. Pokud m\u00e1te komunika\u010dn\u00ed strukturu s horn\u00ed hierarchi\u00ed, to v\u00e1m nepovol\u00ed vytv\u00e1\u0159et syst\u00e9my, kter\u00e9 mohou zajistit velmi vysokou hodnotu Time-to-market.<\/p>\n<p>P\u0159e\u010d\u00edst <noindex><a rel=\"nofollow\" href=\"http:\/\/evtuhovich.ru\/blog\/2016\/10\/05\/conways-law\/\">o z\u00e1kon\u011b Conwaye<\/a><\/noindex> lze <noindex><a rel=\"nofollow\" href=\"http:\/\/www.melconway.com\/Home\/Committees_Paper.html\">pod odkazy<\/a><\/noindex>. Je d\u016fle\u017eit\u00fd pro pochopen\u00ed kultury nebo filozofie DevOps, proto\u017ee <b>jedin\u00e1 v\u011bc, kter\u00e1 se z\u00e1kladn\u011b m\u011bn\u00ed v DevOps, je pr\u00e1v\u011b struktura komunikace mezi t\u00fdmy<\/b>.<\/p>\n<p>Z pohledu procesu v\u0161echny f\u00e1ze p\u0159ed DevOps: anal\u00fdza, v\u00fdvoj, testov\u00e1n\u00ed, provoz, prob\u00edhaly line\u00e1rn\u011b.<img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e667012430fcc952bac87d7f1fb6da03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV p\u0159\u00edpad\u011b DevOps prob\u00edhaj\u00ed v\u0161echny tyto procesy sou\u010dasn\u011b.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e4e031864d5d32d6446a95b6c609debd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTime-to-market m\u016f\u017ee b\u00fdt pln\u011bn jen takto. Pro lidi, kte\u0159\u00ed pracovali ve star\u00e9m procesu, to vypad\u00e1 pon\u011bkud kosmicky, a v\u016fbec tak n\u011bjak.<\/p>\n<h3>Tak pro\u010d pot\u0159ebujeme DevOps?<\/h3>\n<p>\n<b>Pro v\u00fdvoj digit\u00e1ln\u00edch produkt\u016f<\/b>. Pokud nem\u00e1te v spole\u010dnosti \u017e\u00e1dn\u00fd digit\u00e1ln\u00ed produkt, DevOps nen\u00ed pot\u0159eba - to je velmi d\u016fle\u017eit\u00e9.<\/p>\n<p><b>DevOps p\u0159ekon\u00e1v\u00e1 rychlostn\u00ed omezen\u00ed sekven\u010dn\u00edho sch\u00e9matu v\u00fdroby softwaru<\/b>. V n\u011bm prob\u00edhaj\u00ed v\u0161echny procesy sou\u010dasn\u011b.<\/p>\n<p><b>Zvy\u0161uje se slo\u017eitost.<\/b> Kdy\u017e evangelist\u00e9 DevOps \u0159\u00edkaj\u00ed, \u017ee s n\u00edm bude jednodu\u0161\u0161\u00ed vyd\u00e1vat software - to je nesmysl.<\/p>\n<blockquote><p>S DevOps v\u0161echno bude jen slo\u017eit\u011bj\u0161\u00ed.<\/p><\/blockquote>\n<p>\nNa konferenci na st\u00e1nku Avito jste si mohli prohl\u00e9dnout, co znamen\u00e1 deploynout Docker kontejner - nerealizovateln\u00fd \u00fakol. Slo\u017eitost p\u0159esahuje meze, mus\u00edte \u017eonglovat s mnoha m\u00ed\u010dky sou\u010dasn\u011b.<\/p>\n<p><b>DevOps m\u011bn\u00ed zcela proces a organizaci ve spole\u010dnosti<\/b>\u00a0\u2013 p\u0159esn\u011bji, nem\u011bn\u00ed DevOps, ale digit\u00e1ln\u00ed produkt. Abychom dosp\u011bli k DevOps, mus\u00edme tento proces zcela zm\u011bnit.<\/p>\n<h3>Ot\u00e1zky pro odborn\u00edka<\/h3>\n<p>\nA co vy? Ot\u00e1zky, kter\u00e9 si m\u016f\u017eete polo\u017eit, kdy\u017e pracujete ve spole\u010dnosti a rozv\u00edj\u00edte se jako odborn\u00edk.<\/p>\n<p><b>M\u00e1te strategii pro vytv\u00e1\u0159en\u00ed digit\u00e1ln\u00edho produktu?<\/b> Pokud ano - u\u017e je to dobr\u00e9. To znamen\u00e1, \u017ee va\u0161e spole\u010dnost sm\u011b\u0159uje k DevOps.<\/p>\n<p><b>Vytv\u00e1\u0159\u00ed va\u0161e spole\u010dnost ji\u017e digit\u00e1ln\u00ed produkt?<\/b> To znamen\u00e1, \u017ee m\u016f\u017eete vystoupit na dal\u0161\u00ed \u00farove\u0148, zab\u00fdvat se zaj\u00edmav\u011bj\u0161\u00edmi v\u011bcmi - znovu z pohledu DevOps. O tomto pohledu pr\u00e1v\u011b hovo\u0159\u00edm.<\/p>\n<p><b>Je va\u0161e spole\u010dnost jedn\u00edm z l\u00eddr\u016f trhu v oblasti digit\u00e1ln\u00edho produktu?<\/b> Spotify, Yandex, Uber \u2013 spole\u010dnosti, kter\u00e9 jsou nyn\u00ed na vrcholu technologick\u00e9ho pokroku.<\/p>\n<p>Zeptejte se sami sebe na tyto ot\u00e1zky, a pokud jsou v\u0161echny odpov\u011bdi z\u00e1porn\u00e9, mo\u017en\u00e1 se opravdu nem\u011bli v\u011bnovat DevOps v t\u00e9to spole\u010dnosti. Pokud v\u00e1s v\u0161ak t\u00e9ma DevOps skute\u010dn\u011b zaj\u00edm\u00e1, mo\u017en\u00e1\u2026 byste m\u011bli p\u0159ej\u00edt do jin\u00e9 spole\u010dnosti? Pokud va\u0161e spole\u010dnost chce vstoupit do sv\u011bta DevOps, ale na v\u0161echny ot\u00e1zky jste odpov\u011bd\u011bli \u201eNe\u201c, pak p\u0159ipom\u00edn\u00e1 toho n\u00e1dhern\u00e9ho nosoro\u017ece, kter\u00fd se nikdy nezm\u011bn\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/6a0145c368d5c96b315ead270b107712.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Organizace<\/h2>\n<p>\nJak u\u017e jsem \u0159ekl, podle z\u00e1kona Conwaye se ve spole\u010dnosti m\u011bn\u00ed organizace. Za\u010dnu t\u00edm, co br\u00e1n\u00ed DevOps proniknout dovnit\u0159 spole\u010dnosti z pohledu organizace.<\/p>\n<h3>Probl\u00e9m \u201esilo\u201c<\/h3>\n<p>\nAnglick\u00e9 slovo \u201esilo\u201c je zde p\u0159elo\u017eeno do ru\u0161tiny jako \u201esilo\u201c. Smysl tohoto probl\u00e9mu spo\u010d\u00edv\u00e1 v tom, \u017ee <b>mezi t\u00fdmy nedoch\u00e1z\u00ed k v\u00fdm\u011bn\u011b informac\u00ed<\/b>. Ka\u017ed\u00fd t\u00fdm vykop\u00e1v\u00e1 svou expertizu do hloubky, p\u0159i\u010dem\u017e nebuduje spole\u010dnou mapu, podle kter\u00e9 by se dalo orientovat.<\/p>\n<p>N\u011b\u010d\u00edm to p\u0159ipom\u00edn\u00e1 \u010dlov\u011bka, kter\u00fd pr\u00e1v\u011b p\u0159ijel do Moskvy a je\u0161t\u011b neum\u00ed \u010d\u00edst mapu metra. Moskvici obvykle skv\u011ble znaj\u00ed svou \u010dtvr\u0165 a v cel\u00e9 Moskv\u011b se orientuj\u00ed podle mapy metra. Kdy\u017e p\u0159ijedete do Moskvy poprv\u00e9, tuto dovednost nem\u00e1te, a jste jednodu\u0161e dezorientovan\u00ed.<\/p>\n<blockquote><p>DevOps se sna\u017e\u00ed p\u0159ekonat tento moment dezorientace a v\u0161em odd\u011blen\u00edm spole\u010dn\u011b vybudovat spole\u010dnou mapu interakce.<\/p><\/blockquote>\n<p>\nK tomu br\u00e1n\u00ed dva faktory.<\/p>\n<p><b>D\u016fsledek firemn\u00edho syst\u00e9mu \u0159\u00edzen\u00ed.<\/b> Je postavena na odd\u011blen\u00fdch hierarchick\u00fdch \u201esilech\u201c. Nap\u0159\u00edklad existuj\u00ed ur\u010dit\u00e9 KPI ve firm\u00e1ch, kter\u00e9 tento syst\u00e9m podporuj\u00ed. Na druhou stranu br\u00e1n\u00ed mysli \u010dlov\u011bka, kter\u00fd m\u00e1 probl\u00e9m p\u0159ekro\u010dit hranice sv\u00e9 expert\u00edzy a orientovat se v cel\u00e9m syst\u00e9mu. To je prost\u011b nepohodln\u00e9. P\u0159edstavte si, \u017ee se nach\u00e1z\u00edte na leti\u0161ti v Bangkoku \u2013 tam se rychle neorientujete. V DevOps se tak\u00e9 t\u011b\u017eko orientuje, a proto lid\u00e9 \u0159\u00edkaj\u00ed, \u017ee je t\u0159eba naj\u00edt pr\u016fvodce, aby se tam dostali.<\/p>\n<p>Ale nejd\u016fle\u017eit\u011bj\u0161\u00ed je, \u017ee probl\u00e9m \u201esilo\u201c pro in\u017een\u00fdra, kter\u00fd se nechal un\u00e9st duchem DevOps, p\u0159e\u010detl Fowlere a spoustu dal\u0161\u00edch knih, spo\u010d\u00edv\u00e1 v tom, \u017ee <b>\"silo\" nedovoluj\u00ed d\u011blat \"z\u0159ejm\u00e9\" v\u011bci<\/b>. \u010casto se po DevOps Moscow sch\u00e1z\u00edme, bav\u00edme se navz\u00e1jem a lid\u00e9 si st\u011b\u017euj\u00ed:<\/p>\n<p><i>\u2014 Cht\u011bli jsme pouze spustit CI, ale uk\u00e1zalo se, \u017ee to managementu nen\u00ed pot\u0159eba.<\/i><\/p>\n<p>To se d\u011bje pr\u00e1v\u011b proto, \u017ee\u00a0<b>CI <\/b>a\u00a0<b>Proces kontinu\u00e1ln\u00edho dod\u00e1v\u00e1n\u00ed<\/b> se nach\u00e1zej\u00ed na pomez\u00ed mnoha odbornost\u00ed. Pokud se nep\u0159ekon\u00e1 probl\u00e9m \"studn\u00ed\" na organiza\u010dn\u00ed \u00farovni, nebude mo\u017en\u00e9 se posunout d\u00e1l, a\u0165 u\u017e ud\u011bl\u00e1te cokoliv, a jak smutn\u00e9 to bylo.<\/p>\n<p><img decoding=\"async\" alt=\"Co 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 ve spole\u010dnosti: v\u00fdvoj\u00e1\u0159i backendu a frontendu, testov\u00e1n\u00ed, DBA, provoz, s\u00ed\u0165, kop\u00e1 v tom sv\u00e9m sm\u011bru, a nikdo nem\u00e1 spole\u010dnou mapu, krom\u011b mana\u017eera, kter\u00fd jaksi dohl\u00ed\u017e\u00ed a \u0159\u00edd\u00ed metodou \"rozd\u011bluj a panuj\".<\/p>\n<blockquote><p>Lid\u00e9 se perou o n\u011bjak\u00e9 hv\u011bzdi\u010dky nebo vlaje\u010dky, ka\u017ed\u00fd se zab\u00fdv\u00e1 svou odbornost\u00ed.<\/p><\/blockquote>\n<p>\nNakonec, kdy\u017e se objev\u00ed \u00fakol v\u0161echno to spojit dohromady a postavit spole\u010dn\u00fd pipeline, a o hv\u011bzdi\u010dky a vlaje\u010dky u\u017e nen\u00ed pot\u0159eba bojovat, objevuje se ot\u00e1zka \u2013 co se m\u00e1 vlastn\u011b d\u011blat? Je pot\u0159eba se n\u011bjak domluvit, ale jak to ud\u011blat, n\u00e1s ve \u0161kole nikdo neu\u010dil. Je\u0161t\u011b ze \u0161koly jsme nau\u010deni: osm\u00fd ro\u010dn\u00edk \u2013 wow! \u2013 ve srovn\u00e1n\u00ed se sedm\u00fdm ro\u010dn\u00edkem! Tady je to stejn\u00e9.<\/p>\n<h3>Je to ve va\u0161\u00ed spole\u010dnosti tak\u00e9 tak?<\/h3>\n<p>\nAbychom to ov\u011b\u0159ili, m\u016f\u017eeme si polo\u017eit n\u00e1sleduj\u00edc\u00ed ot\u00e1zky.<\/p>\n<p><b>Pou\u017e\u00edvaj\u00ed t\u00fdmy spole\u010dn\u00e9 n\u00e1stroje, p\u0159isp\u00edvaj\u00ed ke zm\u011bn\u00e1m t\u011bchto spole\u010dn\u00fdch n\u00e1stroj\u016f?<\/p>\n<p>Jak \u010dasto se t\u00fdmy restrukturalizuj\u00ed \u2013 p\u0159ech\u00e1zej\u00ed n\u011bkte\u0159\u00ed odborn\u00edci z jednoho t\u00fdmu do druh\u00e9ho?<\/b> Pr\u00e1v\u011b v prost\u0159ed\u00ed DevOps se to st\u00e1v\u00e1 normou, proto\u017ee n\u011bkdy \u010dlov\u011bk jednodu\u0161e nedok\u00e1\u017ee pochopit, \u010d\u00edm se zab\u00fdv\u00e1 jin\u00e1 odborn\u00e1 oblast. P\u0159ech\u00e1z\u00ed do jin\u00e9ho odd\u011blen\u00ed, pracuje tam dva t\u00fddny, aby si vytvo\u0159il mapu orientace a interakce s t\u00edmto odd\u011blen\u00edm.<\/p>\n<p><b>Lze vytvo\u0159it v\u00fdbor pro zm\u011bny a n\u011bco zm\u011bnit? <\/b>Nebo je k tomu pot\u0159eba siln\u00e1 ruka nejvy\u0161\u0161\u00edho veden\u00ed a na\u0159\u00edzen\u00ed? Ned\u00e1vno jsem napsal na Facebook, jak jeden m\u00e1lo zn\u00e1m\u00fd bankovn\u00ed \u00fastav prost\u0159ednictv\u00edm na\u0159\u00edzen\u00ed zav\u00e1d\u00ed n\u00e1stroje: napsali na\u0159\u00edzen\u00ed, rok zav\u00e1d\u00edme, sledujeme, co se d\u011bje. To je samoz\u0159ejm\u011b dlouh\u00e9 a smutn\u00e9.<\/p>\n<p><b>Jak d\u016fle\u017eit\u00e9 je pro mana\u017eery z\u00edsk\u00e1vat osobn\u00ed \u00fasp\u011bchy bez ohledu na \u00fasp\u011bchy spole\u010dnosti? <\/b><\/p>\n<p>Pokud si na tyto ot\u00e1zky odpov\u00edte, bude jasn\u011bj\u0161\u00ed, zda m\u00e1te v spole\u010dnosti takov\u00fd probl\u00e9m.<\/p>\n<h2>Infrastruktura jako k\u00f3d<\/h2>\n<p>\nJakmile je tento probl\u00e9m vy\u0159e\u0161en, prvn\u00edm d\u016fle\u017eit\u00fdm krokem, bez n\u011bho\u017e je t\u011b\u017ek\u00e9 pokro\u010dit v DevOps, je <b>infrastruktura jako k\u00f3d<\/b>. <\/p>\n<p>Infrastrukturu jako k\u00f3d v\u011bt\u0161inou vn\u00edmaj\u00ed takto:<\/p>\n<p><i>\u2014 Poj\u010fme v\u0161echno automatizovat pomoc\u00ed bash, obal\u00edme se skripty, aby administr\u00e1to\u0159i m\u011bli m\u00e9n\u011b ru\u010dn\u00ed pr\u00e1ce!<\/i><\/p>\n<p>Ale to nen\u00ed pravda.<\/p>\n<blockquote><p>Infrastruktura jako k\u00f3d znamen\u00e1, \u017ee IT syst\u00e9m, se kter\u00fdm pracujete, popisujete ve form\u011b k\u00f3du, abyste neust\u00e1le rozum\u011bli jeho stavu.<\/p><\/blockquote>\n<p>\nSpole\u010dn\u011b s dal\u0161\u00edmi t\u00fdmy vytv\u00e1\u0159\u00edte mapu ve form\u011b k\u00f3du, kter\u00e1 je v\u0161em srozumiteln\u00e1, podle kter\u00e9 se m\u016f\u017ee orientovat a navigovat. Nez\u00e1le\u017e\u00ed na tom, na \u010dem je to ud\u011bl\u00e1no \u2014 Chef, Ansible, Salt, nebo se pou\u017e\u00edvaj\u00ed YAML soubory v Kubernetes \u2014 na tom nez\u00e1le\u017e\u00ed.<\/p>\n<p>Na konferenci kolega z 2GIS vypr\u00e1v\u011bl, jak vytvo\u0159ili sv\u016fj vnit\u0159n\u00ed n\u00e1stroj pro Kubernetes, kter\u00fd popisuje strukturu jednotliv\u00fdch syst\u00e9m\u016f. Aby popsali 500 syst\u00e9m\u016f, pot\u0159ebovali zvl\u00e1\u0161tn\u00ed n\u00e1stroj, kter\u00fd toto popisov\u00e1n\u00ed generuje. Kdy\u017e je toto popisov\u00e1n\u00ed k dispozici, ka\u017ed\u00fd si m\u016f\u017ee srovn\u00e1vat informace, monitorovat zm\u011bny, jak to upravit a zlep\u0161it, co chyb\u00ed. <\/p>\n<p>Souhlas\u00edte, \u017ee jednotliv\u00e9 bash skripty obvykle ned\u00e1vaj\u00ed toto porozum\u011bn\u00ed. V jedn\u00e9 z firem, kde jsem pracoval, bylo dokonce ozna\u010den\u00ed `write only` skript \u2014 kdy\u017e je skript napsan\u00fd, u\u017e ho nen\u00ed mo\u017en\u00e9 p\u0159e\u010d\u00edst. Mysl\u00edm, \u017ee to v\u00e1m tak\u00e9 p\u0159ipad\u00e1 pov\u011bdom\u00e9.<\/p>\n<p>Infrastruktura jako k\u00f3d je <b>k\u00f3d, kter\u00fd popisuje aktu\u00e1ln\u00ed stav infrastruktury<\/b>. Na tomto k\u00f3du spole\u010dn\u011b pracuje mnoho produktov\u00fdch, infrastrukturn\u00edch a servisn\u00edch t\u00fdm\u016f, a co je nejd\u016fle\u017eit\u011bj\u0161\u00ed, v\u0161ichni mus\u00ed rozum\u011bt, jak tento k\u00f3d vlastn\u011b funguje.<\/p>\n<p><b>K\u00f3d je udr\u017eov\u00e1n podle nejlep\u0161\u00edch praktik pr\u00e1ce s k\u00f3dem<\/b>: spole\u010dn\u00fd v\u00fdvoj, revize k\u00f3du, XP-programming, testov\u00e1n\u00ed, pull requesty, CI pro infrastrukturn\u00ed k\u00f3d \u2014 to v\u0161e je kvalitn\u00ed a lze to pou\u017e\u00edt.<\/p>\n<blockquote><p>K\u00f3d se st\u00e1v\u00e1 spole\u010dn\u00fdm jazykem pro v\u0161echny in\u017een\u00fdry.<\/p><\/blockquote>\n<p>\n<b>Zm\u011bna infrastruktury v k\u00f3du nezabere mnoho \u010dasu<\/b>. Ano, v infrastrukturn\u00edm k\u00f3du m\u016f\u017ee tak\u00e9 b\u00fdt technick\u00fd dluh. T\u00fdmy se s n\u00edm obvykle setk\u00e1vaj\u00ed zhruba po jednom a p\u016fl roce od doby, kdy za\u010daly zav\u00e1d\u011bt \u201einfrastrukturu jako k\u00f3d\u201c ve form\u011b hromady skript\u016f nebo dokonce Ansible, kter\u00e9 p\u00ed\u0161\u00ed jako spaghetti k\u00f3d, a je\u0161t\u011b bash skripty tam p\u0159ihazuj\u00ed do ohn\u011b! <\/p>\n<p><b>Je d\u016fle\u017eit\u00e9<\/b>: pokud jste tuto v\u011bc je\u0161t\u011b nezkusili, pamatujte, \u017ee <b>Ansible nen\u00ed bash<\/b>! Pe\u010dliv\u011b \u010dt\u011bte dokumentaci, zkoumejte, co o tom vlastn\u011b p\u00ed\u0161\u00ed.<\/p>\n<blockquote><p>Infrastruktura jako k\u00f3d je rozd\u011blen\u00ed infrastrukturn\u00edho k\u00f3du na jednotliv\u00e9 vrstvy.<\/p><\/blockquote>\n<p>\nV na\u0161\u00ed spole\u010dnosti vy\u010dle\u0148ujeme 3 z\u00e1kladn\u00ed vrstvy, kter\u00e9 jsou velmi srozumiteln\u00e9 a jednoduch\u00e9, ale m\u016f\u017ee jich b\u00fdt v\u00edce. M\u016f\u017eete se pod\u00edvat na sv\u016fj infrastrukturn\u00ed k\u00f3d a \u0159\u00edct si, zda m\u00e1te tuto podm\u00ednku nebo ne. Pokud se \u017e\u00e1dn\u00e9 vrstvy nevy\u010dle\u0148uj\u00ed, je t\u0159eba vy\u010dlenit \u010das a trochu refaktorovat.<br \/>\n<img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/71b6db022083137773df5c97d16da377.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Z\u00e1kladn\u00ed vrstva<\/b>\u00a0\u2014 to je, jak se nastavuje OS, z\u00e1lohov\u00e1n\u00ed a dal\u0161\u00ed n\u00edzko\u00farov\u0148ov\u00e9 v\u011bci, nap\u0159\u00edklad jak se nasazuje Kubernetes na z\u00e1kladn\u00ed \u00farovni.<\/p>\n<p><b>\u00darove\u0148 slu\u017eeb<\/b>\u00a0\u2014 to jsou slu\u017eby, kter\u00e9 d\u00e1v\u00e1te v\u00fdvoj\u00e1\u0159i: logov\u00e1n\u00ed jako slu\u017eba, monitoring jako slu\u017eba, datab\u00e1ze jako slu\u017eba, vyva\u017eova\u010d z\u00e1t\u011b\u017ee jako slu\u017eba, fronta jako slu\u017eba, Continuous Delivery jako slu\u017eba \u2014 spousta slu\u017eeb, kter\u00e9 mohou r\u016fzn\u00e9 t\u00fdmy poskytovat v\u00fdvoji. To v\u0161e je t\u0159eba popsat jako samostatn\u00e9 moduly ve va\u0161em syst\u00e9mu pro spr\u00e1vu konfigurace.<\/p>\n<p><b>Vrstva, kde se vytv\u00e1\u0159ej\u00ed aplikace<\/b> a popisuje se, jak se budou nasazovat na dv\u011b p\u0159edchoz\u00ed vrstvy.<\/p>\n<h3>Kontroln\u00ed ot\u00e1zky<\/h3>\n<p>\nM\u00e1te ve sv\u00e9 spole\u010dnosti spole\u010dn\u00fd infrastrukturn\u00ed repozit\u00e1\u0159? Sledujete technick\u00fd dluh v infrastruktu\u0159e? Pou\u017e\u00edv\u00e1te v\u00fdvojov\u00e9 praktiky v infrastrukturn\u00edm repozit\u00e1\u0159i? Je va\u0161e infrastruktura rozd\u011blena na vrstvy? M\u016f\u017eete se \u0159\u00eddit sch\u00e9matem Base-service-APP. Jak t\u011b\u017ek\u00e9 je prov\u00e9st zm\u011bnu? <\/p>\n<p>Pokud jste se setkali s t\u00edm, \u017ee proveden\u00ed zm\u011bn trvalo den a p\u016fl, znamen\u00e1 to, \u017ee m\u00e1te technick\u00fd dluh a je pot\u0159eba s n\u00edm pracovat. Pr\u00e1v\u011b jste narazili na \u00faskal\u00ed technick\u00e9ho dluhu v infrastrukturn\u00edm k\u00f3du. Pamatuji si mnoho takov\u00fdch p\u0159\u00edb\u011bh\u016f, kdy k proveden\u00ed n\u011bjak\u00e9 zm\u011bny, t\u0159eba CCTL, bylo nutn\u00e9 p\u0159epsat polovinu infrastrukturn\u00edho k\u00f3du, proto\u017ee kreativita a touha v\u0161e automatizovat vedly k tomu, \u017ee je v\u0161echno zakorkov\u00e1no, v\u0161echny ru\u010dn\u00ed z\u00e1sahy byly odstran\u011bny a je t\u0159eba prov\u00e9st refaktoring.<\/p>\n<h2>Nep\u0159etr\u017eit\u00e1 dod\u00e1vka<\/h2>\n<p>\nShrneme debet s kreditem. Nejprve se objev\u00ed popis infrastruktury, kter\u00fd m\u016f\u017ee b\u00fdt pom\u011brn\u011b z\u00e1kladn\u00ed. Nen\u00ed nutn\u00e9 v\u0161e podrobn\u011b popisovat, ale n\u011bjak\u00fd z\u00e1kladn\u00ed popis je vy\u017eadov\u00e1n, abyste s t\u00edm mohli pracovat. Jinak nen\u00ed jasn\u00e9, na \u010dem d\u00e1le budeme prov\u00e1d\u011bt nep\u0159etr\u017eitou dod\u00e1vku. V\u0161echny tyto praktiky se rozv\u00edjej\u00ed sou\u010dasn\u011b, kdy\u017e p\u0159ech\u00e1z\u00edte k DevOps, ale za\u010d\u00edt je t\u0159eba porozum\u011bn\u00edm tomu, co m\u00e1te a jak s t\u00edm spravovat. To je pr\u00e1v\u011b praxe infrastruktury jako k\u00f3du.<\/p>\n<p>Jakmile je jasn\u00e9, co m\u00e1te a jak s t\u00edm spravovat, za\u010d\u00edn\u00e1te vym\u00fd\u0161let, jak k\u00f3d v\u00fdvoj\u00e1\u0159e co nejrychleji dostat do produkce. M\u00e1m na mysli spole\u010dn\u011b s v\u00fdvoj\u00e1\u0159em \u2013 pamatujeme na probl\u00e9m 'studn\u00ed', to znamen\u00e1, \u017ee to nevym\u00fd\u0161l\u00ed jednotlivci, ale t\u00fdm.<\/p>\n<p>Kdy\u017e jsme\u00a0<b>s Ivanem Jevtu\u0161ovi\u010dem<\/b> uvid\u011bli prvn\u00ed kn\u00ed\u017eku <b>Jezze Hamblena<\/b> a skupiny autor\u016f <b>\u201eContinuous Delivery\u201c<\/b>, kter\u00e1 vy\u0161la v roce 2009, jsme dlouho p\u0159em\u00fd\u0161leli, jak p\u0159elo\u017eit jej\u00ed n\u00e1zev do \u010de\u0161tiny. Cht\u011bli jsme ji p\u0159elo\u017eit jako \u201ePravideln\u011b dod\u00e1vat\u201c, ale bohu\u017eel jsme ji p\u0159elo\u017eili jako \u201eNep\u0159etr\u017eit\u00e1 dod\u00e1vka\u201c. Mysl\u00edm, \u017ee v na\u0161em n\u00e1zvu je n\u011bco takov\u00e9ho rusk\u00e9ho, s nal\u00e9havost\u00ed.<\/p>\n<h3>Pravideln\u011b dod\u00e1vat znamen\u00e1<\/h3>\n<p>\n<b>K\u00f3d, kter\u00fd le\u017e\u00ed v produktov\u00e9m repozit\u00e1\u0159i, m\u016f\u017ee b\u00fdt v\u017edy vyta\u017een do produkce<\/b>. M\u016f\u017ee b\u00fdt i nevyta\u017een, ale v\u017edy je na to p\u0159ipraven. Odpov\u00eddaj\u00edc\u00edm zp\u016fsobem v\u017edy p\u00ed\u0161ete k\u00f3d s t\u011b\u017eko vysv\u011btliteln\u00fdm pocitem ur\u010dit\u00e9ho znepokojen\u00ed v oblasti kostr\u010de. Tento pocit se \u010dasto objevuje, kdy\u017e vyd\u00e1v\u00e1te infrastrukturn\u00ed k\u00f3d. Tento pocit ur\u010dit\u00e9ho znepokojen\u00ed by m\u011bl b\u00fdt p\u0159\u00edtomen \u2013 vyvol\u00e1v\u00e1 my\u0161lenkov\u00e9 procesy, kter\u00e9 umo\u017e\u0148uj\u00ed ps\u00e1t k\u00f3d pon\u011bkud jinak. To by m\u011blo b\u00fdt zafixov\u00e1no v pravidlech uvnit\u0159 v\u00fdvoje.<\/p>\n<p><b>Abychom pravideln\u011b dod\u00e1vali, pot\u0159ebujeme form\u00e1t artefaktu, kter\u00fd proch\u00e1z\u00ed infrastrukturn\u00ed platformou. <\/b>Pokud na infrastrukturn\u00ed platformu h\u00e1z\u00edte r\u016fzn\u00e9 form\u00e1ty \"odpadn\u00ed produkty\", st\u00e1v\u00e1 se nejednotnou, je obt\u00ed\u017en\u00e9 ji spravovat a vznik\u00e1 probl\u00e9m technick\u00e9ho dluhu. Form\u00e1t artefaktu je t\u0159eba vyrovnat \u2013 to je tak\u00e9 kolektivn\u00ed \u00fakol: mus\u00edme se v\u0161ichni spole\u010dn\u011b sej\u00edt, zamyslet se a vymyslet tento form\u00e1t.<\/p>\n<p><b>Artefakt se neust\u00e1le zlep\u0161uje a m\u011bn\u00ed podle produk\u010dn\u00edho prost\u0159ed\u00ed b\u011bhem pr\u016fchodu dodavatelsk\u00fdm pipeline. <\/b>Kdy\u017e se artefakt pohybuje po pipeline, neust\u00e1le se setk\u00e1v\u00e1 s r\u016fzn\u00fdmi nep\u0159\u00edjemnostmi, kter\u00e9 jsou podobn\u00e9 tomu, s \u010d\u00edm se setk\u00e1v\u00e1 artefakt, kter\u00fd nasazujete do produkce. Pokud se v klasick\u00e9m v\u00fdvoji o to star\u00e1 syst\u00e9mov\u00fd administr\u00e1tor, kter\u00fd prov\u00e1d\u00ed nasazen\u00ed, v procesu DevOps se to d\u011bje neust\u00e1le: tady ho testuj\u00ed r\u016fzn\u00fdmi testy, tam ho hodili do Kubernetes clusteru, kter\u00fd v\u00edce m\u00e9n\u011b p\u0159ipom\u00edn\u00e1 produkci, a tam n\u00e1hle za\u010dali s z\u00e1t\u011b\u017eov\u00fdm testov\u00e1n\u00edm.<\/p>\n<p>To trochu p\u0159ipom\u00edn\u00e1 hru Pac-Man \u2013 artefakt proch\u00e1z\u00ed n\u011bjak\u00fdm p\u0159\u00edb\u011bhem. Je d\u016fle\u017eit\u00e9 kontrolovat, zda k\u00f3d skute\u010dn\u011b proch\u00e1z\u00ed p\u0159\u00edb\u011bhem a zda n\u011bjak souvis\u00ed s va\u0161\u00ed produkc\u00ed. P\u0159\u00edb\u011bhy z produkce lze vkl\u00e1dat do procesu Continuous Delivery: bylo tomu tak, kdy\u017e n\u011bco selhalo, te\u010f poj\u010fme tento sc\u00e9n\u00e1\u0159 prost\u011b naprogramovat do syst\u00e9mu. Ka\u017ed\u00fd p\u0159\u00ed\u0161t\u011b k\u00f3d projde t\u00edmto sc\u00e9n\u00e1\u0159em tak\u00e9 a nebudete \u010delit t\u00e9to probl\u00e9mu znovu. O n\u00ed se dozv\u00edte daleko d\u0159\u00edve, ne\u017e doraz\u00ed k va\u0161emu klientovi.<\/p>\n<p><b>R\u016fzn\u00e9 strategie nasazen\u00ed. <\/b>Nap\u0159\u00edklad pou\u017e\u00edv\u00e1te A\/B testov\u00e1n\u00ed nebo kan\u00e1rkov\u00e9 nasazen\u00ed, abyste r\u016fzn\u011b \"o\u0165uk\u00e1vali\" k\u00f3d u r\u016fzn\u00fdch klient\u016f, z\u00edsk\u00e1vali informace o tom, jak k\u00f3d funguje, a daleko d\u0159\u00edve, ne\u017e se nasad\u00ed na 100 milion\u016f u\u017eivatel\u016f.<\/p>\n<p>\"Nep\u0159etr\u017eit\u00e1 dod\u00e1vka\" vypad\u00e1 takto.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/4b33e69a649a3ff862cc4b9301c49d81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Proces dod\u00e1v\u00e1n\u00ed Dev, CI, Test, PreProd, Prod \u2013 to nen\u00ed odd\u011blen\u00e9 prost\u0159ed\u00ed, to jsou f\u00e1ze nebo stanice s neho\u0159lav\u00fdmi \u010d\u00e1stkami, kter\u00fdmi proch\u00e1z\u00ed v\u00e1\u0161 artefakt.<\/p><\/blockquote>\n<p>\nPokud m\u00e1te infrastrukturn\u00ed k\u00f3d, kter\u00fd je pops\u00e1n jako Base Service APP, pak pom\u00e1h\u00e1 <b>nezapomenout na v\u0161echny sc\u00e9n\u00e1\u0159e<\/b>, a zaznamenat je tak\u00e9 jako k\u00f3d pro tento artefakt, <b>posouvat artefakt<\/b> a m\u011bnit ho za pochodu.<\/p>\n<h3>Ot\u00e1zky pro sebehodnocen\u00ed<\/h3>\n<p>\nJe doba od popisu funkce po nasazen\u00ed do produkce v 95 % p\u0159\u00edpad\u016f krat\u0161\u00ed ne\u017e t\u00fdden? Zvy\u0161uje se kvalita artefaktu v ka\u017ed\u00e9 f\u00e1zi pipeline? Existuje p\u0159\u00edb\u011bh, kter\u00fdm proch\u00e1z\u00ed? Pou\u017e\u00edv\u00e1te r\u016fzn\u00e9 strategie nasazen\u00ed?<\/p>\n<p>Pokud jsou v\u0161echny odpov\u011bdi ano, pak jste opravdu \u00fa\u017easn\u00ed! Napi\u0161te odpov\u011bdi do koment\u00e1\u0159\u016f \u2013 budu r\u00e1d).<\/p>\n<h3>Zp\u011btn\u00e1 vazba<\/h3>\n<p>\nToto je nejkomplexn\u011bj\u0161\u00ed praxe ze v\u0161ech. Na konferenci DevOpsConf kolega z Infobip, kdy\u017e o tom mluvil, se trochu zamot\u00e1val do slov, proto\u017ee to je opravdu velmi slo\u017eit\u00e1 praxe o tom, co je t\u0159eba monitorovat \u00fapln\u011b v\u0161echno!<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/d13c9964ad7686e68d51f1608bd0c1a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNap\u0159\u00edklad, u\u017e d\u00e1vno, kdy\u017e jsem pracoval ve Qik a zjistili jsme, \u017ee je pot\u0159eba monitorovat opravdu v\u0161echno. Ud\u011blali jsme to, a v Zabbixu jsme m\u011bli 150 000 polo\u017eek, kter\u00e9 se neust\u00e1le monitorovaly. Bylo to d\u011bsiv\u00e9, technick\u00fd \u0159editel to\u010dil prstem u sp\u00e1nku:<\/p>\n<p><i>\u2014 Kluci, pro\u010d mu\u010d\u00edte server n\u011b\u010d\u00edm nepochopiteln\u00fdm?<\/i><\/p>\n<p>Ale pak se stala ud\u00e1lost, kter\u00e1 uk\u00e1zala, \u017ee to je opravdu velmi cool strategie.<\/p>\n<p>Jedna ze slu\u017eeb za\u010dala neust\u00e1le padat. P\u016fvodn\u011b nepadala, co\u017e je zaj\u00edmav\u00e9, k\u00f3d se tam neposouval, proto\u017ee to byl z\u00e1kladn\u00ed broker, ve kter\u00e9m bylo prakticky \u017e\u00e1dn\u00e9 podnikov\u00e9 funkce \u2014 jen p\u0159ed\u00e1val zpr\u00e1vy mezi jednotliv\u00fdmi slu\u017ebami. Slu\u017eba se nezm\u011bnila po dobu 4 m\u011bs\u00edc\u016f a najednou za\u010dala padat s chybou \"Segmentation fault\".<\/p>\n<p>Byli jsme v \u0161oku, otev\u0159eli jsme na\u0161e grafy v Zabbixu a zjistili jsme, \u017ee zhruba p\u0159ed \u010dtrn\u00e1cti dny se v\u00fdrazn\u011b zm\u011bnilo chov\u00e1n\u00ed po\u017eadavk\u016f v API slu\u017eb\u011b, kter\u00e1 pou\u017e\u00edv\u00e1 tento broker. Pot\u00e9 jsme si v\u0161imli, \u017ee se zm\u011bnila frekvence pos\u00edl\u00e1n\u00ed ur\u010dit\u00e9ho typu zpr\u00e1v. A d\u00e1le jsme zjistili, \u017ee to byly android klienti. Zeptali jsme se:<\/p>\n<p><i>\u2014 Kluci, co se v\u00e1m stalo p\u0159ed \u010dtrn\u00e1cti dny?<\/i><\/p>\n<p>V odpov\u011bdi jsme sly\u0161eli zaj\u00edmav\u00fd p\u0159\u00edb\u011bh o tom, \u017ee p\u0159ed\u011blali UI. O lidech jen m\u00e1lokdo hned \u0159ekne, \u017ee zm\u011bnili HTTP knihovnu. Pro android klienty je to jako vym\u011bnit m\u00fddlo v koupeln\u011b \u2014 jen si to prost\u011b nepamatuj\u00ed. Nakonec, po 40 minut\u00e1ch rozhovoru, jsme zjistili, \u017ee p\u0159eci jen vym\u011bnili HTTP knihovnu a ta m\u011bla zm\u011bn\u011bn\u00e9 v\u00fdchoz\u00ed \u010dasov\u00e1n\u00ed. To vedlo k tomu, \u017ee se zm\u011bnilo chov\u00e1n\u00ed provozu na API serveru, co\u017e vedlo k situaci, kter\u00e1 zp\u016fsobila z\u00e1vod uvnit\u0159 brokera, a za\u010dal padat.<\/p>\n<p><b>Bez d\u016fkladn\u00e9ho monitorov\u00e1n\u00ed to v\u016fbec nen\u00ed mo\u017en\u00e9 odhalit.<\/b>. Pokud v organizaci existuje probl\u00e9m \u201estudn\u00ed\u201c, kdy si ka\u017ed\u00fd p\u0159ehazuje zodpov\u011bdnost, m\u016f\u017ee to trvat roky. Jen restartujete server, proto\u017ee nen\u00ed mo\u017en\u00e9 probl\u00e9m vy\u0159e\u0161it. Kdy\u017e monitorujete, sledjete a trackujete v\u0161echny ud\u00e1losti, kter\u00e9 m\u00e1te, a pou\u017e\u00edv\u00e1te monitoring jako testov\u00e1n\u00ed \u2014 p\u00ed\u0161ete k\u00f3d a ihned uv\u00e1d\u00edte, jak ho monitorovat, tak\u00e9 formou k\u00f3du (u\u017e m\u00e1me infrastrukturu jako k\u00f3d), v\u0161e se st\u00e1v\u00e1 jasn\u00e9 jako facka. I tak slo\u017eit\u00e9 probl\u00e9my jsou snadno sledovateln\u00e9.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/86d286f36363d773852b4aa9808cc7a4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Shroma\u017e\u010fujte v\u0161echny informace o tom, co se d\u011bje s artefaktem v ka\u017ed\u00e9 f\u00e1zi dodac\u00edho procesu \u2014 ne pouze v produkci.<\/p><\/blockquote>\n<p>\nMonitorov\u00e1n\u00ed nahr\u00e1vejte do CI, a tam u\u017e budou viditeln\u00e9 n\u011bjak\u00e9 z\u00e1kladn\u00ed v\u011bci. D\u00e1le je uvid\u00edte jak v Test, tak v PredProd, a tak\u00e9 p\u0159i z\u00e1t\u011b\u017eov\u00e9m testov\u00e1n\u00ed. Shroma\u017e\u010fujte informace ve v\u0161ech f\u00e1z\u00edch, p\u0159i\u010dem\u017e nejen metriky, statistiky, ale i logy: jak bylo nasazeno aplikace, a anom\u00e1lie \u2014 shroma\u017e\u010fujte v\u0161e. <\/p>\n<p>V opa\u010dn\u00e9m p\u0159\u00edpad\u011b bude obt\u00ed\u017en\u00e9 pochopit. U\u017e jsem \u0159\u00edkal, \u017ee DevOps je v\u011bt\u0161\u00ed slo\u017eitost. <b>Abychom se s touto slo\u017eitost\u00ed vyrovnali, je t\u0159eba m\u00edt dobrou analytiku.<\/b>.<\/p>\n<h3>Ot\u00e1zky pro sebereflexi<\/h3>\n<p>\n<b>Je v\u00e1\u0161 monitoring a logov\u00e1n\u00ed pro v\u00e1s n\u00e1strojem v\u00fdvoje?<\/b> Mysl\u00ed va\u0161i v\u00fdvoj\u00e1\u0159i, a vy tak\u00e9, p\u0159i psan\u00ed k\u00f3du na to, jak ho monitorovat?<\/p>\n<p><b>Zjist\u00edte o probl\u00e9mech od z\u00e1kazn\u00edk\u016f? Ch\u00e1pete z\u00e1kazn\u00edka l\u00e9pe prost\u0159ednictv\u00edm monitorov\u00e1n\u00ed a logov\u00e1n\u00ed?<\/b> <b>Ch\u00e1pete syst\u00e9m l\u00e9pe d\u00edky monitorov\u00e1n\u00ed a logov\u00e1n\u00ed?<\/b> M\u011bn\u00edte syst\u00e9m jen proto, \u017ee vid\u00edte, \u017ee trend v syst\u00e9mu roste a ch\u00e1pete, \u017ee za 3 t\u00fddny to v\u0161echno skolabuje? <\/p>\n<p>Kdy\u017e m\u00e1te tyto t\u0159i komponenty, m\u016f\u017eete p\u0159em\u00fd\u0161let o tom, jak\u00e1 je va\u0161e infrastrukturn\u00ed platforma ve spole\u010dnosti.<\/p>\n<h2>Infrastrukturn\u00ed platforma <\/h2>\n<p>\nSmysl nen\u00ed v tom, \u017ee je to soubor rozpt\u00fdlen\u00fdch n\u00e1stroj\u016f, kter\u00e9 m\u00e1 ka\u017ed\u00e1 firma.<\/p>\n<blockquote><p>Smyslem infrastrukturn\u00ed platformy je, \u017ee v\u0161echny t\u00fdmy tyto n\u00e1stroje pou\u017e\u00edvaj\u00ed a spole\u010dn\u011b je rozv\u00edjej\u00ed.<\/p><\/blockquote>\n<p>\nJe jasn\u00e9, \u017ee existuj\u00ed samostatn\u00e9 t\u00fdmy, kter\u00e9 nesou odpov\u011bdnost za rozvoj jednotliv\u00fdch \u010d\u00e1st\u00ed infrastrukturn\u00ed platformy. Ale odpov\u011bdnost za rozvoj, funk\u010dnost a propagaci infrastrukturn\u00ed platformy nese ka\u017ed\u00fd in\u017een\u00fdr.<b> Na vnit\u0159n\u00ed \u00farovni se to st\u00e1v\u00e1 spole\u010dn\u00fdm n\u00e1strojem<\/b>. <\/p>\n<p><b>V\u0161echny t\u00fdmy rozv\u00edjej\u00ed infrastrukturn\u00ed platformu a pe\u010duj\u00ed o ni jako o sv\u00e9 vlastn\u00ed IDE<\/b>. Ve sv\u00e9m IDE si instalujete r\u016fzn\u00e9 pluginy, aby v\u0161e vypadalo hezky a rychle, nastavujete kl\u00e1vesov\u00e9 zkratky. Kdy\u017e otev\u0159ete Sublime, Atom nebo Visual Studio Code, hned se v\u00e1m hrnou chyby k\u00f3du a vy si uv\u011bdom\u00edte, \u017ee nen\u00ed mo\u017en\u00e9 pracovat, najednou v\u00e1m je smutno a b\u011b\u017e\u00edte opravovat sv\u00e9 IDE.<\/p>\n<p>Stejn\u011b tak se chovejte k va\u0161\u00ed infrastrukturn\u00ed platform\u011b. Pokud zjist\u00edte, \u017ee je n\u011bco \u0161patn\u011b, pod\u00e1vejte \u017e\u00e1dost, pokud to nedok\u00e1\u017eete opravit sami. Pokud je to n\u011bco jednoduch\u00e9ho \u2014 opravujte to sami, pos\u00edlejte pull request \u2014 kluci to posoud\u00ed a p\u0159idaj\u00ed. Je to trochu jin\u00fd p\u0159\u00edstup k in\u017een\u00fdrsk\u00e9mu n\u00e1stroji v mysl\u00edch v\u00fdvoj\u00e1\u0159\u016f.<\/p>\n<p><b>Infrastrukturn\u00ed platforma zaji\u0161\u0165uje p\u0159evod artefaktu od v\u00fdvoje k klientovi s neust\u00e1l\u00fdm zvy\u0161ov\u00e1n\u00edm kvality<\/b>. V IP je naprogramov\u00e1na sada p\u0159\u00edb\u011bh\u016f, kter\u00e9 se odehr\u00e1vaj\u00ed s k\u00f3dem v produkci. B\u011bhem let v\u00fdvoje se t\u011bchto p\u0159\u00edb\u011bh\u016f st\u00e1v\u00e1 skute\u010dn\u011b hodn\u011b, \u010d\u00e1st z nich je jedine\u010dn\u00e1 a t\u00fdk\u00e1 se pouze v\u00e1s \u2014 nelze je snadno vyhledat. <\/p>\n<p><b>V tuto chv\u00edli se infrastrukturn\u00ed platforma st\u00e1v\u00e1 va\u0161\u00edm konkurenceschopn\u00fdm p\u0159\u00ednosem<\/b>, proto\u017ee v n\u00ed je zak\u00f3dov\u00e1no to, co ve n\u00e1stroji konkurence nen\u00ed. \u010c\u00edm hlub\u0161\u00ed je va\u0161e IP, t\u00edm v\u011bt\u0161\u00ed je va\u0161e konkuren\u010dn\u00ed v\u00fdhoda z pohledu Time-to-market. Zde se objevuje <b>probl\u00e9m vendor lock<\/b>: m\u016f\u017eete si vz\u00edt ciz\u00ed platformu, ale pou\u017e\u00edv\u00e1n\u00edm ciz\u00edho zku\u0161enost\u00ed nebudete rozum\u011bt, jak je relevantn\u00ed pro v\u00e1s. Ano, ne ka\u017ed\u00e1 spole\u010dnost m\u016f\u017ee vybudovat platformu jako Amazon. Je to slo\u017eit\u00e1 hranice, kde jsou zku\u0161enosti spole\u010dnosti relevantn\u00ed k jej\u00ed pozici na trhu, a vendor lock se sem nesm\u00ed pustit. O tom je tak\u00e9 d\u016fle\u017eit\u00e9 uva\u017eovat.<\/p>\n<h3>Sch\u00e9ma<\/h3>\n<p>\nToto je z\u00e1kladn\u00ed sch\u00e9ma infrastrukturn\u00ed platformy, kter\u00e9 v\u00e1m pom\u016f\u017ee nastavit v\u0161echny praktiky a procesy ve Va\u0161\u00ed DevOps spole\u010dnosti.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/af93f105c15bd0a24f25cc867dab9e8e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPod\u00edvejme se, z \u010deho se skl\u00e1d\u00e1.<\/p>\n<p><b>Syst\u00e9m orchestrace zdroj\u016f<\/b>, kter\u00fd poskytuje CPU, pam\u011b\u0165 a disk aplikac\u00edm a dal\u0161\u00edm slu\u017eb\u00e1m. Nad t\u00edmto \u2014 <b>n\u00edzkolevelov\u00e9 slu\u017eby<\/b>: monitorov\u00e1n\u00ed, logov\u00e1n\u00ed, CI\/CD engine, \u00falo\u017ei\u0161t\u011b artefakt\u016f, infrastruktura jako k\u00f3d syst\u00e9mu.<\/p>\n<p><b>Vy\u0161\u0161\u00ed \u00farove\u0148 slu\u017eeb<\/b>: datab\u00e1ze jako slu\u017eba, fronty jako slu\u017eba, Load Balance jako slu\u017eba, resize obr\u00e1zk\u016f jako slu\u017eba, Big Data factory jako slu\u017eba. Nad t\u00edm v\u0161\u00edm - <b>pipeline, kter\u00fd neust\u00e1le dod\u00e1v\u00e1 modifikovan\u00fd k\u00f3d va\u0161emu klientovi<\/b>.<\/p>\n<p>Z\u00edsk\u00e1v\u00e1te informace o tom, jak va\u0161e software funguje u klienta, m\u011bn\u00edte, znovu dod\u00e1v\u00e1te tento k\u00f3d, z\u00edsk\u00e1v\u00e1te informace - a tak neust\u00e1le rozv\u00edj\u00edte jak infrastrukturu platformy, tak va\u0161e software.<\/p>\n<p>Na diagramu dod\u00e1vac\u00ed pipeline se skl\u00e1d\u00e1 z mnoha f\u00e1z\u00ed. Ale tohle je princip\u00e1ln\u00ed sch\u00e9ma, kter\u00e9 je uvedeno jako p\u0159\u00edklad - nen\u00ed t\u0159eba ho opakovat jeden k jednomu. F\u00e1ze interaguj\u00ed se slu\u017ebami, jako se slu\u017ebami - ka\u017ed\u00fd cihli\u010dka platformy nese sv\u016fj p\u0159\u00edb\u011bh: jak se vy\u010dle\u0148uj\u00ed zdroje, jak se aplikace spou\u0161t\u00ed, pracuje se zdroji, monitoruje, m\u011bn\u00ed.<\/p>\n<p>Je d\u016fle\u017eit\u00e9 ch\u00e1pat, \u017ee ka\u017ed\u00e1 \u010d\u00e1st platformy nese p\u0159\u00edb\u011bh, a pt\u00e1t se sebe - jak\u00fd p\u0159\u00edb\u011bh nese tento cihli\u010dka, zda by se mohla vyhodit a nahradit extern\u00ed slu\u017ebou. Nap\u0159\u00edklad, lze m\u00edsto cihli\u010dky nasadit Okmeter? Mo\u017en\u00e1, \u017ee ho\u0161i u\u017e rozvinuli tuto odbornost mnohem v\u00edce, ne\u017e my. Ale mo\u017en\u00e1 \u017ee ne \u2013 mo\u017en\u00e1 m\u00e1me unik\u00e1tn\u00ed odbornost, mus\u00edme nasadit Prometheus a rozv\u00edjet to d\u00e1l.<\/p>\n<h3>Vytv\u00e1\u0159en\u00ed platformy<\/h3>\n<p>\nJe to slo\u017eit\u00fd komunika\u010dn\u00ed proces. Kdy\u017e m\u00e1te z\u00e1kladn\u00ed praxe, spust\u00edte komunikaci mezi r\u016fzn\u00fdmi in\u017een\u00fdry a specialisty, kte\u0159\u00ed vypracov\u00e1vaj\u00ed po\u017eadavky a standardy, a neust\u00e1le je m\u011bn\u00ed na r\u016fzn\u00e9 n\u00e1stroje a p\u0159\u00edstupy. Zde je d\u016fle\u017eit\u00e1 kultura, kter\u00e1 je v DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/0c123a3ebdeea96e32609e847568d917.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nS kulturou je to velmi jednoduch\u00e9 - <b>je to spolupr\u00e1ce a komunikace<\/b>, tedy ochota pracovat v spole\u010dn\u00e9m poli navz\u00e1jem, ochota ovl\u00e1dat jeden n\u00e1stroj spole\u010dn\u011b. Tady nen\u00ed \u017e\u00e1dn\u00e1 rocket science - v\u0161echno je velmi jednoduch\u00e9, ban\u00e1ln\u00ed. Nap\u0159\u00edklad v\u0161ichni \u017eijeme v dom\u011b a udr\u017eujeme jeho \u010distotu - takov\u00e1 \u00farove\u0148 kultury.<\/p>\n<h3>A co u v\u00e1s?<\/h3>\n<p>\nZnovu ot\u00e1zky, kter\u00e9 si m\u016f\u017eete polo\u017eit.<\/p>\n<p>Je infrastruktura platformy jasn\u011b vy\u010dlen\u011bna? Kdo odpov\u00edd\u00e1 za jej\u00ed rozvoj? Ch\u00e1pete konkuren\u010dn\u00ed v\u00fdhody sv\u00e9 infrastruktury platformy?<\/p>\n<p>Tyto ot\u00e1zky si mus\u00edte neust\u00e1le kl\u00e1st. Pokud je n\u011bco mo\u017en\u00e9 p\u0159en\u00e9st na extern\u00ed slu\u017eby, je t\u0159eba to ud\u011blat; pokud extern\u00ed slu\u017eba za\u010dne blokovat v\u00e1\u0161 pokrok, je t\u0159eba vybudovat syst\u00e9m uvnit\u0159 sebe.<\/p>\n<h2>Tak\u017ee, DevOps...<\/h2>\n<p>\n\u2026 to je slo\u017eit\u00fd syst\u00e9m, kter\u00fd by m\u011bl m\u00edt:<\/p>\n<ul>\n<li>Digit\u00e1ln\u00ed produkt.\n<\/li>\n<li>Obchodn\u00ed moduly, kter\u00e9 tento digit\u00e1ln\u00ed produkt rozv\u00edjej\u00ed.\n<\/li>\n<li>Produktov\u00e9 t\u00fdmy, kter\u00e9 p\u00ed\u0161\u00ed k\u00f3d.\n<\/li>\n<li>Praktiky Continuous Delivery.\n<\/li>\n<li>Platformy jako slu\u017eba.\n<\/li>\n<li>Infrastruktura jako slu\u017eba.\n<\/li>\n<li>Infrastruktura jako k\u00f3d.\n<\/li>\n<li>Jednotliv\u00e9 praktiky zaji\u0161t\u011bn\u00ed spolehlivosti, kter\u00e9 jsou zakomponov\u00e1ny do DevOps.\n<\/li>\n<li>Praxe zp\u011btn\u00e9 vazby, kter\u00e1 to v\u0161e popisuje.\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Co je DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/2a202db66a63b6d5b231da0573e59307.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTento sch\u00e9ma m\u016f\u017eete pou\u017e\u00edt a obarvit v n\u00ed to, co u\u017e ve va\u0161\u00ed spole\u010dnosti existuje v n\u011bjak\u00e9 form\u011b: to se vyvinulo nebo je t\u0159eba je\u0161t\u011b vyvinout.<\/p>\n<blockquote><p>U\u017e za p\u00e1r t\u00fddn\u016f prob\u011bhne <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf 2019<\/a><\/noindex>. v r\u00e1mci RIT++. P\u0159ij\u010fte na konferenci, kde v\u00e1s \u010dek\u00e1 spousta skv\u011bl\u00fdch p\u0159edn\u00e1\u0161ek o kontinu\u00e1ln\u00edm dod\u00e1v\u00e1n\u00ed, infrastruktu\u0159e jako k\u00f3du a DevOps transformaci. <noindex><a rel=\"nofollow\" href=\"https:\/\/conf.ontico.ru\/conference\/join\/rit2019.html?popup=3\">Rezervujte si vstupenky<\/a><\/noindex>, posledn\u00ed term\u00edn pro ceny je 20. kv\u011btna<\/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.3 - 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\/cs\/blog\/administrirovanie\/chto-takoe-devops\" \/>\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\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\/cs\/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\udd47Co je DevOps | ProHoster","description":"Definice DevOps je velmi slo\u017eit\u00e1, proto je t\u0159eba se ka\u017ed\u00fd \u010das znovu spustit diskusi o tom. Jen na Habr je tis\u00edc publikac\u00ed na toto t\u00e9ma. Ale pokud to \u010dtete, ur\u010dit\u011b v\u00edte, co DevOps je.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/chto-takoe-devops","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\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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/33725","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=33725"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/33725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/25405"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=33725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=33725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=33725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}