Co je metodologie DevOps a kdo ji potřebuje?

Rozumíme podstatě metodologie a komu může přinést užitek.

Také si promluvíme o DevOps specialistech: jejich úkolech, platech a dovednostech.

Co je metodologie DevOps a kdo ji potřebuje?
Foto Matt Moor / Flickr / CC BY-SA

Co je DevOps

DevOps je metodologie vývoje softwaru, jejímž cílem je zlepšit spolupráci mezi programátory a administrátory v společnosti. Pokud si IT specialisté z různých oddělení navzájem neporozumí, vývoj nových aplikací a jejich aktualizace se zpožďuje.

DevOps vytváří „bezešvý“ cyklus vývoje, čímž pomáhá urychlit uvedení softwarového produktu na trh. Urychlení se dosahuje zavedením automatizovaných systémů. Navíc programátoři začínají participovat na konfiguraci serverů a hledání chyb, například mohou psát automatizované testy.

Tímto způsobem se zlepšuje interakce mezi odděleními. Zaměstnanci lépe chápou, jaké fáze prochází softwarový produkt, než se dostane do rukou uživatele.

Když vývojář ví, s čím se administrator setkává při konfiguraci serveru, snaží se vyhladit možné "ostré hrany" v kódu. To snižuje počet chyb při nasazení aplikace — podle statistik je to sníženo asi pětkrát.

Komu je metodologie potřeba a komu ne

Mnozí experti na IT se domnívají, že DevOps přinese užitek jakékoli organizaci, která se zabývá vývojem softwaru. To platí i v případě, že je společnost pouhým uživatelem IT služeb a nevytváří vlastní aplikace. V tomto případě zavedení DevOps kultury pomůže soustředit se na inovace.

Výjimkou jsou startupové firmy, ale i zde záleží na rozsahu projektu. Pokud je vaším cílem uvést na trh minimálně životaschopný produkt (minimum viable product, MVP) k otestování nové myšlenky, pak se můžete obejít i bez DevOps. Například zakladatel Groupon na začátku práce na službě ručně umístil všechny nabídky na webu a sbíral objednávky. Nepoužíval žádné automatizační nástroje.

Zavádět metodologii a automatizační nástroje má smysl pouze tehdy, když aplikace začne získávat popularitu. To pomůže nastavit obchodní procesy a urychlit vydání aktualizací.

Jak zavést DevOps

Dále je několik doporučení pro přechod na novou metodologii.

Odhalte problémy v podnikových procesech. Před zavedením metodologie vymezte cíle a problémové oblasti organizace. Od těchto záležitostí bude záviset strategie přechodu na DevOps. Za tímto účelem vytvořte seznam otázek, například:

  • Na co se při aktualizaci softwaru vynakládá nejvíce času?
  • Lze tento proces automatizovat?
  • Má na to vliv struktura organizace?

Podrobnosti o odhalování problémů v organizaci můžete si přečíst v knihách «Projekt „Fénix““ a „Příručka k DevOps» od autorů metodologie.

Změňte kulturu ve firmě. Je důležité přesvědčit všechny zaměstnance, aby změnili své obvyklé pracovní postupy a rozšířili své kompetence. Například ve Facebooku všichni programátoři odpovídají za celý životní cyklus aplikace: od psaní kódu až po nasazení. Také ve Facebooku není samostatné oddělení testování - testy píšou sami vývojáři.

Začněte s malým. Vyberte si proces, který zabírá nejvíce času a úsilí při vydávání aktualizací, a automatizujte ho. To je může být testování nebo proces nasazení aplikací. Odborníci doporučují nejprve doporučují zavést nástroje pro distribuovanou správu verzí. S nimi je jednodušší spravovat zdrojové kódy. Mezi taková řešení patří nejznámější Git, Mercurial, Subversion (SVN) a CVS.

Také se vyplatí zaměřit se na systémy pro kontinuální integraci, které jsou zodpovědné za sestavení a testování konečného produktu. Příkladem takových nástrojů jsou Jenkins, TeamCity a Bamboo.

Hodnoťte zlepšení. Vypracujte metriky efektivity implementovaných řešení a sestavte kontrolní seznam. Metrikami mohou být četnost vydání, čas strávený na funkcích softwaru, počet chyb v kódu. Diskutujte o výsledcích nejen s manažery, ale také s ostatním týmem zapojeným do projektu. Ptejte se, jaké nástroje chybí. Zohledněte tyto požadavky při dalším optimalizaci procesů.

Kritika DevOps

Ačkoliv metodologie pomáhá organizacím umožňuje rychleji přijímat rozhodnutí týkající se vývoje aplikací, snižuje počet chyb v softwaru a motivuje zaměstnance k učení novému, má také své kritiky.

Existuje názor, že programátoři by neměli být obeznámeni s detaily fungování systémových administrátorů. Prý DevOps vede k tomu, že ve firmě místo specialistů na vývoj či administraci vznikají lidé, kteří se orientují ve všem, ale povrchně.

