{"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\/lv\/blog\/administrirovanie\/chto-takoe-devops","title":{"rendered":"Kas ir DevOps","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>DevOps defin\u012bcija ir \u013coti sare\u017e\u0123\u012bta, t\u0101p\u0113c katru reizi ir j\u0101s\u0101k diskusija par to no jauna. Tikai Habr\u0101 ir t\u016bksto\u0161 publik\u0101ciju par \u0161o t\u0113mu. Bet, ja tu to lasi, tu, visticam\u0101k, zini, kas ir DevOps. Jo es \u2013 n\u0113. Sveiks, mans v\u0101rds ir <b>Aleksandrs Titovs (@<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/osminog\/\">osminog<\/a><\/noindex><\/b>), un m\u0113s vienk\u0101r\u0161i parun\u0101sim par DevOps un es padal\u012b\u0161os ar savu pieredzi.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/b3de97caab6db6b0e117f2637a5cbab8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs ilgi dom\u0101ju, k\u0101 padar\u012bt manu st\u0101stu noder\u012bgu, t\u0101p\u0113c \u0161eit b\u016bs daudz jaut\u0101jumu \u2013 gan tos, kurus es pats sev uzdodu, gan tos, kurus es uzdodu m\u016bsu uz\u0146\u0113muma klientiem. Atbildot uz \u0161iem jaut\u0101jumiem, izpratne k\u013c\u016bst lab\u0101ka. Es past\u0101st\u012b\u0161u, k\u0101p\u0113c DevOps ir nepiecie\u0161ams no manas skatupunkta, kas tas ir, atkal no manas poz\u012bcijas, un k\u0101 saprast, vai j\u016bsu uz\u0146\u0113mums virz\u0101s uz DevOps v\u0113lreiz no manas skatupunkta. P\u0113d\u0113jais punkts b\u016bs caur jaut\u0101jumiem. Atbildot uz tiem pa\u0161am sev, j\u016bs var\u0113siet saprast, vai j\u016bsu uz\u0146\u0113mums virz\u0101s uz DevOps vai kaut kas nav k\u0101rt\u012bb\u0101.<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=\"Atska\u0146ot video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nK\u0101du laiku es pavad\u012bju iepaz\u012bstoties ar apvieno\u0161an\u0101s un ieg\u0101des vi\u013c\u0146iem. S\u0101kum\u0101 es str\u0101d\u0101ju maz\u0101 start-up uz\u0146\u0113mum\u0101 Qik, kuru v\u0113l\u0101k ieg\u0101d\u0101j\u0101s mazliet liel\u0101ka komp\u0101nija Skype, kuru v\u0113l\u0101k ieg\u0101d\u0101j\u0101s v\u0113l mazliet liel\u0101ka komp\u0101nija Microsoft. \u0160aj\u0101 br\u012bd\u012b man k\u013cuva pieejama izpratne, k\u0101 tiek p\u0101rveidota izpratne par DevOps da\u017e\u0101du lielumu uz\u0146\u0113mumos. P\u0113c tam man k\u013cuva interesanti jau tirgus skat\u012bjum\u0101 apl\u016bkot DevOps, un m\u0113s ar kol\u0113\u0123iem izveidoj\u0101m uz\u0146\u0113mumu Ekspress 42. Jau 6 gadus m\u0113s virzamies taj\u0101 pa tirgus vi\u013c\u0146iem.<\/p>\n<p>Turkl\u0101t es esmu viens no DevOps Moscow kopienas organizatoriem un DevOps -Days 2017 organizators, bet 2018. gad\u0101 es organiz\u0113ju. Ekspress 42 sadarbojas ar daudziem uz\u0146\u0113mumiem. M\u0113s r\u016bp\u0113jamies par DevOps att\u012bst\u012bbu, skat\u0101mies, k\u0101 tas notiek, izdar\u0101m secin\u0101jumus, analiz\u0113jam, past\u0101st\u0101m savus secin\u0101jumus visiem, m\u0101c\u0101m cilv\u0113kus DevOps praksi. Visp\u0101r, mums ir \u013coti svar\u012bgi pilnveidot pieredzi un ekspert\u012bzi \u0161aj\u0101 jom\u0101.<\/p>\n<h2>K\u0101p\u0113c DevOps<\/h2>\n<p>\nPirmais jaut\u0101jums, kas vaj\u0101 visus un vienm\u0113r \u2013 k\u0101p\u0113c? Daudzi uzskata, ka DevOps ir tikai automatiz\u0101cija vai l\u012bdz\u012bga lieta, kas jau bija katr\u0101 uz\u0146\u0113mum\u0101.<\/p>\n<p><i>\u2013 Mums bija Continuous Integration \u2013 tas noz\u012bm\u0113, ka jau bija DevOps, un k\u0101p\u0113c visu \u0161o muld\u0113\u0161anu vajag? Tur \u0101rzem\u0113s izklaid\u0113jas, bet mums trauc\u0113 str\u0101d\u0101t!<\/i><\/p>\n<p>P\u0113c 9 gadu att\u012bst\u012bbas sabiedr\u012bbas un metodolo\u0123ijas jau ir skaidrs, ka tas tom\u0113r nav tikai m\u0101rketinga mirdzums, bet joproj\u0101m nav piln\u012bb\u0101 skaidrs, k\u0101p\u0113c tas ir nepiecie\u0161ams. K\u0101 jebkuram instrumentam un procesam, DevOps ir konkr\u0113ti m\u0113r\u0137i, kurus tas galu gal\u0101 risina.<\/p>\n<p>Tas viss ir saist\u012bts ar to, ka pasaule main\u0101s. T\u0101 p\u0101riet no uz\u0146\u0113mumu pieejas, kad komp\u0101nijas tiecas uz sapni, k\u0101 dzied\u0101ja m\u016bsu P\u0113terburgas klasi\u0137is, no punkta A uz punktu B, saska\u0146\u0101 ar noteiktu strat\u0113\u0123iju, ar \u0161im m\u0113r\u0137im izveidotu strukt\u016bru. <\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/bb78da721e949d89e58756d0d68bb56d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Princip\u0101 IT viss ir j\u0101b\u016bv\u0113 atbilsto\u0161i \u0161ai pieejai. \u0160eit IT tiek izmantots tikai procesu automatiz\u0101cijai.<\/p><\/blockquote>\n<p>\nAutomatiz\u0101cija nemain\u0101s bie\u017ei, jo, kad komp\u0101nija ripina pa iepriek\u0161 izveidoto taci\u0146u \u2013 ko tad tur main\u012bt? Ja viss darbojas \u2013 netrauc\u0113. Tagad pasaul\u0113 pieejas main\u0101s, un t\u0101, ko sauc par Agile, nor\u0101da, ka beigu punkts B nav uzreiz redzams.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/06553eff16fec2ece77aad454b8d8686.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKad komp\u0101nija iet tirg\u016b, str\u0101d\u0101 ar klientu \u2013 t\u0101 past\u0101v\u012bgi p\u0113ta tirgu un maina beigu punktu B. Turkl\u0101t, jo bie\u017e\u0101k komp\u0101nija maina savu virzienu, jo veiksm\u012bg\u0101ka t\u0101 galu gal\u0101 ir, jo t\u0101 izv\u0113las vair\u0101k tirgus ni\u0161u.<\/p>\n<p>Strat\u0113\u0123iju demonstr\u0113 interesanta komp\u0101nija, par kuru es uzzin\u0101ju nesen. One Box Shave \u2013 tas ir pakalpojums, kas pied\u0101v\u0101 sk\u016b\u0161an\u0101s ma\u0161\u012bnas un piederumus, kas pieejami pa abonementu kast\u012bt\u0113. Vi\u0146i prot piel\u0101got savu \"kast\u012bti\" da\u017e\u0101diem klientiem. Ar to nodarbojas noteikts programs, kas p\u0113c tam nos\u016bta pas\u016bt\u012bjumu uz korejie\u0161u fabriku, kas ra\u017eo produktu.<\/p>\n<p>\u0160o produktu ieg\u0101d\u0101j\u0101s komp\u0101nija Unilever par 1 miljardu dol\u0101ru. Tagad tas konkur\u0113 ar Gillette un ir izsitis no tirgus iev\u0113rojamu pirc\u0113ju da\u013cu Amerik\u0101. One Box Shave teikt:<\/p>\n<p><i>\u2014 4 asme\u0146i? Vai j\u016bs nopietni? K\u0101p\u0113c tas jums vajadz\u012bgs \u2013 tas nemaz neuzlabo sk\u016b\u0161an\u0101s kvalit\u0101ti. Speci\u0101li izv\u0113l\u0113ts kr\u0113ms, smar\u017ea un kvalitat\u012bvs skuveklis ar diviem asme\u0146iem risina daudz vair\u0101k jaut\u0101jumu nek\u0101 \u0161ie mu\u013c\u0137\u012bgie 4 asme\u0146i Gillette! Kam\u0113r m\u0113s tik dr\u012bz non\u0101ksim l\u012bdz 10?<\/i><\/p>\n<p>T\u0101 pasaule main\u0101s. Unilever pazi\u0146o, ka vi\u0146iem ir lieliska IT sist\u0113ma, kas to \u013cauj paveikt. Galu gal\u0101 tas izskat\u0101s p\u0113c koncepcijas <b>Time-to-market<\/b>, par kuru jau ir run\u0101ju\u0161i daudzi.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/fc10a54a6848a50f5d4c1fb36de8d921.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTime-to-market noz\u012bm\u0113 nevis to, cik bie\u017ei m\u0113s veicam izvieto\u0161anu. Da\u017ereiz var b\u016bt bie\u017ea izvieto\u0161ana, bet izlai\u0161anas cikli var b\u016bt gari. Ja tr\u012bs m\u0113ne\u0161u izlai\u0161anas ciklus viena p\u0113c otra p\u0101rvieto ned\u0113\u013c\u0101, tad izn\u0101k, ka uz\u0146\u0113mums it k\u0101 izvieto reizi ned\u0113\u013c\u0101. Bet ideja l\u012bdz gal\u012bgajai realiz\u0101cijai aiz\u0146em 3 m\u0113ne\u0161us.<\/p>\n<blockquote><p>Time-to-market ir par laika minimiz\u0113\u0161anu no idejas l\u012bdz gal\u012bgajai realiz\u0101cijai.<\/p><\/blockquote>\n<p>\n\u0160aj\u0101 gad\u012bjum\u0101 ar tirgu mijiedarbojas programmat\u016bra. Piem\u0113ram, One Box Shave m\u0101jaslapa mijiedarbojas ar klientu. Vi\u0146iem nav p\u0101rdev\u0113ju \u2014 tikai m\u0101jaslapa, kur apmekl\u0113t\u0101js spie\u017e un atst\u0101j v\u0113lmes. T\u0101p\u0113c m\u0101jaslap\u0101 ir past\u0101v\u012bgi j\u0101public\u0113 kaut kas jauns, j\u0101atjauno tas atbilsto\u0161i v\u0113lm\u0113m. Piem\u0113ram, Dienvidkorej\u0101 sk\u016bstas ne t\u0101, k\u0101 Krievij\u0101, un vi\u0146iem nepat\u012bk arom\u0101ts no pried\u0113m, bet gan, piem\u0113ram, burk\u0101ni un vani\u013ca.<\/p>\n<p>T\u0101 k\u0101 nepiecie\u0161ams \u0101tri main\u012bt m\u0101jaslapas saturu, programmat\u016bras izstr\u0101de iev\u0113rojami main\u0101s. Caur programmat\u016bru mums j\u0101noskaidro, ko v\u0113las klients. Agr\u0101k m\u0113s to uzzin\u0101j\u0101m da\u017e\u0101dos veidos, piem\u0113ram, caur biznesa mened\u017ementu. P\u0113c tam projekt\u0113j\u0101m, iek\u013c\u0101v\u0101m pras\u012bbas IT sist\u0113m\u0101, un viss bija lieliski. Tagad viss ir cit\u0101di \u2013 programmat\u016bru projekt\u0113 visi, kas iesaist\u012bti proces\u0101, tostarp in\u017eenieri, jo vi\u0146i, izmantojot tehnisk\u0101s specifik\u0101cijas, uzzina, k\u0101 darbojas tirgus, un ar\u012b dal\u0101s ar biznesu savos ieskatos.<\/p>\n<p>Piem\u0113ram, uz\u0146\u0113mum\u0101 Qik m\u0113s p\u0113k\u0161\u0146i uzzin\u0101j\u0101m, ka cilv\u0113kiem \u013coti pat\u012bk aug\u0161upiel\u0101d\u0113t kontaktu sarakstus server\u012b, un vi\u0146i mums izstr\u0101d\u0101ja lietotni. S\u0101kotn\u0113ji m\u0113s par to nebij\u0101m dom\u0101ju\u0161i. Klasisk\u0101 uz\u0146\u0113mum\u0101 visi teiktu, ka tas ir k\u013c\u016bda, jo specifik\u0101cij\u0101s nav nor\u0101d\u012bts, ka tas j\u0101darbojas labi un tas visp\u0101r tika realiz\u0113ts uz ce\u013ciem, t\u0101d\u0113\u013c tiktu izsl\u0113gta funkcija un teikts: \u201cTas nevienam nav vajadz\u012bgs, svar\u012bg\u0101kais ir tas, ka galven\u0101 funkcionalit\u0101te darbojas.\u201d Bet tehnolo\u0123iju uz\u0146\u0113mums \u0161aj\u0101 redz iesp\u0113ju un s\u0101k main\u012bt programmat\u016bru saska\u0146\u0101 ar to.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/557a53e5a864a39843fe20d521e16400.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n1968. gad\u0101 prozorojo\u0161s puisis Melvins Konvejs formul\u0113ja sekojo\u0161o ideju.<\/p>\n<blockquote><p>Organiz\u0101cija, kas izveido sist\u0113mu, ir ierobe\u017eota dizain\u0101, kas atspogu\u013co sazi\u0146as strukt\u016bru \u0161aj\u0101 organiz\u0101cij\u0101.<\/p><\/blockquote>\n<p>\nJa detaliz\u0113t\u0101k, lai izveidotu cita tipa sist\u0113mas, ir nepiecie\u0161ama citu veidu komunik\u0101cijas strukt\u016bra uz\u0146\u0113mum\u0101. Ja jums ir aug\u0161\u0113j\u0101 hierarhisk\u0101 komunik\u0101cijas strukt\u016bra, t\u0101 ne\u013caus jums veidot sist\u0113mas, kas var nodro\u0161in\u0101t \u013coti augstu Time-to-market r\u0101d\u012bt\u0101ju.<\/p>\n<p>Las\u012bt <noindex><a rel=\"nofollow\" href=\"http:\/\/evtuhovich.ru\/blog\/2016\/10\/05\/conways-law\/\">par Konveja likumu<\/a><\/noindex> var <noindex><a rel=\"nofollow\" href=\"http:\/\/www.melconway.com\/Home\/Committees_Paper.html\">pa sait\u0113m<\/a><\/noindex>. Tas ir svar\u012bgi, lai saprastu DevOps kult\u016bru vai filozofiju, jo <b>vien\u012bgais, kas pamat\u012bgi main\u0101s DevOps, ir tie\u0161i komunik\u0101cijas strukt\u016bra starp komand\u0101m<\/b>.<\/p>\n<p>Procesa skat\u012bjum\u0101 pirms DevOps visas stadijas: anal\u012bze, izstr\u0101de, test\u0113\u0161ana, ekspluat\u0101cija, notika line\u0101ri.<img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e667012430fcc952bac87d7f1fb6da03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDevOps gad\u012bjum\u0101 visi \u0161ie procesi notiek vienlaikus.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e4e031864d5d32d6446a95b6c609debd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTime-to-market tikai t\u0101 var tikt izpild\u012bts. Cilv\u0113kiem, kuri str\u0101d\u0101ju\u0161i vecaj\u0101 proces\u0101, tas \u0161\u0137iet nedaudz kosmiski un visp\u0101r t\u0101ds sev.<\/p>\n<h3>Tad k\u0101p\u0113c nepiecie\u0161ams DevOps?<\/h3>\n<p>\n<b>Digit\u0101lo produktu izstr\u0101dei<\/b>. Ja jums uz\u0146\u0113mum\u0101 nav digit\u0101l\u0101 produkta, DevOps nav vajadz\u012bgs \u2014 tas ir \u013coti svar\u012bgi.<\/p>\n<p><b>DevOps p\u0101rvar programmat\u016bras ra\u017eo\u0161anas sec\u012bgas sh\u0113mas \u0101truma ierobe\u017eojumus<\/b>. Taj\u0101 visi procesi notiek vienlaikus.<\/p>\n<p><b>Piecelties sare\u017e\u0123\u012bt\u012bba.<\/b> Kad DevOps eva\u0146\u0123\u0113listi st\u0101sta, ka ar to jums b\u016bs viegl\u0101k laist programmat\u016bru tirg\u016b \u2014 tas ir mu\u013c\u0137\u012bbas.<\/p>\n<blockquote><p>Ar DevOps viss b\u016bs tikai sare\u017e\u0123\u012bt\u0101k.<\/p><\/blockquote>\n<p>\nKonferenc\u0113 pie Avito stenda var\u0113ja redz\u0113t, kas ir Docker konteineru izvieto\u0161ana \u2014 nere\u0101ls uzdevums. Sare\u017e\u0123\u012bt\u012bba k\u013c\u016bst nepanesama, ir j\u0101\u017eongl\u0113 ar daudziem bumb\u0101m vienlaikus.<\/p>\n<p><b>DevOps piln\u012bb\u0101 maina procesu un organiz\u0101ciju uz\u0146\u0113mum\u0101<\/b>\u00a0\u2014 prec\u012bz\u0101k, nevis DevOps maina, bet gan digit\u0101lais produkts. Lai non\u0101ktu pie DevOps, tom\u0113r \u0161im procesam ir j\u0101main\u0101s piln\u012bb\u0101.<\/p>\n<h3>Jaut\u0101jumi speci\u0101listam<\/h3>\n<p>\nBet k\u0101 j\u016bs? Jaut\u0101jumi, kurus varat uzdot sev, str\u0101d\u0101jot uz\u0146\u0113mum\u0101 un att\u012bstoties k\u0101 speci\u0101lists.<\/p>\n<p><b>Vai jums ir strat\u0113\u0123ija digit\u0101l\u0101 produkta izveidei?<\/b> Ja ir \u2014 jau labi. Tas noz\u012bm\u0113, ka j\u016bsu uz\u0146\u0113mums virz\u0101s uz DevOps.<\/p>\n<p><b>J\u016bsu uz\u0146\u0113mums jau izstr\u0101d\u0101 digit\u0101lo produktu?<\/b> Tas noz\u012bm\u0113, ka j\u016bs varat uzk\u0101pt v\u0113l par vienu pak\u0101pi augst\u0101k, darboties interesant\u0101k\u0101 jom\u0101 \u2014 no DevOps skatupunkta atkal. Es tikai no \u0161\u012b skatupunkta run\u0101ju.<\/p>\n<p><b>Vai j\u016bsu uz\u0146\u0113mums ir viens no tirgus l\u012bderiem digit\u0101l\u0101 produkta ni\u0161\u0101?<\/b> Spotify, Yandex, Uber \u2014 komp\u0101nijas, kas \u0161obr\u012bd ir tehnolo\u0123iju progres\u0101 augst\u0101kaj\u0101 punkt\u0101.<\/p>\n<p>Uzdodiet sev \u0161os jaut\u0101jumus, un, ja visi atbildes ir negat\u012bvas, tad iesp\u0113jams, jums nevajadz\u0113tu darboties DevOps \u0161aj\u0101 uz\u0146\u0113mum\u0101. Ja temats par DevOps tie\u0161\u0101m jums interes\u0113, varb\u016bt\u2026 jums vajadz\u0113tu p\u0101rst\u0101ties k\u0101d\u0101 cit\u0101 uz\u0146\u0113mum\u0101? Ja j\u016bsu uz\u0146\u0113mums v\u0113las uzs\u0101kt DevOps, bet uz visiem jaut\u0101jumiem j\u016bs esat atbild\u0113ju\u0161i \u201eN\u0113\u201d, tad tas atg\u0101dina \u0161o skaisto rinoceros, kas nekad nemain\u012bsies.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/6a0145c368d5c96b315ead270b107712.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Organiz\u0101cija<\/h2>\n<p>\nK\u0101 jau teicu, saska\u0146\u0101 ar Konveja likumu uz\u0146\u0113mum\u0101 main\u0101s organiz\u0101cija. S\u0101ku\u0161u ar to, kas trauc\u0113 DevOps iek\u013c\u016bt uz\u0146\u0113mum\u0101 tie\u0161i no organiz\u0101cijas viedok\u013ca.<\/p>\n<h3>Problema \u201esilos\u201d<\/h3>\n<p>\nAng\u013cu v\u0101rds \u201eSilo\u201d \u0161eit ir tulkots uz krievu valodu k\u0101 \u201ekolodiets\u201d. J\u0113ga \u0161ai probl\u0113mai ir t\u0101da, ka <b>starp komand\u0101m nav inform\u0101cijas apmai\u0146as<\/b>. Katrs komanda izrok savu ekspert\u012bzi, neizveidojot kop\u0113ju karti, kur\u0101 var orient\u0113ties.<\/p>\n<p>Tas kaut ko atg\u0101dina par cilv\u0113ku, kur\u0161 tikko ir ieradies Maskav\u0101 un v\u0113l nezina, k\u0101 orient\u0113ties metro kart\u0113. Maskavie\u0161i parasti lieliski zina savu rajonu, bet vis\u0101 Maskav\u0101 orient\u0113jas p\u0113c metro kartes. Kad tu ierodies Maskav\u0101 pirmo reizi, \u0161\u012b prasme nav pieejama, un tu esi vienk\u0101r\u0161i dezorient\u0113ts.<\/p>\n<blockquote><p>DevOps pied\u0101v\u0101 iet cauri \u0161im dezorient\u0101cijas mirklim un vis\u0101m strukt\u016br\u0101m kop\u0101 izveidot kop\u0113ju mijiedarb\u012bbas karti.<\/p><\/blockquote>\n<p>\nTam trauc\u0113 divi faktori.<\/p>\n<p><b>Sekas korporat\u012bv\u0101s p\u0101rvald\u012bbas sist\u0113mas.<\/b> T\u0101 ir izveidota atsevi\u0161\u0137os hierarhiskos \u201ekolodietos\u201d. Piem\u0113ram, uz\u0146\u0113mumos ir noteikti KPI, kas atbalsta \u0161o sist\u0113mu. No otras puses, trauc\u0113 cilv\u0113ka dom\u0101\u0161ana, kuram ir gr\u016bti izk\u0101pt no savas ekspert\u012bzes robe\u017e\u0101m un orient\u0113ties vis\u0101 sist\u0113m\u0101. Tas ir vienk\u0101r\u0161i ne\u0113rti. Iedom\u0101jieties, ka esat non\u0101ku\u0161i Bangkokas lidost\u0101 \u2014 tur \u0101tri neorient\u0113sities. Ar\u012b DevOps ir gr\u016bti orient\u0113ties, un t\u0101p\u0113c cilv\u0113ki saka, ka nepiecie\u0161ams atrast ce\u013cvedi, lai tur nok\u013c\u016btu.<\/p>\n<p>Bet pats galvenais, ka probl\u0113ma \u201ekolodiets\u201d in\u017eenierim, kur\u0161 ir iedvesmojies ar DevOps garu, izlas\u012bjis Foulira un daudz citu gr\u0101matu, izpau\u017eas taj\u0101, ka <b>\u201ekolodieti\u201d ne\u013cauj veikt \u201eac\u012bmredzamas\u201d lietas<\/b>. M\u0113s bie\u017ei san\u0101kam kop\u0101 p\u0113c DevOps Maskava, run\u0101jam viens ar otru, un cilv\u0113ki s\u016bdzas:<\/p>\n<p><i>M\u0113s vienk\u0101r\u0161i grib\u0113j\u0101m palaist CI, bet izr\u0101d\u012bj\u0101s, ka vad\u012bbai tas nav nepiecie\u0161ams.<\/i><\/p>\n<p>Tas notiek tie\u0161i t\u0101p\u0113c, ka\u00a0<b>CI <\/b>un\u00a0<b>Continuous Delivery process<\/b> atrodas daudzu ekspert\u012b\u017eu robe\u017e\u0101s. Vienk\u0101r\u0161i nep\u0101rvarot \"st\u0101vok\u013ca\" probl\u0113mu organiz\u0101cijas l\u012bmen\u012b, neizdosies virz\u012bties uz priek\u0161u, lai ko j\u016bs dar\u012btu un cik skumji tas neizklaus\u012btos.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/96bcf835453a2419dbc9995822d86dd0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKatrs procesa dal\u012bbnieks uz\u0146\u0113mum\u0101: atpaka\u013c un priek\u0161puses izstr\u0101d\u0101t\u0101ji, test\u0113\u0161ana, DBA, ekspluat\u0101cija, t\u012bkls, rakt sav\u0101 virzien\u0101, bet kop\u012bgas kartes neviens neieg\u016bst, iz\u0146emot vad\u012bt\u0101ju, kur\u0161 kaut k\u0101 vi\u0146us uzrauga un p\u0101rvalda ar metodi \"dal\u012b\u0161an\u0101s un vald\u012b\u0161ana.\"<\/p>\n<blockquote><p>Cilv\u0113ki c\u012bn\u0101s par kaut k\u0101d\u0101m zvaigzn\u012bt\u0113m vai karogiem, katrs rakt savu ekspert\u012bzi.<\/p><\/blockquote>\n<p>\nGalu gal\u0101, kad par\u0101d\u0101s uzdevums apvienot visu kop\u0101 un izveidot kop\u0113jo cauru\u013cvadu, un par zvaigzn\u012bt\u0113m un karogiem vairs nav j\u0101c\u012bn\u0101s, rodas jaut\u0101jums - ko tad dar\u012bt? J\u0101vienojas, bet k\u0101 to izdar\u012bt, m\u016bs skol\u0101 neviens nem\u0101c\u012bja. M\u0113s v\u0113l no skolas esam m\u0101c\u012bti: astotais klases - vau! - sal\u012bdzin\u0101jum\u0101 ar sept\u012bto klasi! \u0160eit ir l\u012bdz\u012bgi.<\/p>\n<h3>J\u016bsu uz\u0146\u0113mum\u0101 ir t\u0101pat?<\/h3>\n<p>\nLai to p\u0101rbaud\u012btu, varat uzdot sev \u0161\u0101dus jaut\u0101jumus.<\/p>\n<p><b>Vai komandas izmanto kop\u0113jos r\u012bkus, vai iegulda izmai\u0146\u0101s \u0161ajos kop\u0113jos r\u012bkos?<\/p>\n<p>Cik bie\u017ei notiek komandu p\u0101rveido\u0161ana - da\u017ei speci\u0101listi no vienas komandas p\u0101riet uz citu komandu?<\/b> Tie\u0161i DevOps vid\u0113 tas k\u013c\u016bst par normu, jo da\u017ereiz cilv\u0113ks vienk\u0101r\u0161i nevar saprast, ar ko nodarbojas cita ekspert\u012bzes joma. Vi\u0146\u0161 p\u0101riet uz citu noda\u013cu, tur str\u0101d\u0101 divas ned\u0113\u013cas, lai izveidotu orient\u0101cijas un sadarb\u012bbas karti ar \u0161o noda\u013cu.<\/p>\n<p><b>Vai ir iesp\u0113jams izveidot izmai\u0146u komiteju un kaut ko main\u012bt? <\/b>Vai tam ir nepiecie\u0161ama sp\u0113c\u012bga augst\u0101k\u0101s vad\u012bbas roka un r\u012bkojums? Nesen es uzrakst\u012bju Facebook, k\u0101 viens maz\u0101k zin\u0101ms banka ievie\u0161 r\u012bkus, izdot r\u012bkojumu, gadu ievie\u0161, skat\u0101mies, kas notiek. Tas, protams, ir ilgi un skumji.<\/p>\n<p><b>Cik svar\u012bgi ir vad\u012bt\u0101jiem g\u016bt personiskus sasniegumus, ne\u0146emot v\u0113r\u0101 uz\u0146\u0113muma sasniegumus? <\/b><\/p>\n<p>Ja j\u016bs sev atbild\u0113siet uz \u0161iem jaut\u0101jumiem, k\u013c\u016bs skaidr\u0101k, vai jums ir t\u0101da probl\u0113ma uz\u0146\u0113mum\u0101.<\/p>\n<h2>Infrastrukt\u016bra k\u0101 kods<\/h2>\n<p>\nP\u0113c tam, kad \u0161\u012b probl\u0113ma ir atrisin\u0101ta, pirm\u0101 svar\u012bg\u0101 prakse, bez kuras ir gr\u016bti virz\u012bties uz priek\u0161u DevOps, ir <b>infrastrukt\u016bra k\u0101 kods<\/b>. <\/p>\n<p>Visbie\u017e\u0101k infrastrukt\u016bra k\u0101 kods tiek uztverta \u0161\u0101di:<\/p>\n<p><i>\u2014 \u013baujiet visu automatiz\u0113t ar bash, pies\u0101tin\u0101sim ar skriptiem, lai administratoriem b\u016btu maz\u0101k manu\u0101l\u0101 darba!<\/i><\/p>\n<p>Bet t\u0101 nav.<\/p>\n<blockquote><p>Infrastrukt\u016bra k\u0101 kods noz\u012bm\u0113, ka IT sist\u0113mu, ar kuru str\u0101d\u0101jat, j\u016bs aprakstat k\u0101 kodu, lai nep\u0101rtraukti saprastu t\u0101s st\u0101vokli.<\/p><\/blockquote>\n<p>\nKop\u0101 ar cit\u0101m komand\u0101m j\u016bs izveidojat karti k\u0101 koda form\u0101, kas ir visiem saprotama, p\u0113c kuras var orient\u0113ties un navig\u0113t. Nav svar\u012bgi, uz k\u0101 t\u0101 ir izveidota \u2014 Chef, Ansible, Salt, vai ar\u012b tiek izmantoti YAML faili Kubernetes \u2014 nav nek\u0101das at\u0161\u0137ir\u012bbas.<\/p>\n<p>Konferenc\u0113 kol\u0113\u0123is no 2GIS st\u0101st\u012bja, k\u0101 vi\u0146i izstr\u0101d\u0101ja savu iek\u0161\u0113jo r\u012bku Kubernetes, kas apraksta atsevi\u0161\u0137u sist\u0113mu uzb\u016bvi. Lai aprakst\u012btu 500 sist\u0113mas, vi\u0146iem bija nepiecie\u0161ams \u012bpa\u0161s r\u012bks, kas \u0123ener\u0113 \u0161o aprakstu. Kad \u0161is apraksts ir pieejams, ikviens var sal\u012bdzin\u0101t ar citiem, uzraudz\u012bt izmai\u0146as, k\u0101 to main\u012bt un uzlabot, k\u0101 ar\u012b saprast, k\u0101d\u0101 veid\u0101 tas tr\u016bkst. <\/p>\n<p>Piekr\u012btat, atsevi\u0161\u0137i bash skripti parasti nedod \u0161o izpratni. Vien\u0101 no uz\u0146\u0113mumiem, kur es str\u0101d\u0101ju, bija pat nosaukums \"write only\" skripts \u2014 kad skripts ir uzrakst\u012bts, bet to vairs nav iesp\u0113jams izlas\u012bt. Dom\u0101ju, tas jums ar\u012b b\u016bs paz\u012bstams.<\/p>\n<p>Infrastrukt\u016bra k\u0101 kods ir <b>kods, kas apraksta aktu\u0101lo infrastrukt\u016bras st\u0101vokli<\/b>. P\u0101r \u0161o kodu kop\u0101 str\u0101d\u0101 daudzas produktu, infrastrukt\u016bras un pakalpojumu komandas, un, galvenais, visiem tiem j\u0101izprot, k\u0101 \u0161is kods visp\u0101r darbojas.<\/p>\n<p><b>Kods tiek uztur\u0113ts saska\u0146\u0101 ar lab\u0101kaj\u0101m prakses pras\u012bb\u0101m saist\u012bb\u0101 ar kodu<\/b>: kop\u012bga izstr\u0101de, kods-p\u0101rbaude, XP-programming, test\u0113\u0161ana, pull piepras\u012bjumi, CI infrastrukt\u016bras kodam \u2014 tas viss ir der\u012bgs un var tikt izmantots.<\/p>\n<blockquote><p>Kods k\u013c\u016bst par kop\u012bgu valodu visiem in\u017eenieriem.<\/p><\/blockquote>\n<p>\n<b>Izmai\u0146as infrastrukt\u016br\u0101 kod\u0101 neprasa daudz laika<\/b>. J\u0101, infrastrukt\u016bras kod\u0101 ar\u012b var b\u016bt tehniskais par\u0101ds. Parasti komandas ar to saskaras p\u0113c pusotra gada, kad s\u0101k ieviest \"infrastrukt\u016bru k\u0101 kodu\" k\u0101 virkni skriptu vai pat Ansible, kuru vi\u0146i raksta k\u0101 n\u016bdeles-kodu, un v\u0113l bash skriptus pievieno visam. <\/p>\n<p><b>Svar\u012bgi<\/b>: ja j\u016bs v\u0113l neesat izm\u0113\u0123in\u0101ju\u0161i \u0161o lietu, atcerieties, ka <b>Ansible nav bash<\/b>! L\u016bdzu, r\u016bp\u012bgi izlasiet dokument\u0101ciju un izp\u0113tiet, ko par to raksta.<\/p>\n<blockquote><p>Infrastrukt\u016bra k\u0101 kods \u2014 t\u0101 ir infrastrukt\u016bras koda dal\u012b\u0161ana atsevi\u0161\u0137\u0101s sl\u0101\u0146os.<\/p><\/blockquote>\n<p>\nM\u016bsu uz\u0146\u0113mum\u0101 m\u0113s izdal\u0101m 3 pamata sl\u0101\u0146us, kas ir \u013coti saprotami un vienk\u0101r\u0161i, bet var b\u016bt ar\u012b vair\u0101k. J\u016bs varat apl\u016bkot savu infrastrukt\u016bras kodu un noteikt, vai jums ir \u0161is nosac\u012bjums vai n\u0113. Ja nav izdal\u012bti nek\u0101di sl\u0101\u0146i, tad ir j\u0101izv\u0113l\u0101s laiks un nedaudz j\u0101p\u0101rstr\u0101d\u0101.<br \/>\n<img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/71b6db022083137773df5c97d16da377.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Pamata sl\u0101nis<\/b>\u00a0\u2014 tas ir, k\u0101 tiek konfigur\u0113ta OS, rezerves kopijas un citas zemas l\u012bme\u0146a lietas, piem\u0113ram, k\u0101 tiek uzst\u0101d\u012bts Kubernetes pamata l\u012bmen\u012b.<\/p>\n<p><b>Servisu l\u012bmenis<\/b>\u00a0\u2014 tie ir pakalpojumi, kurus j\u016bs sniedzat izstr\u0101d\u0101t\u0101jam: \u017eurn\u0101lu k\u0101 pakalpojumu, uzraudz\u012bbu k\u0101 pakalpojumu, datu b\u0101zi k\u0101 pakalpojumu, slodzes balans\u0113\u0161anu k\u0101 pakalpojumu, rindu k\u0101 pakalpojumu, Past\u0101v\u012bgu pieg\u0101di k\u0101 pakalpojumu \u2014 daudzus pakalpojumus, kurus atsevi\u0161\u0137as komandas var nodro\u0161in\u0101t izstr\u0101dei. Viss tas ir j\u0101apraksta atsevi\u0161\u0137os modu\u013cos j\u016bsu konfigur\u0101cijas p\u0101rvald\u012bbas sist\u0113m\u0101.<\/p>\n<p><b>Sl\u0101nis, kur\u0101 tiek veidotas lietotnes<\/b> un tiek aprakst\u012bts, k\u0101 t\u0101s tiks izvietotas virs diviem iepriek\u0161\u0113jiem sl\u0101\u0146iem.<\/p>\n<h3>Kontroles jaut\u0101jumi<\/h3>\n<p>\nVai j\u016bsu uz\u0146\u0113mumam ir kop\u012bgs infrastrukt\u016bras repozitorijs? Vai j\u016bs kontrol\u0113jat tehnisko par\u0101du infrastrukt\u016br\u0101? Vai j\u016bs izmantojat izstr\u0101des praksi infrastrukt\u016bras repozitorij\u0101? Vai j\u016bsu infrastrukt\u016bra ir sadal\u012bta sl\u0101\u0146os? Var p\u0101rbaud\u012bt saska\u0146\u0101 ar sh\u0113mu Base-service-APP. Cik gr\u016bti ir veikt izmai\u0146as? <\/p>\n<p>Ja jums ir bijusi pieredze, kad izmai\u0146u izdar\u012b\u0161ana ilga pusotru dienu, tas noz\u012bm\u0113, ka jums ir radies tehniskais par\u0101ds, ar kuru j\u0101str\u0101d\u0101. J\u016bs tie\u0161i esat sask\u0101ru\u0161ies ar tehnisk\u0101 par\u0101da gr\u016bt\u012bb\u0101m infrastrukt\u016bras kod\u0101. Es atceros daudz t\u0101du st\u0101stu, kad, lai main\u012btu k\u0101du CCTL, bija j\u0101 p\u0101rstr\u0101d\u0101 puse infrastrukt\u016bras koda, jo rado\u0161ums un v\u0113lme visu automatiz\u0113t noveda pie t\u0101, ka visur ir viss aizs\u0113r\u0113jis, visas rokas ir no\u0146emtas un nepiecie\u0161ams p\u0101rstr\u0101d\u0101t.<\/p>\n<h2>Past\u0101v\u012bga pieg\u0101de<\/h2>\n<p>\nApskat\u012bsim debetu pret kred\u012btu. Vispirms tiek sniegta infrastrukt\u016bras apraksts, kas var b\u016bt diezgan pamata. Nav oblig\u0101ti viss j\u0101deta\u013co, bet k\u0101ds pamata apraksts ir nepiecie\u0161ams, lai j\u016bs var\u0113tu ar to str\u0101d\u0101t. Pret\u0113j\u0101 gad\u012bjum\u0101 nav skaidrs, uz k\u0101 t\u0101l\u0101k veidot nep\u0101rtrauktu pieg\u0101di. Visas \u0161\u012bs prakses tiek \u012bstenotas vienlaikus, kad j\u016bs piev\u0113r\u0161aties DevOps, bet j\u0101s\u0101k ar izpratni par to, kas jums ir, un k\u0101 to p\u0101rvald\u012bt. Tas ir tie\u0161i prakse 'infrastrukt\u016bra k\u0101 kods'.<\/p>\n<p>Kad saprasts, kas jums ir un k\u0101 to p\u0101rvald\u012bt, j\u016bs s\u0101kat dom\u0101t, k\u0101 izstr\u0101d\u0101t\u0101ja kodu vis\u0101tr\u0101k nos\u016bt\u012bt uz produkciju. Proti, kop\u0101 ar izstr\u0101d\u0101t\u0101ju \u2014 atcerieties par \u00abakme\u0146iem\u00bb probl\u0113mu, tas ir, nevis atsevi\u0161\u0137i cilv\u0113ki to izdom\u0101, bet komanda.<\/p>\n<p>Kad m\u0113s ar\u00a0<b>Ivanu Jevtuhovi\u010du<\/b> redz\u0113j\u0101m pirmo gr\u0101matu <b>D\u017eesa Hambla<\/b> un autora grupas <b>\u00abNep\u0101rtraukta pieg\u0101de\u00bb<\/b>, kas izn\u0101ca 2009. gad\u0101, m\u0113s ilgi dom\u0101j\u0101m, k\u0101 p\u0101rtulkot t\u0101s nosaukumu krievu valod\u0101. Grib\u0113j\u0101m to tulkot k\u0101 \u00abPast\u0101v\u012bgi pieg\u0101d\u0101t\u00bb, bet, diem\u017e\u0113l, to p\u0101rtulkoj\u0101m k\u0101 \u00abNep\u0101rtraukta pieg\u0101de\u00bb. Man \u0161\u0137iet, ka m\u016bsu nosaukum\u0101 ir kaut kas krievisks, ar sp\u0113ku.<\/p>\n<h3>Past\u0101v\u012bgi pieg\u0101d\u0101t \u2014 tas noz\u012bm\u0113<\/h3>\n<p>\n<b>Kods, kas atrodas produkt\u0101 kr\u0101tuv\u0113, vienm\u0113r var tikt izlaists produkcij\u0101<\/b>. Tas var ar\u012b netikt izlaists, bet vienm\u0113r ir gatavs tam. Attiec\u012bgi, j\u016bs vienm\u0113r rakst\u0101t kodu ar gr\u016bti izskaidrojamu satraukuma saj\u016btu. T\u0101 bie\u017ei par\u0101d\u0101s, kad izs\u016bt\u0101t infrastrukt\u016bras kodu. \u0160\u012b satraukuma saj\u016btai ir j\u0101b\u016bt \u2014 t\u0101 iedarbina dom\u0101\u0161anas procesus, kas \u013cauj rakst\u012bt kodu nedaudz sav\u0101d\u0101k. Tas j\u0101nostiprina noteikumos izstr\u0101des proces\u0101.<\/p>\n<p><b>Lai vienm\u0113r pieg\u0101d\u0101tu, nepiecie\u0161ams artefakta form\u0101ts, kas iet cauri infrastrukt\u016bras platformai. <\/b>Ja j\u016bs uz infrastrukt\u016bras platformu mestat da\u017e\u0101da form\u0101ta \u00abdz\u012bves atkritumus\u00bb, tad t\u0101 k\u013c\u016bst neviendab\u012bga, to ir gr\u016bti uztur\u0113t, rada tehnisk\u0101 par\u0101da probl\u0113mu. Artefakta form\u0101tu nepiecie\u0161ams izl\u012bdzin\u0101t \u2014 tas ir ar\u012b kolekt\u012bvs uzdevums: visiem kop\u0101 j\u0101sapulc\u0113jas, j\u0101aktiviz\u0113 smadzenes un j\u0101izdom\u0101 \u0161is form\u0101ts.<\/p>\n<p><b>Artefakts nep\u0101rtraukti uzlabojas un main\u0101s, p\u0101rejot cauri pieg\u0101des cauru\u013cvadam. <\/b>Kad artefakts p\u0101rvietojas cauri cauru\u013cvadam, tam vienm\u0113r trauc\u0113 ne\u0113rtas lietas, kas l\u012bdz\u012bgas tiem izaicin\u0101jumiem, ar kuriem saskaras artefakts, ko j\u016bs izlaid\u0101t ra\u017eo\u0161an\u0101. Ja klasisk\u0101 izstr\u0101d\u0113 ar to nodarbojas sist\u0113mu administrators, kur\u0161 veic izlaidi, tad DevOps proces\u0101 tas notiek past\u0101v\u012bgi: \u0161eit tas tiek p\u0101rbaud\u012bts ar testiem, tur - ievietots Kubernetes klaster\u012b, kas ir vair\u0101k vai maz\u0101k l\u012bdz\u012bgs ra\u017eo\u0161anai, un \u0161eit p\u0113k\u0161\u0146i s\u0101kas slodzes test\u0113\u0161ana.<\/p>\n<p>Tas nedaudz atg\u0101dina sp\u0113li Pac-Man - artefakts iziet cauri k\u0101dai st\u0101stij. Ir svar\u012bgi kontrol\u0113t, vai kods faktiski iziet st\u0101stu un vai tas ir saist\u012bts ar j\u016bsu ra\u017eo\u0161anu. Notikumus ar ra\u017eo\u0161anu var iek\u013caut Continuous Delivery proces\u0101: k\u0101dam t\u0101 ir bijis, kad kaut kas saboj\u0101j\u0101s, tagad m\u0113s vienk\u0101r\u0161i programm\u0113sim \u0161o scen\u0101riju sist\u0113m\u0101. Katru reizi kods iziet \u0161o scen\u0101riju un j\u016bs nesaskaraties ar \u0161o probl\u0113mu n\u0101kamreiz. J\u016bs uzzin\u0101siet par to daudz agr\u0101k, pirms tas non\u0101ks pie j\u016bsu klienta.<\/p>\n<p><b>Da\u017e\u0101das izvieto\u0161anas strat\u0113\u0123ijas. <\/b>Piem\u0113ram, j\u016bs izmantojat AB test\u0113\u0161anu vai kanarie\u0161u izvietojumus, lai da\u017e\u0101di \"p\u0101rbaud\u012btu\" kodu pie da\u017e\u0101diem klientiem, ieg\u016btu inform\u0101ciju par to, k\u0101 kods darbojas, un daudz agr\u0101k, pirms tas tiks izlaists uz 100 miljoniem lietot\u0101ju.<\/p>\n<p>\"Nep\u0101rtraukti pieg\u0101d\u0101t\" izskat\u0101s \u0161\u0101di.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/4b33e69a649a3ff862cc4b9301c49d81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Izstr\u0101des, CI, test\u0113\u0161anas, priek\u0161produkcijas un ra\u017eo\u0161anas pieg\u0101des process - tas nav atsevi\u0161\u0137a vide, bet gan posmi vai stacijas ar nedego\u0161\u0101m sum\u0101m, pa kur\u0101m p\u0101rvietojas j\u016bsu artefakts.<\/p><\/blockquote>\n<p>\nJa jums ir infrastrukt\u016bras kods, kas ir aprakst\u012bts k\u0101 Base Service APP, tas pal\u012bdz <b>neaizmirst visus scen\u0101rijus,<\/b>, un ierakst\u012bt tos ar\u012b k\u0101 kodu \u0161im artefaktam, <b>virz\u012bt artefaktu<\/b> un main\u012bt to kust\u012bbas gait\u0101.<\/p>\n<h3>Jaut\u0101jumi pa\u0161p\u0101rbaudei<\/h3>\n<p>\nLaiks no funkcionalit\u0101tes apraksta l\u012bdz izlaidei ra\u017eo\u0161an\u0101 ir 95% gad\u012bjumu maz\u0101k par ned\u0113\u013cu? Vai artefakta kvalit\u0101te palielin\u0101s katr\u0101 cauru\u013cvada posm\u0101? Vai ir st\u0101sts, pa kuru tas p\u0101rvietojas? Vai j\u016bs izmantojat da\u017e\u0101das izvieto\u0161anas strat\u0113\u0123ijas?<\/p>\n<p>Ja uz visiem jaut\u0101jumiem ir atbilde j\u0101, tad j\u016bs esat neticami for\u0161i! L\u016bdzu, ierakstiet atbildes koment\u0101ros - es b\u016b\u0161u priec\u012bgs).<\/p>\n<h3>Atsauksmes<\/h3>\n<p>\n\u0160\u012b ir pati gr\u016bt\u0101k\u0101 prakse no vis\u0101m. Konferenc\u0113 DevOpsConf kol\u0113\u0123is no Infobip, run\u0101jot par to, nedaudz muls\u0101ja v\u0101rdos, jo tas patie\u0161\u0101m ir \u013coti sare\u017e\u0123\u012bta prakse par to, ka j\u0101uzrauga faktiski viss!<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/d13c9964ad7686e68d51f1608bd0c1a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPiem\u0113ram, sen, kad es str\u0101d\u0101ju Qik un saprat\u0101m, ka j\u0101uzrauga faktiski viss. M\u0113s to izdar\u012bj\u0101m, un Zabbix mums bija 150 000 vien\u012bbu, kuras tiek nep\u0101rtraukti uzraudz\u012btas. Tas bija bied\u0113jo\u0161i, tehniskais direktors groz\u012bja pirkstu pie temp\u013ca:<\/p>\n<p><i>\u2014 Pui\u0161i, k\u0101p\u0113c j\u016bs serveri nomoc\u0101t ar neskaidru lietu?<\/i><\/p>\n<p>Bet tad notika gad\u012bjums, kas par\u0101d\u012bja, ka tas patie\u0161\u0101m ir \u013coti for\u0161a strat\u0113\u0123ija.<\/p>\n<p>Past\u0101v\u012bgi s\u0101ka zust viens no pakalpojumiem. S\u0101kotn\u0113ji vi\u0146\u0161 nekr\u012bt, kas ir interesanti, tur kods netika rakst\u012bts, jo tas bija pamata brokera, kur\u0101 praktiski nebija biznesa funkcionalit\u0101tes \u2014 vi\u0146\u0161 vienk\u0101r\u0161i s\u016bt\u012bja zi\u0146ojumus starp atsevi\u0161\u0137iem pakalpojumiem. Pakalpojums nemain\u012bj\u0101s 4 m\u0113ne\u0161us, un p\u0113k\u0161\u0146i s\u0101ka krist, ar k\u013c\u016bdu \"Segmentation fault\".<\/p>\n<p>M\u0113s bij\u0101m \u0161ok\u0113ti, atv\u0113r\u0101m m\u016bsu grafikus Zabbix, un noskaidroj\u0101m, ka pirms pusotras ned\u0113\u013cas b\u016btiski main\u012bj\u0101s piepras\u012bjumu uzved\u012bba API pakalpojum\u0101, kas izmanto \u0161o brokeri. T\u0101l\u0101k m\u0113s paskat\u012bj\u0101mies, ka main\u012bj\u0101s noteikt\u0101 zi\u0146ojumu veida nos\u016bt\u012b\u0161anas bie\u017eums. P\u0113c tam noskaidroj\u0101m, ka tas bija Android klienti. M\u0113s jaut\u0101j\u0101m:<\/p>\n<p><i>\u2014 Pui\u0161i, kas jums notika pusotras ned\u0113\u013cas laik\u0101?<\/i><\/p>\n<p>Atbild\u0113 dzird\u0113j\u0101m interesantu st\u0101stu par to, ka vi\u0146i p\u0101rb\u016bv\u0113ja UI. Maz ticams, ka k\u0101ds uzreiz pateiks, ka main\u012bj\u0101s HTTP bibliot\u0113ka. Android klientiem tas ir k\u0101 ziepes vann\u0101 \u2014 vi\u0146i to vienk\u0101r\u0161i neatceras. Galu gal\u0101, p\u0113c 40 min\u016b\u0161u sarunas m\u0113s noskaidroj\u0101m, ka vi\u0146i tom\u0113r nomain\u012bja HTTP bibliot\u0113ku, un tai main\u012bj\u0101s noklus\u0113juma laiki. Tas noveda pie t\u0101, ka main\u012bj\u0101s trafika uzved\u012bba pie API servera, kas savuk\u0101rt noveda pie situ\u0101cijas, kas izrais\u012bja sacens\u012bbu iek\u0161\u0113jo broker\u012b, un vi\u0146\u0161 s\u0101ka krist.<\/p>\n<p><b>Bez dzi\u013cas uzraudz\u012bbas to visp\u0101r ir neiesp\u0113jami atkl\u0101t.<\/b>. Ja organiz\u0101cij\u0101 ir v\u0113l viena probl\u0113ma ar \"\u016bdenstec\u0113m\", kad visi met viens uz otru, tas var ilgsto\u0161i turpin\u0101ties. J\u016bs vienk\u0101r\u0161i restart\u0113jat serveri, jo probl\u0113mu nav iesp\u0113jams atrisin\u0101t. Kad j\u016bs monitor\u0113jat, sekojat l\u012bdzi un re\u0123istr\u0113jat visus notikumus, kas jums ir, un izmantojat monitoringu k\u0101 test\u0113\u0161anu \u2014 rakst\u0101t kodu un t\u016bl\u012bt nor\u0101d\u0101t, k\u0101 to monitor\u0113t, ar\u012b kod\u0101 (mums jau ir infrastrukt\u016bra k\u0101 kods), viss k\u013c\u016bst skaidrs k\u0101 plaukst\u0101. Pat t\u0101das sare\u017e\u0123\u012btas probl\u0113mas ir viegli izsekojamas.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/86d286f36363d773852b4aa9808cc7a4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>V\u0101ciet visu inform\u0101ciju par to, kas notiek ar artefaktu katr\u0101 pieg\u0101des procesa posm\u0101 \u2014 ne ra\u017eo\u0161an\u0101.<\/p><\/blockquote>\n<p>\nIelieciet monitoringu CI, un tur jau b\u016bs redzamas da\u017eas pamata lietas. T\u0101lrakst\u012bja j\u016bs t\u0101s ieraudz\u012bsiet gan Test, gan PredProd, gan slodzes test\u0113\u0161an\u0101. V\u0101ciet inform\u0101ciju visos posmos, un ne tikai metriku, statistiku, bet ar\u012b \u017eurn\u0101lus: k\u0101 tika palaikts lietojums, anom\u0101lijas \u2014 v\u0101cat visu. <\/p>\n<p>Pret\u0113j\u0101 gad\u012bjum\u0101 b\u016bs gr\u016bti saprast. Es jau teicu, ka DevOps ir liel\u0101ka kompleksit\u0101te. <b>Lai tiktu gal\u0101 ar \u0161o kompleksit\u0101ti, nepiecie\u0161ama norm\u0101la anal\u012btika.<\/b>.<\/p>\n<h3>Pa\u0161nov\u0113rt\u0113\u0161anas jaut\u0101jumi.<\/h3>\n<p>\n<b>Vai j\u016bsu monitorings un \u017eurn\u0101la ieraksti ir izstr\u0101des instruments jums?<\/b> Vai j\u016bsu izstr\u0101d\u0101t\u0101ji, un j\u016bs pats, rakstot kodu, dom\u0101jat par to, k\u0101 to monitor\u0113t?<\/p>\n<p><b>Vai j\u016bs uzzin\u0101t par probl\u0113m\u0101m no klientiem? Vai j\u016bs lab\u0101k saprotat klientu no monitoringa un \u017eurn\u0101la ierakstiem?<\/b> <b>Vai j\u016bs lab\u0101k saprotat sist\u0113mu no monitoringa un \u017eurn\u0101la ierakstiem?<\/b> Vai j\u016bs main\u0101t sist\u0113mu tikai t\u0101p\u0113c, ka redzat pieaugumu sist\u0113m\u0101 un saprotat, ka v\u0113l tr\u012bs ned\u0113\u013cas un viss sabruks? <\/p>\n<p>Kad jums ir \u0161ie tr\u012bs komponenti, varat padom\u0101t par to, k\u0101da ir j\u016bsu uz\u0146\u0113muma infrastrukt\u016bras platforma.<\/p>\n<h2>Infrastrukt\u016bras platforma. <\/h2>\n<p>\nJ\u0113ga nav taj\u0101, ka tas ir atsevi\u0161\u0137u instrumentu kopums, kas ir katr\u0101 uz\u0146\u0113mum\u0101.<\/p>\n<blockquote><p>Infrastrukt\u016bras platformas j\u0113ga ir t\u0101da, ka visas komandas izmanto \u0161os instrumentus un att\u012bsta tos kop\u012bgi.<\/p><\/blockquote>\n<p>\nIr skaidrs, ka ir atsevi\u0161\u0137as komandas, kas ir atbild\u012bgas par atsevi\u0161\u0137u infrastrukt\u016bras platformas da\u013cu att\u012bst\u012bbu. Bet taj\u0101 pa\u0161\u0101 laik\u0101 atbild\u012bba par att\u012bst\u012bbu, darbsp\u0113ju, infrastrukt\u016bras platformas populariz\u0113\u0161anu ir katra in\u017eeniera zi\u0146\u0101.<b> Iek\u0161\u0113j\u0101 l\u012bmen\u012b tas k\u013c\u016bst par kop\u012bgu instrumentu<\/b>. <\/p>\n<p><b>Visas komandas att\u012bsta infrastrukt\u016bras platformu, izturas pret to k\u0101 pret savu IDE<\/b>. Sav\u0101 IDE j\u016bs instal\u0113jat da\u017e\u0101dus spraud\u0146us, lai viss b\u016btu skaisti un \u0101tri, iestat\u0101t sa\u012bsin\u0101jumtausti\u0146us. Kad atverat Sublime, Atom vai Visual Studio Code, j\u016bs tur redzat koda k\u013c\u016bdas un saprotat, ka nav iesp\u0113jams str\u0101d\u0101t, j\u016bs uzreiz saj\u016btat skumjas un skrienat labot savu IDE.<\/p>\n<p>Tie\u0161i t\u0101pat izturieties pret savu infrastrukt\u016bras platformu. Ja saprotat, ka ar to kaut kas nav k\u0101rt\u012bb\u0101, iesniedziet pieteikumu, ja pa\u0161i nevarat labot. Ja tur ir kaut kas vienk\u0101r\u0161s - labojiet pa\u0161i, nos\u016btiet pull request - pui\u0161i to izskat\u012bs, pievienos. Tas ir nedaudz at\u0161\u0137ir\u012bgs pieejas veids in\u017eeniertehniskajiem r\u012bkiem izstr\u0101d\u0101t\u0101ja pr\u0101ta ietvaros.<\/p>\n<p><b>Infrastrukt\u016bras platforma nodro\u0161ina artefakta p\u0101rvieto\u0161anu no izstr\u0101des uz klientu ar past\u0101v\u012bgu kvalit\u0101tes uzlabo\u0161anu<\/b>. IP ir ieprogramm\u0113ts st\u0101stu kopums, kas attiecas uz kodu ra\u017eo\u0161an\u0101. Gadu gait\u0101 \u0161o st\u0101stu k\u013c\u016bst \u013coti daudz, da\u013ca no tiem ir unik\u0101li un attiecas tikai uz jums - tos nav iesp\u0113jams samekl\u0113t. <\/p>\n<p><b>\u0160aj\u0101 br\u012bd\u012b infrastrukt\u016bras platforma k\u013c\u016bst par j\u016bsu konkurences priek\u0161roc\u012bbu<\/b>, jo taj\u0101 ir iek\u013cauts tas, k\u0101da nav konkurenta r\u012bkos. Jo dzi\u013c\u0101ka ir j\u016bsu IP, jo liel\u0101ka ir j\u016bsu konkurences priek\u0161roc\u012bba attiec\u012bb\u0101 uz Time-to-market. \u0160eit rad\u012bsies <b>vendora sl\u0113g\u0161anas probl\u0113ma<\/b>: j\u016bs varat \u0146emt sev sve\u0161u platformu, bet, izmantojot sve\u0161u pieredzi, j\u016bs nesaprat\u012bsit, cik t\u0101 ir attiecin\u0101ma uz jums. J\u0101, ne katra komp\u0101nija var uzb\u016bv\u0113t platformu, kas ir l\u012bdz\u012bga Amazonai. Tas ir sare\u017e\u0123\u012bts aspekts, kur uz\u0146\u0113muma pieredze ir atbilsto\u0161a t\u0101 poz\u012bcijai tirg\u016b, un \u0161eit nevajadz\u0113tu atsl\u0101bin\u0101t vendor lock. Par to ar\u012b ir svar\u012bgi padom\u0101t.<\/p>\n<h3>Sh\u0113ma<\/h3>\n<p>\n\u0160\u012b ir pamata infrastrukt\u016bras platformas sh\u0113ma, kas pal\u012bdz\u0113s jums sak\u0101rtot visas prakses un procesus DevOps uz\u0146\u0113mum\u0101.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/af93f105c15bd0a24f25cc867dab9e8e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nApskat\u012bsim, no k\u0101 t\u0101 sast\u0101v.<\/p>\n<p><b>Resursu or\u0137estr\u0113\u0161anas sist\u0113ma<\/b>, kas nodro\u0161ina CPU, atmi\u0146u, disku lietojumprogramm\u0101m un cit\u0101m pakalpojumu sist\u0113m\u0101m. Virs t\u0101 - <b>zem\u0101ka l\u012bme\u0146a pakalpojumi<\/b>: uzraudz\u012bba, \u017eurn\u0101lu saglab\u0101\u0161ana, CI\/CD dzin\u0113js, artefaktu kr\u0101tuve, infrastrukt\u016bra k\u0101 kods sist\u0113m\u0101m.<\/p>\n<p><b>Augst\u0101ka l\u012bme\u0146a pakalpojumi<\/b>: datu b\u0101ze k\u0101 pakalpojums, rindas k\u0101 pakalpojums, Load Balance k\u0101 pakalpojums, att\u0113lu p\u0101rveido\u0161ana k\u0101 pakalpojums, Big Data fabrika k\u0101 pakalpojums. Virs t\u0101 \u2014 <b>pipeline, kas nep\u0101rtraukti pieg\u0101d\u0101 modific\u0113tu kodu j\u016bsu klientam<\/b>.<\/p>\n<p>J\u016bs sa\u0146emat inform\u0101ciju par to, k\u0101 j\u016bsu programmat\u016bra darbojas pie klienta, veicat izmai\u0146as, atk\u0101rtoti pieg\u0101d\u0101jat \u0161o kodu, sa\u0146emat inform\u0101ciju \u2014 un t\u0101 nep\u0101rtraukti att\u012bst\u0101t gan infrastrukt\u016bras platformu, gan savu programmat\u016bru.<\/p>\n<p>Diagramm\u0101 pieg\u0101des pipeline sast\u0101v no daudziem posmiem. Bet tas ir princip\u0101ls sh\u0113ma, kas sniegta piem\u0113ram \u2014 nav nepiecie\u0161ams to atk\u0101rtot tie\u0161i t\u0101pat. Posmi mijiedarbojas ar pakalpojumiem, k\u0101 ar pakalpojumiem \u2014 katram platformas blokam ir sava v\u0113sture: k\u0101 tiek pie\u0161\u0137irti resursi, k\u0101 lietojumprogramma start\u0113, str\u0101d\u0101 ar resursiem, tiek uzraudz\u012bta un main\u012bta.<\/p>\n<p>Ir svar\u012bgi saprast, ka katra platformas da\u013ca nes savu st\u0101stu, un uzdot sev jaut\u0101jumu \u2014 k\u0101du st\u0101stu nes \u0161is bloks, varb\u016bt to vajadz\u0113tu izmest un aizst\u0101t ar tre\u0161o pu\u0161u pakalpojumu. Piem\u0113ram, vai varam viet\u0101 \u0161\u012b bloka izmantot Okmeter? Varb\u016bt pu\u0146i ir att\u012bst\u012bju\u0161i \u0161o ekspert\u012bzi daudz lab\u0101k nek\u0101 m\u0113s. Bet varb\u016bt nav \u2014 iesp\u0113jams, mums ir unik\u0101la ekspert\u012bze, mums ir j\u0101ievie\u0161 Prometheus un j\u0101turpina att\u012bst\u012bt to t\u0101l\u0101k.<\/p>\n<h3>Platformas izveide<\/h3>\n<p>\nTas ir sare\u017e\u0123\u012bts komunik\u0101cijas process. Kad jums ir pamata prakses, j\u016bs uzs\u0101kat sazi\u0146u starp da\u017e\u0101diem in\u017eenieriem un speci\u0101listiem, kuri izstr\u0101d\u0101 pras\u012bbas un standartus, un past\u0101v\u012bgi tos maina attiec\u012bb\u0101 uz da\u017e\u0101diem r\u012bkiem un pieej\u0101m. \u0160eit svar\u012bga ir kult\u016bra, kas past\u0101v DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/0c123a3ebdeea96e32609e847568d917.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPar kult\u016bru viss ir \u013coti vienk\u0101r\u0161i \u2014 <b>tas ir sadarb\u012bba un komunik\u0101cija<\/b>, t.i., v\u0113lme str\u0101d\u0101t kop\u0113j\u0101 lauci\u0146\u0101 viens ar otru, v\u0113lme kop\u012bgi lietot vienu r\u012bku. Te nav nek\u0101das ezot\u0113riskas zin\u0101tnes \u2014 viss ir \u013coti vienk\u0101r\u0161i, ban\u0101li. Piem\u0113ram, m\u0113s visi dz\u012bvojam k\u0101p\u0146u telp\u0101 un uzturam t\u0101s t\u012br\u012bbu \u2014 t\u0101ds kult\u016bras l\u012bmenis.<\/p>\n<h3>Bet k\u0101 jums?<\/h3>\n<p>\nAtkal jaut\u0101jumi, kurus varat sev uzdot.<\/p>\n<p>Vai infrastrukt\u016bras platforma ir izdal\u012bta? Kur\u0161 atbild par t\u0101s att\u012bst\u012bbu? Vai j\u016bs saprotat savas infrastrukt\u016bras platformas konkurences priek\u0161roc\u012bbas?<\/p>\n<p>\u0160os jaut\u0101jumus ir j\u0101uzdod past\u0101v\u012bgi. Ja kaut ko var p\u0101rcelt uz \u0101r\u0113jiem pakalpojumiem \u2013 j\u0101, tas ir j\u0101izdara; ja \u0101r\u0113jais pakalpojums s\u0101k blo\u0137\u0113t j\u016bsu darb\u012bbu, tad j\u0101veido sist\u0113ma sev\u012b.<\/p>\n<h2>T\u0101tad, DevOps...<\/h2>\n<p>\n\u2026 tas ir sare\u017e\u0123\u012bta sist\u0113ma, kur\u0101 j\u0101b\u016bt:<\/p>\n<ul>\n<li>Digit\u0101lais produkts.\n<\/li>\n<li>Biznesa modu\u013ci, kas att\u012bsta \u0161o digit\u0101lo produktu.\n<\/li>\n<li>Produktu komandas, kas raksta kodu.\n<\/li>\n<li>Continuous Delivery prakses.\n<\/li>\n<li>Platformas k\u0101 pakalpojums.\n<\/li>\n<li>Infrastrukt\u016bra k\u0101 pakalpojums.\n<\/li>\n<li>Infrastrukt\u016bra k\u0101 kods.\n<\/li>\n<li>Atsevi\u0161\u0137as uzticam\u012bbas uztur\u0113\u0161anas prakses, kas ir ieb\u016bv\u0113tas DevOps.\n<\/li>\n<li>Atsauksmes prakse, kas visu to apraksta.\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Kas ir DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/2a202db66a63b6d5b231da0573e59307.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0160o sh\u0113mu var izmantot, akcent\u0113jot to, kas jums jau ir uz\u0146\u0113mum\u0101 k\u0101d\u0101 form\u0101: tas ir att\u012bst\u012bjies vai v\u0113l j\u0101att\u012bsta.<\/p>\n<blockquote><p>Jau p\u0113c da\u017e\u0101m ned\u0113\u013c\u0101m notiks <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf 2019<\/a><\/noindex>. RIT++ sast\u0101v\u0101. N\u0101ciet uz konferenci, kur j\u016bs gaida daudz lielisku zi\u0146ojumu par nep\u0101rtrauktu pieg\u0101di, infrastrukt\u016bru k\u0101 kodu un DevOps p\u0101rveidi. <noindex><a rel=\"nofollow\" href=\"https:\/\/conf.ontico.ru\/conference\/join\/rit2019.html?popup=3\">Rezerv\u0113jiet bi\u013cetes<\/a><\/noindex>, p\u0113d\u0113jais cenas termi\u0146\u0161 ir 20. maijs<\/p><\/blockquote>\n<p>Avots: <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.5 - 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\/lv\/blog\/administrirovanie\/chto-takoe-devops\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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\udd47Kas ir DevOps | ProHoster","description":"Defin\u0113t DevOps ir \u013coti sare\u017e\u0123\u012bti, t\u0101p\u0113c katru reizi j\u0101s\u0101k diskusija par to no jauna. Tikai Habr\u0101 ir t\u016bksto\u0161 publik\u0101ciju par \u0161o t\u0113mu. Bet, ja j\u016bs to las\u0101t, tad noteikti zin\u0101t, kas ir DevOps.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/chto-takoe-devops","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/33725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=33725"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/33725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/25405"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=33725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=33725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=33725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}