V dnešní době je na výběr tolik strategií nasazení a postupem času jich bude přibývat. Dvě z nejběžnějších strategií nasazení, které dnes některé z největších společností aktivně používají, jsou strategie nasazení Canary a Blue-green.
Při srovnání Blue-Green nasazení vs. Canary nejde jen o rychlost nebo jednoduchost; jedním z nejdůležitějších faktorů, které je třeba vzít v úvahu při výběru jedné z těchto strategií, je prostoj při nasazení.
Chcete-li minimalizovat prostoje při implementaci a zajistit bezproblémový přechod při nasazování aktualizací nebo úprav, je prvořadý výběr vhodnější možnosti z nasazení Canary vs. Modro-zelená.
Pojďme se tedy podívat na to, co jednotlivé strategie nabízejí, včetně přímého srovnání nasazení Blue-Green vs. Canary a našich vlastních zkušeností s nasazením Canary vs. Blue-Green.
Co je modro-zelené nasazení a co nabízí?
Ve strategii nasazení Blue-Green lze novou verzi aplikace okamžitě nasadit, jakmile byla otestována a ověřena. Je to díky dvěma identickým prostředím: modrému a zelenému prostředí, odtud název Blue-Green deployment.
To funguje, protože jedno z těchto prostředí je aktivní a druhé neaktivní. To znamená, že novou verzi aplikace lze nasadit do neaktivního prostředí (řekněme zeleného). Vzhledem k tomu, že tato dvě prostředí jsou zcela identická, pokud jde o zdroje, infrastrukturu a konfigurace, lze případné chyby v aktualizaci vyřešit před jejím úplným nasazením.
Jakmile je aktualizace otestována a vývojáři jsou spokojeni, že funguje, živý provoz se přepne do tohoto neaktivního prostředí. Tím se stane neaktivní prostředí (zelené) aktivním prostředím a dříve aktivní prostředí (modré) neaktivní.
Nyní se z neaktivního modrého prostředí stane pohotovostní režim a lze jej použít k testování novějších aktualizací, zatímco zelené prostředí je aktivní a spouští nově nasazenou aktualizaci. Tímto způsobem prakticky nedochází k prostojům, protože provoz se okamžitě změní na neaktivní prostředí.
Navíc, pokud má aktualizace nějaké problémy, funkce vrácení zpět vám umožní přepnout zpět na starší verzi vaší aplikace. To znamená, že pokud nastanou problémy, když vývojáři začnou pracovat na nové aktualizaci v neaktivním prostředí, návrat zpět do tohoto prostředí již není životaschopný, protože starší verze již není v tomto prostředí dostupná.
Zatímco mnoho společností a organizací používá tuto strategii, jeden příklad této strategie v akci lze vidět na Spotify. Vzhledem k tomu, že služby Spotify musí být dostupné 24 hodin denně, 7 dní v týdnu, má vždy připravené záložní neaktivní prostředí, když jsou vydány nové aktualizace.
Co je Canary Deployment a co nabízí?
Hlavní rozdíl mezi nasazením Canary a Blue-Green spočívá v tom, že namísto dvou prostředí, kde jsou aktualizace nasazovány všem uživatelům najednou, jsou ve strategii nasazení Canary nejprve vydány aktualizace pro malou skupinu uživatelů.
Pokud má aktualizace nějaké problémy, setká se s ní pouze malá část uživatelů a poskytne zpětnou vazbu. Po vyřešení problémů je aktualizace uvolněna pro větší část uživatelů, kde vývojářům zanechají zpětnou vazbu, pokud zaznamenají nějaké problémy.
Tento cyklus se opakuje s postupně většími částmi uživatelů a všechny problémy s aktualizací jsou vyřešeny, dokud nebude aktualizace uvolněna pro 100 % uživatelů. Aktualizace by byla například nejprve vydána pouze pro 2 %, poté 25 %, poté 75 % a nakonec 100 % uživatelů.
Toto postupné vydávání v nasazení Canary vs. Blue-Green nabízí kontrolovanější a flexibilnější zavádění, které umožňuje vývojářům testovat funkce a aktualizace v kontrolovaném prostředí, kde se potenciální problémy setká pouze malá část.
A konečně, Canary také nabízí podobnou funkci vrácení zpět; jelikož však zavádění probíhá postupně a po jednotlivých fázích, návrat na Kanárské ostrovy se také provádí postupně a po jednotlivých fázích, dokud není dosaženo stabilní verze.
Známým příkladem této strategie nasazení je Netflix použití Canary v tandemu s nástrojem zvaným Chaos Monkey, který záměrně zavádí selhání v jejich systému. Pokud selhání ovlivní kanárské prostředí, tým Netflix může analyzovat, jak systém reaguje, a podle toho se upravit. Netflix si tak může ověřit, že aktualizace zůstává stabilní a odolná i za nepříznivých podmínek.
Modro-zelené nasazení vs. Kanárek
Obě tyto strategie nasazení nabízejí své vlastní jedinečné výhody; mají však také svá omezení. Proto je důležité zvážit klady a zápory vývoje Blue-Green vs. Canary, než se rozhodnete.
Pokud si po této části stále nejste jisti, kterou z nich jít daleko, zahrnul jsem také naše zkušenosti s těmito dvěma strategiemi a to, co jsme se dozvěděli na konci tohoto článku.
Snížení prostojů
Jedním z hlavních problémů a zaměření tohoto článku je snížení prostojů při nasazení u Blue-Green nasazení vs. Canary. Jednou ze silných stránek modrozeleného nasazení je jeho rychlost, protože aktualizaci aplikace nebo funkci můžete nasadit okamžitě pomocí dvou prostředí.
Na druhou stranu přístup Canary postupného zavádění umožňuje minimální prostoje, protože s problémy se potýká nejen malá podskupina uživatelů, ale protože je v každé fázi poskytována zpětná vazba, lze řešení problémů provádět mnohem rychleji a bez jakýchkoli prostojů.
Navíc, zatímco obě služby nabízejí funkce vrácení zpět, funkce vrácení změn nasazení Blue-Green je okamžitá a poskytuje vývojářům spolehlivou zálohu v případě jakýchkoli větších problémů. To znamená, jak jsem již zmínil, záložní verze nebude k dispozici, pokud se pracuje na novější verzi v neaktivním prostředí.
Funkci vrácení zpět Canary lze používat pouze postupně, stejně jako proces nasazení. Je však vždy k dispozici, protože starší stabilní verze není závislá na prostředí, ve kterém se testují a pracují na novějších aktualizacích.
Pokud jde o zkrácení prostojů při nasazení, při srovnání nasazení Canary vs. Blue-Green je Canary lepší, pokud jde o kontrolu rizik a granulární kontrolu; pokud však uvažujeme čistě o snížení prostojů, pak je modro-zelená lepší z těchto dvou, protože přechod je okamžitý.
To znamená, že když diskutujeme o nasazení Blue-Green vs. Kanárské nasazení, je také důležité vzít v úvahu jiné faktory, než je snížení prostojů.
Typ aplikace
Obecně můžeme aplikace rozdělit na transakční nebo obsahově řízené aplikace. V aplikacích náročných na transakce je nasazení Blue-Green mnohem lepší volbou, protože prioritou je vysoká dostupnost služeb a minimální prostoje, a proto je funkce okamžitého přepínání a okamžitého vrácení Blue-Green staví před Canary.
Na druhou stranu, obsahově řízené aplikace nezávisí na transakcích v reálném čase. Vzhledem k tomu, že se tyto aplikace obvykle používají pro platformy sociálních médií a služby pro zapojení uživatelů, je Canary mnohem lepší strategií, protože můžete postupně zavádět aktualizace a neustále dostávat zpětnou vazbu v každé fázi.
Náklady na infrastrukturu
Dalším hlavním problémem při výběru mezi modrozeleným nasazením a nasazením Canary jsou náklady. Přirozeně, že v Blue-Green nasazení budou náklady vyšší, protože je třeba udržovat dvě jednotlivá prostředí.
To je důvod, proč je samostatné produkční prostředí Canary mnohem levnější variantou, takže je vhodnější pro menší týmy nebo aplikace méně náročné na zdroje.
Škálovatelnost a dlouhodobá údržba
A konečně, zatímco modrozelená nasazení lze škálovat, údržba dvou kompletních prostředí pro rozsáhlé aplikace může být náročná na zdroje a složitá. Postupem času může správa a údržba duplicitních prostředí zvýšit značnou režii, zejména u aplikací se složitými potřebami infrastruktury.
Díky tomu je nasazení Canary vs. Blue-Green z hlediska škálovatelnosti a údržby poměrně snadné. S nasazením Canary je škálovatelnost často jednodušší a nákladově efektivnější, protože nevyžaduje duplicitní prostředí.
Místo toho se zaměřuje na škálování v rámci primárního prostředí postupným rozšiřováním uživatelské základny vystavené novým změnám. Toto nastavení je z dlouhodobého hlediska mnohem lépe spravovatelné, protože snižuje složitost infrastruktury a zjednodušuje údržbu.
Cloudzyho zkušenost s modro-zeleným nasazením vs. Kanárské nasazení
Při poskytování služeb DevOps klientům chápeme, že spokojenost zákazníků, vysoká dostupnost a minimální prostoje jsou rozhodující pro jejich obchodní úspěch. V jednom konkrétním případě se na nás obrátil zákazník, abychom mu pomohli s velkým upgradem infrastruktury. Tým měl za úkol rozhodnout mezi modrozeleným a kanárským nasazením pro svůj systém.
Po dlouhém zvažování jsme se nejprve rozhodli vyzkoušet nasazení Blue-Green, protože nenabízelo prakticky žádné prostoje. Nastavili jsme identické zelené prostředí a připravili se na zavedení upgradu. Byl tam velký tlak, protože stisknutím tlačítka se veškerý provoz přepne do zeleného prostředí, a jak vývojáři vědí, bez ohledu na to, jak moc tyto věci testujete, je to pořád trochu házení kostkou, jak to dopadne.
Naštěstí vše dobře dopadlo. Přechod byl hladký jako po másle a neměli jsme téměř žádné problémy. Postupem času, jak služby a uživatelé našeho klienta rostli, jsme potřebovali zavést nové funkce a znovu se rozproudila debata o Blue-Green vs. Canary.
Tentokrát to však nebyla velká debata. Byly to relativně menší funkce a rozhodně ne v rozsahu této aktualizace infrastruktury. Takže jsme se přirozeně rozhodli pro Canary, protože jsme mohli zavést funkce pro malou část uživatelské základny našeho klienta a vyřešit jakékoli problémy, které měli, prostřednictvím zpětné vazby od uživatelů.
To bylo rozhodně správné rozhodnutí, protože i když jsme neměli žádné velké problémy, začaly se objevovat menší problémy, které nahlásilo 5 % uživatelské základny našeho klienta, pro kterou byla funkce zavedena.
Ve společnosti Cloudzy věříme v sílu řešení na míru. Ať už vaše firma potřebuje spolehlivost nasazení Blue-Green nebo flexibilitu nasazení Canary, náš tým DevOps má zkušenosti a znalosti k implementaci nejlepší strategie pro vaši infrastrukturu. Kontaktujte nás zde dnes se dozvíte, jak můžeme optimalizovat váš proces nasazení a zajistit hladký chod vašich operací.
Když už mluvíme o VPS, nabízíme jedny z nejnižších sazeb v odvětví VPS s funkcemi zahrnujícími více než 12 míst po celém světě, vyhrazená internetová připojení dosahující až 10 Gb/s, podnikové úložiště NVMe SSD, výkonné procesory AMD EPYC s rychlostí 3,23 GHz a 99,95% dostupnost. Podívejte se na naše Ceny VPS pro více podrobností.
Závěrečné myšlenky
Na konci dne nemůžete opravdu říci, že jeden je lepší než druhý v žádném zásadním ohledu, když diskutujeme o nasazení na Kanárských ostrovech vs. o nasazení modro-zelené. Je to jen otázka případů použití a to, které nejlépe vyhovuje vašim konkrétním potřebám.
Nejčastější dotazy
Jaký je hlavní rozdíl mezi modrozeleným a kanárským nasazením?
Hlavní rozdíl mezi strategiemi nasazení Blue-Green a Canary je ve způsobu vydávání aktualizací. Nasazení Blue-Green využívá dvě identická prostředí, přičemž aktualizace jsou aplikovány na neaktivní, což umožňuje okamžité přepnutí prakticky bez výpadků. Na rozdíl od toho nasazení Canary vydává aktualizace postupně nejprve malé skupině uživatelů, přičemž sleduje problémy, než se postupně rozšíří na celou uživatelskou základnu.
Je pro snížení prostojů lepší modro-zelené nasazení nebo nasazení kanárků?
Modro-zelené nasazení je obecně lepší pro snížení prostojů, protože umožňuje okamžité přepínání mezi prostředími. Tím se minimalizují případné poruchy. Zatímco nasazení Canary má také za cíl minimalizovat prostoje, činí tak postupným zaváděním, které může zahrnovat drobné, lokalizované problémy, které ovlivňují pouze malou podmnožinu uživatelů.
Jaké jsou náklady na modrozelené vs. kanárské nasazení?
Modro-zelená nasazení jsou obvykle dražší, protože vyžadují údržbu dvou kompletních prostředí. Na druhou stranu jsou nasazení Canary nákladově efektivnější, protože nevyžadují duplicitní infrastrukturu; aktualizace jsou zaváděny v rámci primárního prostředí, což z něj dělá lepší volbu pro menší týmy nebo aplikace méně náročné na zdroje.