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.
Foto / 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 asi pětkrát.
Komu je metodologie potřeba a komu ne
Mnozí , ž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 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ě 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 «“ a „» 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 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 testování nebo proces nasazení aplikací. Odborníci 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 organizacím umožňuje rychleji přijímat rozhodnutí týkající se vývoje aplikací, počet chyb v softwaru a motivuje zaměstnance k učení novému, má také své kritiky.
Existuje , ž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 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, .

Foto / 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, 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 , , . 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 IT giganty jako Amazon, Adobe a Facebook. Také pracují pro Netflix, Walmart a Etsy.
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 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 90 tisíc dolarů ročně (500 tisíc rublů měsíčně). V Kanadě mají 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 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 .
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 nebo . Členové Hacker News mohou také číst knihy "“ a „" (o kterých jsme se zmiňovali výše) a "" vydanou O’Reilly Media.
Další možností je přihlásit se k , přečíst si články tematického a začít komunikovat s DevOps inženýry v . Také se vyplatí studovat bezplatné kurzy na nebo .
Příspěvky z našeho blogu:
Zdroj: habr.com
