Release Engineering je často zaměňován s DevOps. Existuje dobrý důvod. Role a odpovědnosti se často překrývají. DevOps lze považovat za nadmnožinu inženýrství vydání.
Release Engineering
Release engineering je obor, který se soustředí na nasazení softwaru. Snaží se vyrábět kvalitnější software spolehlivou a předvídatelnou rychlostí. Jeho mandátem je vylepšit potrubí pro vytváření a vydávání softwaru. Zde je několik věcí, které inženýrství vydání zdůrazňuje:
- Implementuje správu verzí - Release Engineering se pokouší přidat do kódu sledovatelnost a spolehlivost. Takže kód je udržován v úložištích pro správu verzí, jako je Git, SVN, Perforce atd. Vývojové týmy používají tyto systémy pro správu verzí k lepšímu sledování vývoje kódu.
- Automates Build and Release Pipelines - Release Engineering se soustředí na hledání automatizačních nástrojů pro zlepšení rychlosti a spolehlivosti procesu vydání. Od prvního potvrzení kódu do správy verzí až po konečný produkt, který se dostane k zákazníkovi, vývojové vydání stále vylepšuje proces. Kontinuální integrace a nepřetržité doručování (CI / CD) hraje důležitou roli v moderních automatizovaných systémech sestavení / vydání.
- Správa konfigurace - Jak softwarový kód prochází různými cykly vývoje, testování, fázování a výroby, správa konfigurace zajišťuje, že atributy produktu jsou konzistentní během celého životního cyklu softwaru.
- Výroba a nasazení - Každý software, který je vydán zákazníkovi v produkčním prostředí, musí být úzce svázán se svým původem. Pokud tedy nastane problém, mohou jej firmy vysledovat zpět ke zdroji.
DevOps
DevOps má širší mandát. Soustředí se na vytvoření mezifunkční spolupráce mezi týmy.
V minulosti vývojové týmy a operační týmy pracovaly ve vlastních silách. Když vývojové týmy nasadily svůj kód do výroby, vedly by se ostré diskuse o tom, kdo převezme odpovědnost za jakékoli produkční problémy. Vývojový tým by také chtěl nasadit nejnovější a nejúžasnější funkce, zatímco operační tým by se chtěl vyhnout riziku. Vedlo to k neustálému konfliktu mezi oběma skupinami.
Účelem postupů DevOps bylo přiblížit vývoj a provoz. Zde je několik věcí, na které se DevOps soustředí:
- Nastavení a zajišťování infrastruktury - IT oddělení tradičně plánovala a zajišťovala infrastrukturu. Filozofie DevOps podporuje přístup více zaměřený na vývojáře. Potrubí je vytvořeno, aby usnadnilo vývojovému procesu procházet různými fázemi a cykly bez tření. Vývojáři mají větší odpovědnost za to, jak se jejich aplikace chovají ve výrobě.
- Správa konfigurace - týmy DevOps mají širší pohled na správu konfigurace. Zatímco Release Engineering jej může použít pouze pro softwarové produkty, postupy DevOps nacházejí způsoby, jak implementovat správu konfigurace do všech aspektů organizace. Účelem je pomoci celé organizaci plynulejší provoz pomocí automatizace.
- CI / CD - Kontinuální integrace a nepřetržité doručování je velkou součástí filozofie DevOps. Vyspělá praxe DevOps používá CI / CD k automatizaci tradičních úkolů IT pomocí infrastruktury jako kódu.
- Monitorování a vylepšení organizace - postupy DevOps kladou důraz na shromažďování údajů o procesech za účelem jejich analýzy a zlepšování. Shromažďování dat, jejich transformace na použitelnou inteligenci a jejich použití ke zlepšení současných procesů je tedy důležitou odpovědností DevOps.
Závěrem
Kvůli průniku obav o vylepšení softwarového procesu je vydání release často zaměňováno s DevOps. Ale DevOps mají větší rozsah. Zatímco Release Engineering může žít jako samostatné oddělení, DevOps vyžaduje větší integraci s celkovým pracovním tokem organizace. Jelikož jsou kroky konkrétní, je snazší nastavit postup vydání technické podpory. DevOps vyžaduje pochopení chování organizace, pracovní kultury a infrastruktury. Úspěšná DevOps není jen o produktu, ale o celé organizaci.
Další studie
Směrem k definicím pro Release Engineering a DevOps