GNU/Linux >> Znalost Linux >  >> Linux

Životní cyklus vydání softwaru v DevOps:Proč znovu objevovat model?

Ve svém předchozím a prvním článku z této série jsem představil novou formu a model DevOps a popsal jeho základní součásti a pracovní postup.

V tomto článku se chystám prozkoumat význam cyklu vydání aplikace a důležitou roli, kterou hraje v našem modelu DevOps.

Ale než začnu, je nutné, abych si stručně vzpomněl na několik zásadních částí z mého předchozího článku, zejména SDLC, a také se znovu podíval na skutečnost, kterou mnozí z nás na akademické půdě počítačových věd mohli bezděčně následovat po celá desetiletí.

Nebudu znovu podrobně popisovat kroky, protože zde již byl odkazován předchozí článek. Ale za chvíli se ještě jednou podívám na SDLC diagram.

Význam životního cyklu vydání softwaru v DevOps

Životní cyklus vydání softwaru, zkráceně SRLC, je povinný postup prováděný během vývoje jakékoli aplikace. Je to zásadní nutnost, protože kvalitní software zajišťuje kvalitní DevOps. To lze efektivně zajistit pouze tehdy, když jeho různé fáze probíhají efektivně.

Životní cyklus vydání softwaru

Životní cyklus vydání softwaru neboli SRLC je posloupnost různých fází, kterými se vývoj softwaru vyvíjí z pre-alfa fáze do produkční fáze. Je to nepřetržitý proces, protože jakýkoli software bude mít vždy aktualizovanou verzi, dokud a dokud nedosáhne konce životnosti (EOL).

Názvy a postupy se mohou lišit vývojář od vývojáře. Ale obecně se jedná o pět základních fází:

  1. Pre-alfa :První fáze ve verzích softwaru, která obsahuje pouze primární funkce a s největší pravděpodobností bude mít maximální počet chyb. Je testován pouze vývojáři a testery.
  2. Alfa :Druhá fáze ve verzích softwaru je považována za dokončenou a stále pravděpodobně bude obsahovat chyby, ale mnohem méně než pre-alfa. Je testován vývojáři a testery. Ale v závislosti na různých NDA může být zpřístupněn veřejnosti, selektivně nebo celosvětově.
  3. Beta :Třetí fáze je primárně zaměřena na opravu chyb a problémů, které se vyskytly v předchozích dvou fázích. Stejně jako pre-alfa je dostupnost beta softwaru také založena na NDA.
  4. Uvolněte kandidáta :Verze softwaru, která je kandidátem na vydání, je předběžná verze, která má potenciál být konečným stabilním produktem. Obecně platí, že verze kandidáta na vydání již nepřijímá žádný nový zdrojový kód programu. Změny ve zdrojovém kódu se provádějí pouze v případě, že při testování na úrovni produkce stále dochází k chybám.
  5. Produkční vydání :Jak je zcela zřejmé, produkční verze je konečný produkt, který je zpřístupněn široké veřejnosti jako stabilní produkt.

Poznámka :Koncept NDA nemá v oblasti softwaru s otevřeným zdrojovým kódem velkou hodnotu kvůli transparentnímu modelu.

Na základě našeho nového modelu funguje SRLC ve dvou fázích:

1. Vývojová fáze vydání v ADLC

Aplikace se v této fázi stává svou úplně první verzí a postupuje přes většinu fází vydání (uvedených výše), jak se stává vyspělejší a proveditelnější. Chyby jsou postupně redukovány a efektivita roste s postupem času.

2. Stabilní fáze vydání v SDLC

Toto je produkční fáze SRLC, kde se vývojová verze stává první dostupnou stabilní verzí připravenou k použití klienty a uživateli.

Proč je to "životní cyklus"?

Po desetiletí v akademickém předmětu Softwarové inženýrství kurikulum informatiky na různých univerzitách uvádí model procesu uvolňování softwaru jako cyklus. Ale vyobrazený diagram je značně rozporuplný. Obvykle je popsán následujícím způsobem:

Na základě jednoduchého pozorování je velmi evidentní, že výše uvedený diagram nevykazuje vůbec žádné „cyklické“ vlastnosti. Na základě tohoto konvenčního modelu se nazývá cyklus, i když diagram žádnou takovou charakteristiku nevykazuje… nelze jej nazvat cyklem… je to vývojový diagram.

Aby to vypadalo jako cyklus, produkční fáze by se musela vrátit do fáze pre-alfa a to by nedávalo logický smysl, pokud nebude celý scénář ještě jednou kriticky zkontrolován:

Můžete si jasně všimnout, že stabilní vydání je místo, kde software dosáhl svého plného potenciálu a je schopen nasazení v produkci. I když to není v diagramu znázorněno, proč se to potom označuje jako „životní cyklus“?

Zde je důvod

Když uživatelé/klienti přijali produkční verzi, vývojáři softwaru v ní stále vylepšují přidáním dalších funkcí, vyladěním stávajících, opravou chyb a bezpečnostních závad během výroby a dalšími změnami, které by byly v průběhu času nezbytné. . Proto vždy v zákulisí neustále pracuje vývojová verze.

Jakkoli může být software kriticky testován, existují určité chyby, které se projeví pouze ve scénáři reálného světa, a tyto chyby jsou opraveny v aktualizované verzi jakéhokoli produkčního vydání.

Pojďme o tom chvíli přemýšlet. Může být produkční verze skutečně nazývána konečným produktem, pokud je software neustále ve vývoji ve formě aktualizovaných verzí?

Jak přezkoumat diagram a jeho scénáře jako skutečný cyklus?

Abychom mohli tento proces vnímat jako cyklus, musíme se znovu podívat na náš nový model SDLC popsaný dříve:

Pokud se na to chcete dívat pouze z perspektivy vydání softwaru, model SDLC lze přeměnit na SRLC:

Softwarová aplikace se týká samotného vývoje, zatímco softwarový systém se týká vývoje jak aplikace, tak systémových procesů, ve kterých je nasazen a udržován. Pokud dále zjednodušíme, můžeme si to znovu představit takto:

Pojďme si přiblížit Vývojové verze zónu, abychom se podívali na to, co se skutečně děje, a odvodili náš „Životní cyklus“:

Zde můžete pozorovat, že první čtyři základní fáze jsou nyní reprezentovány jako součást skutečného cyklu. Každá z těchto fází také prochází aplikačním vývojem na základě ADLC (v diagramu označeno jako ADLC), když přecházejí do další fáze. Jakmile vývoj softwaru opustí fázi kandidáta na vydání, podstoupí vývoj systému založené na SDLC (označeném v diagramu jako SDLC), aby se konečně stalo stabilní verzí, která by byla aktivní prostřednictvím produkčních nasazení, jako jsou prostředí koncových uživatelů a klientů.

Proč se nyní stabilní vydání musí vrátit do stavu pre-alfa? Jen se představovat jako životní cyklus? Rozhodně ne.

Stabilní uvolňování musí znovu projít screeningem na úrovni alfa, aby si trvale udrželo nejvyšší možnou kvalitu.

Vzhledem k tomu, že produkt již byl vydán jako stabilní verze, ladění a testování ve fázi pre-alfa, alfa a beta netrvá příliš dlouho. Takže musíte mít na paměti, že poté, co je nový produkt uvolněn pro veřejnost, rychle se blíží úrovni testování kandidátů na vydání poté, co je skutečně nasazen a auditován všemi druhy uživatelů.

Chyby na úrovni produkce v reálném čase jsou nevyhnutelné a jakkoli mohou být, je nutné je přehodnotit pomocí pre-alfa přístupu. Jen tak lze trvale zajistit kvalitní software s optimální rychlostí a efektivitou.

Proto lze tento revidovaný model nyní konečně označit jako skutečný cyklus a ne konvenční vývojový diagram, který mnozí z nás ve vývojářské komunitě mohli bezděčně následovat po celá desetiletí! Je to nepřetržitý proces, a proto se nazývá vydání softwaru "Životní cyklus".

Pokud máte nějaké návrhy, zpětnou vazbu nebo komentáře k tomuto tématu, dejte nám prosím vědět v sekci níže. Budeme rádi, když se zapojíte do takových zajímavých přístupů. Zůstaňte naladěni na další článek z této série :)


Linux
  1. Proč programátoři milují balení Linuxu

  2. Evoluce správců balíčků

  3. Proč server zablokoval moji IP?

  1. Proč nefunguje ~/.bash_profile?

  2. Proč je výchozí vidlice mechanismu vytváření procesu?

  3. Proč následující příkaz zabíjí systém?

  1. Linux – Proč nemůže jádro spustit inicializaci?

  2. Proč nemohu exportovat zobrazení Linuxu?

  3. Proč je vyžadován segment .bss?