Scénáře DevOps v reálném čase - Zjistěte, co se stane v reálném čase



Tento blog hovoří o scénářích DevOps v reálném čase, aby vám pomohl porozumět výzvám, se kterými se můžete v reálném čase setkat, a jak je překonat.

Mnozí z vás možná znají všechny související teorie . Ale víte, jak implementovat principy DevOps v reálném životě? V tomto blogu budu diskutovat scénáře DevOps Real Time, které vám pomohou získat stručné pochopení toho, jak věci fungují v reálném čase.

Ukazatele, kterým se v tomto budu zabývatČlánek Scénáře DevOps v reálném časejsou:





Začněme tedy s prvním tématem.

Co je DevOps?

devops-devops scénáře reálného času-EdurekaDevOps je přístup k vývoji softwaru, který zahrnuje průběžný vývoj, průběžné testování, průběžnou integraci, průběžné nasazování a průběžné monitorování softwaru po celou dobu jeho životnosti. Tyto aktivity jsou možné pouze v DevOps, ne Agile nebo waterfall. Proto si Facebook a další špičkové společnosti zvolily DevOps jako cestu vpřed pro své obchodní cíle.DevOps se dává přednost zejména při vývoji vysoce kvalitního softwaru v kratších vývojových cyklech, což vede k větší spokojenosti zákazníků.



V další části tohotoV článku Scénáře reálného času DevOps se podíváme na různé problémy vyřešené DevOps.

Problémy vyřešené DevOps

1. Poskytněte hodnotu zákazníkům

předat hodnotu a předat odkaz v Javě
  • DevOps minimalizuje čas k tomu, abychom zákazníkům poskytli hodnotu. Doba cyklu od dokončení příběhu / úkolu vývojářem, dokud se výroba výrazně nezkrátí, což umožňuje realizaci hodnoty co nejrychleji.
  • Nejdůležitější hodnotou realizovanou prostřednictvím DevOps je, že umožňuje IT organizacím zaměřit se na své „hlavní“ obchodní aktivity . Odebráním omezení v toku hodnot a automatizací potrubí nasazení se týmy mohou zaměřit na aktivity. To pomáhá při vytváření hodnoty pro zákazníka, nikoli jen při pohybu bitů a bajtů. Tyto činnosti zvyšují udržitelnou konkurenční výhodu společnosti a vytvářejí lepší obchodní výsledky.



2. Snížená doba cyklu

  • Interně DevOps je jediný způsob, jak dosáhnout agility dodávat zabezpečený kód s přehledy. Je důležité mít brány a dobře zpracovaný proces DevOps. Když dodáváte novou verzi, může běžet bok po boku s aktuální verzí. Můžete také porovnat metriky, abyste dosáhli toho, co jste chtěli, s metrikami aplikace a výkonu.

  • DevOps pohání vývojové týmy směrem k neustálé zlepšování a rychlejší cykly uvolňování . Pokud bude tento iterační proces proveden dobře, umožní mu více se časem soustředit na věci, na kterých opravdu záleží. Například věci, které uživatelům vytvářejí skvělé zážitky - a méně času na správu nástrojů, procesů a technologií.

3. Čas uvedení na trh

Nejdůležitějším řešeným problémem je snížení složitosti procesu. To významně přispívá k našemu obchodnímu úspěchu zkrácením doby uvedení na trh, rychlou zpětnou vazbou o funkcích a lepší reakcí na potřeby našich zákazníků.

4. Řešení problémů

  • Největší hodnotou úspěšné implementace DevOps je vyšší důvěra v doručování, viditelnost a sledovatelnost toho, co se děje, takže můžete rychleji řešit problémy.

  • Další důležitou výhodou DevOps není ztrácení času. Zarovnání lidí a zdrojů organizace umožňuje rychlé nasazení a aktualizace. To umožňuje programům DevOps opravit problémy dříve, než se stanou katastrofami.DevOps vytváří kulturu transparentnosti, která podporuje zaměření a spolupráci mezi vývojovými, provozními a bezpečnostními týmy.

CI (průběžná integrace) vScénáře DevOps v reálném čase

1. Jednotlivci mohou považovat kontinuální integraci za kontraproduktivní

Členové vývojového týmu mají různé role, odpovědnosti a priority. Je možné, že první prioritou produktového manažera může být spouštění nových funkcí, vedoucí projektu musí zajistit, aby jejich tým dodržel termín. Programátoři by si mohli myslet, že pokud přestanou opravovat menší chyby pokaždé, když k nim dojde, zpomalí je to. Mohli by cítit, že udržovat stavbu v čistotě, je pro ně další zátěží a nebudou mít prospěch z jejich dalšího úsilí. To může potenciálně ohrozit adaptační proces.

K překonání tohoto:

  • Nejprve se ujistěte, že je na palubě celý váš tým, než přijmete nepřetržitou integraci.

  • ČTÚ a vedoucí týmu musí členům týmu pomoci pochopit náklady a přínosy plynoucí z nepřetržité integrace.

  • Zvýrazněte, co a kdy bude programátorům prospěšné tím, že se budou věnovat jiné pracovní metodě, která vyžaduje trochu větší otevřenost a flexibilitu.

2. Integrace CI do vašeho stávajícího vývojového toku

Přijetí CI nevyhnutelně přichází s nutností zásadně změnit některé části vašeho vývojového pracovního toku. Je možné, že vaši vývojáři nemusí pracovní postup opravit, pokud není narušen. To je možné hlavně v případě, že váš tým má při provádění svého aktuálního pracovního postupu větší rutinu.

Chcete-li změnit pracovní postup, musíte to udělat s velkou opatrností. Jinak by to mohlo ohrozit produktivitu vývojového týmu a také kvalitu produktu. Bez dostatečné podpory ze strany vedení by se vývojový tým mohl zdráhat přijmout úkol s takovými riziky.

K překonání tohoto:

  • Musíte se ujistit, že svému týmu poskytnete dostatek času na rozvoj jeho nového pracovního postupu. To se provádí za účelem výběru flexibilního řešení nepřetržité integrace, které může podporovat jejich nový pracovní postup.

  • Zajistěte jim také, aby jim společnost měla záda, i když to na začátku nemusí probíhat velmi hladce.

3. Relaps k dřívějším testovacím návykům

Okamžitým účinkem přijetí nepřetržité integrace je, že váš tým bude testovat častěji. Takže více testů bude vyžadovat více testovacích případů a psaní testovacích případů může být časově náročné. Proto vývojáři často potřebují rozdělit svůj čas mezi opravování chyb a psaní testovacích případů.

Dočasně by vývojáři mohli ušetřit čas ručním testováním, ale z dlouhodobého hlediska by to mohlo více bolet. Čím více budou otáčet psaní testovacích případů, tím obtížnější bude dohnat pokrok ve vývoji. V nejhorším případě by se váš tým mohl vrátit ke svému starému testovacímu procesu.

K překonání tohoto:

  • Musíte zdůraznit, že psaní testovacích případů od začátku by mohlo vašemu týmu ušetřit spoustu času a zajistit vysoké pokrytí testů vašeho produktu.

  • Vložte také do firemní kultury myšlenku, že testovací případy jsou stejně cenná aktiva jako samotná základna kódu.

4. Vývojáři ignorují chybové zprávy

Běžným problémem je, že když větší týmy spolupracují, množství oznámení CI začne být ohromující a vývojáři je začnou ignorovat a ztlumit. Je proto možné, že by jim mohly chybět aktualizace, které jsou pro ně relevantní.

Může to vést do fáze, kdy si kodéry vytvoří relativní imunitu vůči rozbitým sestavením a chybovým zprávám. Čím déle ignorují příslušná oznámení, tím déle se vyvíjejí bez zpětné vazby ve špatném směru. To by mohlo potenciálně způsobit obrovské vrácení peněz, plýtvání penězi, zdroji a časem.

jak nainstalovat php na okno

K překonání tohoto:

  • Měli byste posílat pouze důležité aktualizace.

  • Oznámení zasílejte pouze příslušným vývojářům, kteří mají na starosti jeho opravu.

CT (průběžné testování) vScénáře DevOps v reálném čase

  1. Správná specifikace požadavků

    Pokud máte správné požadavky, téměř polovina bitvy je vyhrána. Takže pokud máte velmi konkrétní a přesné znalosti o požadavcích, můžete lépe navrhnout plány testů a dobře pokrýt požadavky.

    Mnoho týmů přesto tráví spoustu času a úsilí jednoduchým vyjasňováním požadavků. Toto je velmi častá úskalí a aby se tomu zabránilo, mohou týmy přijmout techniky testování založené na modelech a techniky vývoje založené na chování. To pomáhá přesně a adekvátně navrhnout testovací scénáře.

    Tyto postupy rozhodně pomohou řešit a řešit mezery rychleji. Také jim umožňuje automaticky generovat více testovacích případů hned od raných fází sprintu.

  2. Pipeline Orchestration

    Výhody nepřetržitého testování a kontinuální dodávka jsou úzce spjaty s instrumentací potrubí. To přímo znamená pochopení toho, jak to funguje, proč to funguje, jak analyzovat výsledky a jak a kdy se má škálovat. Všechno závisí na kanálu, a proto musíte integrovat kanál s automatizační sadou.

    Ale důvody, proč týmy fumble je, že žádné jediné řešení neposkytuje kompletní nástrojový řetězec, který je vyžadován k vybudování kanálu CD.

    Týmy musí obvykle hledat kousky skládačky, které jsou pro ně správné. Neexistují žádné dokonalé nástroje, obvykle pouze nejlepší nástroje, které poskytují integraci spolu s několika dalšími nástroji. A samozřejmě API, které umožňuje také snadnou integraci.

    Stručně řečeno, je nemožné implementovat nepřetržité testování bez rychlosti a spolehlivosti standardizovaného a automatizovaného kanálu.

  3. Škálování a řízení složitosti

    Dalším důležitým scénářem je, že průběžné testování se stává složitějším směrem k produkčnímu prostředí. Počet testů i složitost rostou s kódem dozrávání a prostředí se stává složitějším.

    Testy musíte aktualizovat pokaždé, když aktualizujete různé fáze a automatizované skripty. Výsledkem je, že celková doba potřebná k provedení testů se také zvyšuje směrem k vydání.

    Řešení spočívá ve vylepšené orchestraci testů, která poskytuje správné množství testovacího pokrytí v kratších cyklech sprintu a umožňuje týmům dodávat s jistotou. V ideálním případě musí být celý proces automatizován pomocí CT prováděného v různých fázích. To se provádí pomocí brány politiky a manuálního zásahu, dokud se kód nepřenese do výroby.

  4. Vytváření smyček zpětné vazby

    Bez častých smyček zpětné vazby v každé fázi vývojového cyklu není nepřetržité testování možné. To je částečně důvod, proč je CT obtížné implementovat. Nepotřebujete jen automatické testy, ale také potřebujete viditelnost výsledků testu a jeho provedení.

    Tradiční smyčky zpětné vazby, jako jsou protokolovací nástroje, profilovače kódu a nástroje pro sledování výkonu, již nejsou účinné. Nepracují společně ani neposkytují hloubku vhledu potřebnou k vyřešení problémů. Řídicí panely v reálném čase, které generují zprávy automaticky a akční zpětná vazba napříč celým SDLC, pomáhají rychleji vydávat software do výroby s menšími vadami. Přístup k řídicím panelům v reálném čase a přístup pro všechny členy týmu pomáhá mechanismu nepřetržité zpětné vazby.

  5. Nedostatek prostředí

    Kontinuální testování jednoduše znamená častější testování, což vyžaduje častější zásah do více prostředí. To představuje překážku, pokud uvedená prostředí nejsou k dispozici v době, kdy jsou požadována. Některá prostředí jsou k dispozici prostřednictvím rozhraní API a jiná prostřednictvím různých rozhraní. Některá z těchto prostředí lze vytvořit pomocí moderní architektury, zatímco jiná s monolitickými staršími systémy klient / server nebo sálovými systémy.

    Otázkou ale je, jak koordinujete testování prostřednictvím různých vlastníků prostředí? Je také možné, že nemusí vždy udržovat prostředí v provozu. Odpověď na toto vše je Virtualizace . Virtualizací prostředí můžete testovat kód, aniž byste se příliš starali o oblasti, které se nemění.Zpřístupnění a dostupnost prostředí na vyžádání prostřednictvím virtualizace jistě pomůže odstranit z vašeho kanálu významné úzké místo.

CD (průběžné doručování) vScénáře DevOps v reálném čase

  1. Nasazení trvá příliš dlouho

    Distribuované aplikace obvykle vyžadují více než „kopírování a vkládání“ souborů na server. Složitost má tendenci se zvyšovat, pokud máte farmu serverů. Nejistota ohledně toho, co nasadit, kde a jak, je docela normální věc. Výsledek? Dlouhé čekací doby, než se naše artefakty dostanou do dalšího prostředí trasy, aby se vše oddálilo, testování, čas žít atd.

    Co přináší DevOps na stůl? Vývojové a provozní týmy IT definují proces nasazení v bezchybné relaci spolupráce. Nejprve ověří, co funguje, a poté ji pomocí automatizace posunou na další úroveň, která usnadní průběžné doručování. To drasticky zkrátí načasování nasazení a také připraví cestu pro častější nasazení.

    převést desítkové na binární v pythonu
  2. Chybějící artefakty, skripty a další závislosti

    Často se setkáváme s neúspěchy po nasazení nové verze pracovního softwaru. To je často způsobeno tím, že chybějící knihovny nebo databázové skripty nejsou aktualizovány. To je obvykle způsobeno nejasností ohledně toho, které závislosti se mají nasadit, a jejich umístění. Podpora spolupráce mezi vývojem a provozem může ve většině případů pomoci vyřešit tyto druhy problémů.

    Pokud jde o automatizaci, můžete definovat závislosti, které hodně pomáhají při urychlení nasazení. Nástroje pro správu konfigurace jako Loutka nebo Hlavní přispět další úrovní definice závislostí. Můžeme definovat nejen závislosti v rámci naší aplikace, ale také na úrovni infrastruktury a konfigurace serveru. Například můžeme vytvořit virtuální stroj pro test a nainstalovat / nakonfigurovat kocour před zveřejněním našich artefaktů.

  3. Neúčinné sledování výroby

Někdy nakonfigurujete monitorovací nástroje způsobem, který produkuje spoustu irelevantních dat z výroby, ale jindy neprodukují dostatečné množství nebo vůbec nic. Neexistuje žádná definice toho, o co se musíte starat a jaké jsou metriky.

Musíte se dohodnout na tom, co sledovat a jaké informace produkovat, a poté zavést kontroly. Nástroje pro správu výkonu aplikací jsou velkou pomocí, pokud si vaše organizace může dovolit podívat se na AppDynamics, New Relic a AWS X-Ray.

Datové scénáře DevOps

DevOps je o eliminaci rizik spojených s vývojem nového softwaru: Analýza dat identifikuje tato rizika. Aby bylo možné průběžně měřit a zlepšovat proces DevOps, měla by se analýza rozkládat napříč celým potrubím. To poskytuje neocenitelné pohledy na správu ve všech fázích životního cyklu vývoje softwaru.

1. Méně času na analýzu dat

Se všemi daty, která se v danou chvíli generují, musí organizace akceptovat, že to všechno nemohou analyzovat. Den prostě není dost času - a bohužel, roboti ještě nejsou dost sofistikovaní, aby to všechno pro nás ještě dokázali.

Z tohoto důvodu je důležité určit, které soubory dat jsou nejdůležitější. Ve většině případů se to u každé organizace bude lišit. Než se tedy ponoříte, určete klíčové obchodní cíle a cíle. Tyto cíle se obvykle točí kolem potřeb zákazníků - především nejcennějších funkcí, které jsou pro koncové uživatele nejdůležitější. Například pro maloobchodníka je v horní části seznamu analýza, jak provoz interaguje se stránkou pokladny na webu a testování, jak to funguje v back-endu.

Několik rychlých tipů k určení, která data je nejdůležitější analyzovat:

  • Vytvořte graf: Určete, jaký dopad budou mít výpadky na vaše podnikání. Položte otázky typu: „Pokud X se zlomí , jaký vliv to bude mít na další funkce? “

  • Podívejte se na historická data: Zjistěte, kde se v minulosti vyskytly problémy, a pokračujte v analýze dat z testů a sestavujte, aby se tak nestalo znovu.

2. Obtížná komunikace

Dnes většina organizací stále pracuje s různými týmy a osobami, které identifikují své vlastní cíle a využívají své vlastní nástroje a technologie. Každý tým jedná samostatně, odpojen od kanálu a setkání s ostatními týmy pouze během fáze integrace.

Pokud jde o pohled na větší obrázek a identifikaci toho, co funguje a nefunguje, organizace se snaží přijít k jednomu řešení. Důvodem je, že hlavně proto, že všichni nedokáží sdílet celková data, což znemožňuje analýzu.

Chcete-li tento problém překonat, přepracovat komunikační tok, abyste zajistili, že všichni spolupracují v celém SDLC, nejen během procesu integrace.

  • Nejprve se ujistěte, že na začátku jsou metriky DevOps silné synchronizované. Pokrok každého týmu by měl být zobrazen na jednom jediném řídicím panelu, který by měl využívat stejné klíčové ukazatele výkonu (KPI), aby měl management přehled o celém procesu. To se děje proto, aby mohli shromažďovat všechna potřebná data k analýze toho, co se stalo (nebo co se podařilo).

  • Kromě počáteční konverzace metrik by měla existovat neustálá komunikace prostřednictvím týmových schůzek nebo digitálních kanálů, jako je Slack.

3. Nedostatek pracovní síly

Když máme málo zaměstnanců, potřebujeme chytřejší nástroje, které využívají hluboké učení k zasunutí dat, která shromažďujeme, a k rychlému přijímání rozhodnutí. Koneckonců, nikdo nemá čas se podívat na každé provedení testu (a u některých velkých organizací jich může být v daný den asi 75 000). Trik spočívá v eliminaci hluku a hledání správných věcí, na které se můžete soustředit.

To je místo, kde umělá inteligence a strojové učení mohou pomoci. Mnoho nástrojů na dnešním trhu využívá AI a ML například k:

  • Vyvíjejte skripty a testy pro přesun a ověřování různých dat

  • Reportujte o kvalitě na základě dříve naučeného chování

  • Pracujte v reakci na změny v reálném čase.

S tímto jsme se dostali na konec tohoto článku o scénářích DevOps v reálném čase.

Nyní, když jste pochopili, co jsou scénáře reálného času DevOps, podívejte se na toto Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Kurz Certifikace Edureka DevOps pomáhá studentům pochopit, co je DevOps, a získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT pro automatizaci více kroků v SDLC.

Máte na nás dotaz? Uveďte to prosím v sekci komentářůČlánek Scénáře DevOps v reálném časea my se vám ozveme.