Také se tvrdí, že DevOps nefunguje při špatném managementu. Pokud týmy vývojářů a administrátorů nemají společné cíle, je to vina manažerů, kteří neorganizují spolupráci mezi týmy. K vyřešení tohoto problému není potřeba nová metodologie, ale systém hodnocení manažerů na základě zpětné vazby od podřízených. Zde si můžete přečíst, jaké otázky by měly být zahrnuty do dotazníků pro zaměstnance.

Co je metodologie DevOps a kdo ji potřebuje?
Foto Ed Ivanuškin / Flickr / CC BY-SA

Kdo je DevOps inženýr

DevOps inženýr se zabývá implementací metodologie DevOps. Synchronizuje všechny fáze vývoje softwarového produktu: od psaní kódu po testování a vydání aplikace. Tento odborník dohlíží na vývojové a administrativní oddělení a také automatizuje plnění jejich úloh zaváděním různých softwarových nástrojů.

Hlavní výhodou DevOps inženýra je, že kombinuje více profesí: administrátora, vývojáře, testera a manažera.

Joe Sanchez, DevOps evangelista z VMware, společnosti vyvíjející software pro virtualizaci, vyzdvihl seznam dovedností, kterými by měl DevOps inženýr disponovat. Kromě zřejmého znalosti metodologie DevOps by měl mít zkušenosti s administrací operačních systémů Windows a Linux a s nástroji pro automatizaci jako je Chef, Puppet, Ansible. Měl by také umět psát skripty a kód ve dvou nebo třech jazycích a mít znalosti o síťových technologiích.

DevOps inženýr odpovídá za veškerou automatizaci úloh spojených s konfigurací a nasazením aplikací. Na jeho bedrech leží i monitoring softwaru. K řešení těchto úloh používá různé systémy pro správu konfigurace, virtualizační řešení a cloudové nástroje pro vyvažování zdrojů.

Kdo najímá

DevOps inženýři mohou prospět jakékoli organizaci, jejíž činnost souvisí s vývojem aplikací nebo správou velkého množství serverů. DevOps inženýři jsou najímáni IT giganty jako Amazon, Adobe a Facebook. Také pracují pro Netflix, Walmart a Etsy.

Není pravda, že DevOps inženýry najímají pouze startupy. Jejich úkolem je vydat minimálně životaschopný produkt, aby otestovali novou myšlenku. Ve většině případů se startupy mohou obejít bez DevOps.

Kolik vydělávají

DevOps inženýři vydělávají nejvíce v oboru. Průměrný příjem těchto odborníků po celém světě se pohybuje od 100 do 125 tisíc dolarů ročně.

V USA získávají 90 tisíc dolarů ročně (500 tisíc rublů měsíčně). V Kanadě mají platí 122 tisíce dolarů ročně (670 tisíc rublů měsíčně) a ve Velké Británii 67,5 tisíce liber ročně (490 tisíc rublů měsíčně).

Pokud jde o Rusko, moskevské firmy jsou připraveny platit specialistům na DevOps od 100 do 200 tisíc rublů měsíčně. V Petrohradu zaměstnavatelé nabízejí o něco více — 160–360 tisíc rublů měsíčně. V regionech udávají mzdu 100–120 tisíc rublů měsíčně.

Jak se stát specialistou na DevOps

DevOps je relativně novým směrem v IT, a proto neexistuje ustálený seznam požadavků na DevOps inženýry. V inzerátech na tuto pozici se lze setkat jak s dovednostmi administrace Debianu a CentOS, tak s uměním pracovat s diskovými RAID poli.

Na základě toho lze konstatovat, že DevOps inženýr by měl mít dobrý technický přehled. Takovému člověku je důležité neustále se vzdělávat o nových nástrojích a technologiích.

Nejjednodušší bude stát se DevOps inženýrem administrátorovi nebo vývojáři. Ti již mají řadu dovedností, které je třeba jen rozvinout. Hlavním úkolem je posílít minimální sadu znalostí o DevOps, pochopit, jak pracovat s nástroji automatizace, a vyplnit mezery ve znalostech administrace, programování a virtualizace.

Abychom pochopili, kde nám ještě chybí znalosti, můžeme využít mini-wikipedii na GitHubu nebo mentální mapu. Členové Hacker News mohou také doporučují číst knihy "Projekt „Fénix““ a „Příručka k DevOps" (o kterých jsme se zmiňovali výše) a "Filozofie DevOps. Umění správy IT" vydanou O’Reilly Media.

Další možností je přihlásit se k newsletteru Devops Weekly, přečíst si články tematického portálu DZone a začít komunikovat s DevOps inženýry v Slack chatu. Také se vyplatí studovat bezplatné kurzy na Udacity nebo edX.

Příspěvky z našeho blogu:



Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster