Vydanie Release je často zamieňané s DevOps. Je na to dobrý dôvod. Roly a zodpovednosti sa často prekrývajú. DevOps možno považovať za nadmnožinu inžinierstva uvoľňovania.
Release Engineering
Release engineering je disciplína, ktorá sa zameriava na nasadenie softvéru. Snaží sa vyrábať kvalitnejší softvér spoľahlivou a predvídateľnou rýchlosťou. Jeho mandátom je vylepšiť program na zostavovanie a vydávanie softvéru. Tu je niekoľko vecí, ktoré inžinierstvo uvoľňovania zdôrazňuje:
- Implementuje správu verzií - Vydané vydanie sa snaží kódu dodať sledovateľnosť a spoľahlivosť. Takže kód je udržiavaný v úložiskách riadenia verzií ako Git, SVN, Perforce atď. Vývojové tímy používajú tieto systémy riadenia verzií na lepšie sledovanie vývoja kódu.
- Automates Build and Release Pipelines - Release Engineering sa sústreďuje na hľadanie automatizačných nástrojov na zlepšenie rýchlosti a spoľahlivosti procesu vydania. Od prvého zadania kódu do riadenia verzií až po konečný produkt, ktorý sa dostane k zákazníkovi, inžinierstvo vydávania neustále vylepšuje proces. Nepretržitá integrácia a nepretržité dodávanie (CI / CD) hrá dôležitú úlohu v moderných automatizovaných systémoch zostavovania a vydávania.
- Správa konfigurácie - Pretože softvérový kód prechádza rôznymi cyklami vývoja, testovania, prípravy a výroby, správa konfigurácie zaručuje, že atribúty produktu sú konzistentné počas celého životného cyklu softvéru.
- Výroba a nasadenie - Každý softvér, ktorý sa v produkčnom prostredí dostane k zákazníkovi, musí byť úzko spätý s jeho pôvodom. Ak teda nastane problém, môžu ho firmy vyhľadať späť k zdroju.
DevOps
DevOps má širší mandát. Zameriava sa na vytváranie medzifunkčnej spolupráce medzi tímami.
V minulosti vývojové tímy a operačné tímy pracovali vo vlastných silách. Keď vývojové tímy nasadili svoj kód do výroby, prebehli by ostré diskusie o tom, kto prevezme zodpovednosť za akékoľvek produkčné problémy. Vývojový tím by tiež chcel nasadiť najnovšie a najkvalitnejšie funkcie, zatiaľ čo operačný tím by sa chcel vyhnúť riziku. Viedlo to k neustálym konfliktom medzi týmito dvoma skupinami.
Účelom postupov DevOps bolo priblížiť vývoj a prevádzku. Tu je niekoľko vecí, na ktoré sa DevOps sústredia:
- Nastavenie a zabezpečenie infraštruktúry - IT oddelenia tradične plánovali a zabezpečili infraštruktúru. Filozofia DevOps podporuje prístup zameraný viac na vývojárov. Ropovod je vytvorený s cieľom uľahčiť vývojovému procesu bezproblémové prechádzanie rôznymi fázami a cyklami. Vývojári majú väčšiu zodpovednosť za to, ako sa ich aplikácie správajú vo výrobe.
- Správa konfigurácie - tímy DevOps majú širší pohľad na správu konfigurácie. Zatiaľ čo release release ho možno použiť iba pre softvérové produkty, postupy DevOps nachádzajú spôsoby, ako implementovať správu konfigurácie do všetkých aspektov organizácie. Účelom je pomôcť celej organizácii plynulejšou prevádzkou pomocou automatizácie.
- CI / CD - Neustála integrácia a nepretržité dodávanie je veľkou súčasťou filozofie DevOps. Vyspelá prax DevOps využíva CI / CD na automatizáciu tradičných úloh IT pomocou infraštruktúry ako kódu.
- Monitorovanie a vylepšenia organizácie - Postupy DevOps kladú dôraz na zhromažďovanie údajov o procesoch, ktoré sa majú analyzovať a vylepšiť. Zhromažďovanie údajov, ich transformácia do použiteľnej inteligencie a ich použitie na zlepšenie súčasných procesov je teda dôležitou zodpovednosťou DevOps.
Na záver
Kvôli priesečníku obáv týkajúcich sa zlepšenia softvérových procesov je vydanie release často zamieňané s DevOps. Ale DevOps majú väčší rozsah. Zatiaľ čo release release môže žiť ako samostatné oddelenie, DevOps vyžaduje väčšiu integráciu s celkovým pracovným tokom organizácie. Je jednoduchšie nastaviť postup vydávania verzie, pretože kroky sú konkrétne. DevOps vyžaduje pochopenie organizačného správania, pracovnej kultúry a infraštruktúry. Úspešný program DevOps sa netýka iba produktu, ale celej organizácie.
Ďalšie štúdium
Smerom k definíciám pre Release Engineering a DevOps