Technologie

Jun 27. 2018

Na cestě za DevOps

devops

DevOps není jen souhrn nástrojů, které můžete použít k dosažení vyšší efektivnosti. Je to kulturní hnutí, které ovlivňuje všechny aspekty tvorby produktů a vede organizace k inovacím a změnám, které je mohou posunout dopředu.

 

Existují 3 hlavní oblasti, které se musí sladit, aby bylo možné DevOps i reálně implementovat v organizací. A právě na těchto třech pilířích - lidé, procesy a technologie - je postaven DevOps.
 

Lidé

Každý produkt se váže na lidi, kteří ho vytvářejí, a proto je při DevOps třeba, aby měli tito lidé mezi sebou silné spojení a dokázali spolu dobře pracovat. Není možné, aby tým programátorů bojoval s operačním týmem a ten se síťovým týmem. Je důležité, aby všichni sdíleli své poznatky o produktu a zajistily tak, že práce bude plynule přecházet z jednoho týmu na druhý až ke poslední osobě - ​​klientovi. DevOps jako myšlenkové hnutí začalo v roce 2009, kdy John Allspaw a Paul Hammond odprezentovali svou známou řeč  “10 nasazení za den, spolupráce vývojáře a provozovny ve Flickru”. Oba v ní popsali to, jak jejich týmy spolu úzce spolupracovaly a tak vytvořili funkční a úspěšný produkt za velmi krátký čas.

 

Každý člen týmu musí pochopit, proč jeho firma implementuje DevOps a co to pro něj vlastně znamená. Pro tým vývojáře (Dev) to znamená více práce, protože více virtualizace v infrastruktuře znamená, že mají více práce s programováním prostředí. Neznamená to však, že provozní tým (Ops) tak ztrácí svou práci. Právě naopak, tento tým musí s programátory pracovat ještě intenzivněji než kdykoliv předtím a společně usměrňovat vývoj produktu.

 

Oddělení zajištění kvality (QA) musí také úzce spolupracovat s týmem vývojářů s cílem zajistit, aby automatizované testy proběhly úspěšně poté, co programátor vložil kód do VCS (Version Control System). Takový typ testů se může aplikovat při jakékoliv fázi produktu, závisí na potřeby a samotného testu.

 

devops

 

Procesy

Staré procesy ve firmě musí být upraveny a nahrazeny novými, aby mohly fungovat tak, jako při DevOps mají. Procesy by totiž neměly stát v cestě lidem, kteří se snaží dělat věci rychleji a efektivněji.

 

Model vodopádu (waterfall) je skvělým příkladem procesů, které by měly být nahrazeny. V minulosti se na úvodním setkání s klientem se definoval produkt, který se vyvíjel několik měsíců bez jakýchkoliv změn a nakonec tak klient dostal verzi produktu v1.0, která splňovala požadavky definovány a aktuální dávno před dokončením. V současnosti se trh mění příliš rychle na to, aby bylo něco takového správně a výsledný produkt úspěšný.

 

Na zkrácení příliš dlouhého období mezi jednotlivými cykly vývoje a vydávání produktu se zavedla agilní metodika (agile). Ty zkracují období mezi fázemi a díky tomu vidí klient výsledky již na konci každého sprintu (fáze). Takto zkrácené cykly vedou k efektivnějšímu plánování a lepšímu formování produktu. Provádění změn produktu, který je již hotový je výrazně náročnější a dražší.

 

Lean metodologie pracuje ruku v ruce s agile a pomáhá urychlovat vývoj softwaru, protože říká vývojářům, že je třeba přidat funkcionalitu až když je to nezbytné, aby zbytečně nedocházelo k plýtvání zdrojů.

 

Někteří říkají, že DevOps nahrazuje agile, ale není to úplně pravda. DevOps jako takový je sice postaven na stejných myšlenkách, snaží se je ale tlačit do ještě většího extrému. Produkt se vydává i několik desítek / stovek krát za den a nejen každé dva týdny jako je tomu u agilních metodách. Agile stále můžeme použít na stupeň před DevOps procesem, který představuje rozhraní mezi byznysem a samotným vývojem.

 

devops agile
                                                                                                      DevOps & Agile 

 

Technologie

DevOps ve velké míře závisí na technologiích, protože se snaží automatizovat toho co nejvíce. Každý krok procesu automatizace má k dispozici řadu nástrojů, které musí splňovat mnoho požadavků, plnit svou práci na 100% a navzájem dokonale spolupracovat. Mezi takové technologie patří nástroje na budování automatizace, automatické testovací sady, virtualizace a technologie kontejnerů, nástroje na nasazení (deployment), nástroje pro monitorování a mnoho dalších.

 

devops automatizacia
                                                                                 Automatizace | DevOps 

 

______________________________________________________________________

Přečtěte si také článek ↓
Jaké jsou 3 cesty, kterými lze využít DevOps?

Viktor

Viktor Šulák

Partner, Lead Backend Developer

Štítky: