Izdajniški inženiring se pogosto zamenja z DevOps. Obstaja dober razlog. Vloge in odgovornosti se pogosto prekrivajo. DevOps lahko štejemo za nadnabor sprostitvenega inženiringa.
Release Engineering
Izdajniški inženiring je disciplina, ki se osredotoča na uvajanje programske opreme. Poskuša izdelati kakovostnejšo programsko opremo z zanesljivo in predvidljivo hitrostjo. Njegov mandat je izboljšati cevovod za izdelavo in izdajo programske opreme. Tu je nekaj stvari, ki jih poudarja inženiring izdaje:
- Implementira nadzor različic - inženiring izdaje poskuša kodi dodati sledljivost in zanesljivost. Koda se torej hrani v repozitorijih za nadzor različic, kot so Git, SVN, Perforce itd. Razvojne skupine uporabljajo te sisteme za nadzor različic za boljše spremljanje razvoja kode.
- Avtomatizira gradnjo in sprostitev cevovodov - inženiring sprostitve se osredotoča na iskanje orodij za avtomatizacijo za izboljšanje hitrosti in zanesljivosti postopka sprostitve. Od prvega prevzema kode v nadzor nad različicami do končnega izdelka, ki pride do kupca, sprostitev inženiring nenehno izboljšuje postopek. Nenehna integracija in neprekinjena dobava (CI / CD) igrata pomembno vlogo v sodobnih avtomatiziranih sistemih za izdelavo / sprostitev.
- Upravljanje konfiguracije - Ko se programska koda premika skozi različne cikle razvoja, preskušanja, uprizoritve in izdelave, upravljanje konfiguracije zagotavlja, da so atributi izdelka skladni v celotnem življenjskem ciklu programske opreme.
- Proizvodnja in uvajanje - Vsak del programske opreme, ki gre stranki v proizvodnem okolju, mora biti tesno povezan s svojim poreklom. Torej, če obstaja težava, jo lahko podjetja poiščejo nazaj do vira.
DevOps
DevOps ima širši mandat. Osredotoča se na ustvarjanje večfunkcionalnega sodelovanja med skupinami.
V preteklosti so razvojne in operativne skupine delovale v lastnih silosih. Ko so razvojne ekipe svojo kodo uvedle v proizvodnjo, se je burno razpravljalo o tem, kdo bo prevzel odgovornost za kakršne koli proizvodne težave. Poleg tega bi si razvojna skupina želela uvesti najnovejše in najbolj zanimive funkcije, medtem ko bi se operativna skupina izogibala tveganju. Privedlo je do nenehnih sporov med obema skupinama.
Namen praks DevOps je bil približati razvoj in poslovanje. Nekaj stvari, na katere se osredotoča DevOps:
- Priprava in zagotavljanje infrastrukture - oddelki za IT so tradicionalno načrtovali in zagotavljali infrastrukturo. Filozofija DevOps spodbuja pristop, ki je bolj osredotočen na razvijalce. Cevovod je ustvarjen za lažji razvojni proces, da brez trenja prehaja skozi različne faze in cikle. Razvijalci so bolj odgovorni za to, kako se njihove aplikacije obnašajo v proizvodnji.
- Upravljanje konfiguracije - skupine DevOps imajo širši pogled na upravljanje konfiguracije. Medtem ko ga inženiring izdaje lahko uporablja samo za programske izdelke, prakse DevOps najdejo načine za izvajanje upravljanja konfiguracije za vse vidike organizacije. Namen je s pomočjo avtomatizacije celotni organizaciji pomagati pri nemotenejšem delovanju.
- CI / CD - Stalna integracija in nenehna dobava sta velik del filozofije DevOps. Zrela praksa DevOps uporablja CI / CD za avtomatizacijo tradicionalnih IT nalog z uporabo infrastrukture kot kode.
- Organizacijsko spremljanje in izboljšave - prakse DevOps poudarjajo zbiranje podatkov o procesih za analizo in izboljšanje. Torej je zbiranje podatkov, njihovo preoblikovanje v inteligenco, ki jo je mogoče uporabiti, in uporaba za izboljšanje trenutnih procesov pomembna odgovornost DevOps.
V zaključku
Zaradi presekov skrbi za izboljšanje programske opreme se inženiring izdaje pogosto zamenja z DevOps. Toda DevOps imajo večji obseg. Medtem ko lahko inženiring izdaj deluje kot ločen oddelek, DevOps zahteva večjo integracijo s celotnim potekom dela organizacije. Lažje je vzpostaviti inženirsko prakso sproščanja, saj so koraki konkretni. DevOps zahteva razumevanje organizacijskega vedenja, delovne kulture in infrastrukture. Uspešen DevOps ne gre samo za izdelek, temveč za celotno organizacijo.
Nadaljni študij
K definicijam za izdajo inženiringa in DevOps