DevOps není ani metoda, ani nástroj, je to kultura



DevOps je praxe provozních a vývojových inženýrů účastnících se společně na celém životním cyklu služby, od návrhu přes vývojový proces až po podporu výroby. Za agilitu v systému lze považovat kulturu DevOps.

Kultura je často ignorována a nepochopena, přesto je klíčovým faktorem odpovědným za výkon společnosti. Pokud svou kulturu nezvládneme, skončíme nesprávnými postupy, které nakonec ovlivní naše obchodní cíle.

Porozumění současné kultuře organizace

Kultura nám říká o hodnotách a normách ve skupině nebo společnosti. Identifikuje, co je důležité, a také to, jak lidé navzájem přistupují a spolupracují.





jak nainstalovat php 7

KULTURA = „Jak lze chytře dělat věci pro úspěch“

Vezměme si příklad týmu zákaznické podpory. Kultura tohoto týmu by měla být taková, aby nakonec dosáhl 97–98% spokojenosti zákazníků.



Při pohledu na potěšení zákazníka musí být především zdvořilí, i v obtížných situacích musí být dobrými posluchači, aby nedocházelo ke zmatkům, je třeba upřednostnit práci podle požadavků.

Zastavme se na chvíli a položme si několik otázek:

  • Jaká je nyní kultura mé společnosti?
  • Jak dobře je tato kultura sladěna s mými obchodními cíli nebo KRA?
  • Jaké problémy mohu očekávat kvůli vychýlení?

Pro každou organizaci hrají 4C zásadní roli



4C organizace

Nyní se podívejme na kulturu organizace vyvíjející software. Existuje mnoho týmů zapojených do budování a údržby jediné softwarové jednotky. Všechny tyto týmy mají samostatné cíle a samostatnou kulturu.

Tento proces začíná poté, co klient potvrdil požadavky.

Vývojáři dodržují pokyny pro kódování definované jejich organizací a pro generování kódu se používají programovací nástroje, jako jsou kompilátoři, tlumočníci, debuggery atd. Pro kódování se používají různé programovací jazyky na vysoké úrovni, jako jsou C, C ++, Pascal, Java a PHP.

Rozdělí celý balíček do malých složek a poté podle toho vyvinou malé kódy.

Fáze 1 : Tyto malé jednotky kódů jsou poté spojeny do velké jednotky. Při integraci menších čipů je třeba provést testování na úrovni projektu známé jako testování integrace.

Fáze 2 : Po úspěšné integraci je nasazen do fiktivního systému. Tento fiktivní systém má podobnou konfiguraci jako klientský počítač nebo stroj, kde musí být tento projekt konečně nasazen.

Fáze 3 : Nakonec se po testování všech funkcí v fiktivním systému projekt nasadí na produkční server nebo do klientského počítače.

Ačkoli se tento proces zdá být velmi hladký a snadný slovy, z technického hlediska je velmi obtížné ho dosáhnout.

Podívejme se, s jakými problémy se můžeme setkat:

Fáze 1 :

Klient neustále hledá změny, které by zlepšily kvalitu produktu. Většinu času, kdy byla provedena první iterace, klient navrhne několik změn. Když vývojáři obdrží změny, začnou je začleňovat, což ovlivní integraci vedoucí k nefunkčním sestavením.

Fáze 2:

Testeři nebo jiní operátoři většinou nevědí, jaké nové změny je třeba provést. Jakmile získají kód od vývojářů, začnou je testovat. Zatímco na zadní straně vývojáři stále provádějí změny.

Jelikož nemají dostatek času na implementaci nových změn, vyvíjejí neúčinné kódy, jimž čelí dalším problémům se sítí a databázemi, což opět zpožďuje jejich čas dodání.

mělká kopie Java vs hluboká kopie

Když nakonec dodají kódy operačnímu týmu, zbývá jim velmi minimální čas na vytvoření a implementaci nových testovacích případů. Přeskočí tedy mnoho testovacích případů, které si později uvědomí, že měly vysokou prioritu.

Fáze 3:

Ačkoli se zdá, že je sestavení prakticky připraveno k produkci, výsledky jsou zcela neočekávané. Sestavení selhalo a došlo k řadě chyb.

Potom u každé chyby, která se vyskytla, musí sledovat, proč k ní došlo, kde k ní došlo, jaké změny je třeba provést, aby se to překonalo, dojde ke změně kódů jiných, aby byla kompatibilní s předchozími. Nakonec pro všechny tyto chyby je třeba vygenerovat hlášení o chybě.

Selhání je způsobeno systémovými chybami kvůli neznalosti vývojáře databáze v účinnosti kódu, neznalosti testeru v počtu testovacích případů atd.

Protože klient vždy dodržuje termín, zaměstnanci podílející se na jejich dosažení se soustředí pouze na konečné vydání, i když musí ohrozit celkovou kvalitu.

Ačkoli se to zdá být problémem při koordinaci práce, toto je vlastně selhání přijaté kultury.

K tomu dochází z důvodu velké závislosti na manuálních procesech. Běh sem a tam ve stejném týmu kvůli nedostatku znalostí v různých oborech, nedostatečný přístup nebo nedostatek zájmu zvyšuje naši vlastní zátěž a bolest.

Je nejvyšší čas, abychom byli všestranní. Může být obtížné ovládnout všechny procesy zapojené do systému, ale můžeme být zvedákem všech, ovládat jeden z nich. Pak jen my můžeme náš systém zautomatizovat nebo zajistit, aby byl dostatečně inteligentní, aby se zotavil, spíše než vrácení zpět.

Možná si teď říkáte proč?

Je to proto, že ten, který ovládáte, je vysoce závislý na ostatních. Abychom věděli o bodě závislosti, musíme porozumět celému systému.

Pojďme si tedy představit proces, jak změnit kulturu. Předtím máte odpověď na níže uvedené otázky?

  • Kde vaše současná kultura selhává?
  • Proč si přejete změnit postup?
  • Jasně jste identifikovali všechny požadované změny?
  • Získali jste zpětnou vazbu a buy-in od všech dotčených zúčastněných stran?
  • Prodloužili jste pro změnu procesní disciplínu, data a měřicí systém?

Takže teď, když máme odpověď na všechny, myslíme na revoluci v našem systému. Jak bude tato revoluce probíhat? Toho lze dosáhnout pouze tehdy, když zabijeme to, čím jsme nyní. Při migraci kódu mezi týmy se zbytečně ztrácí čas. Musíme přinést proces, kde můžeme provádět nepřetržitou integraci a nepřetržité nasazení.

Tento proces neustálé integrace a nasazení ho činí agilnějším. Přinášení této agility se považuje za DevOps kulturu.

DevOps je praxe provozních a vývojových inženýrů účastnících se společně na celém životním cyklu služby, od návrhu přes vývojový proces až po podporu výroby.

Není snadné změnit pracovní systém v průběhu času. Úspěšný přechod znamená spíše renovovat systém než znovu stavět.

Nyní se podívejme, jak toho můžeme dosáhnout. Existují dva způsoby, jak přistupovat.

1) Shora dolů

2) Zdola nahoru

Když se ponoříme hlouběji do těchto technik, uvědomíme si, která je pro naši organizaci nejvhodnější.

V přístupu shora dolů můžeme přejít na vyšší management a požádat je o provedení změn ve všech týmech. Pokud je vedení přesvědčeno, můžeme na tom začít pracovat.

Pravděpodobnost získání odpovědi „NE“ je však poměrně vysoká. Je to proto, že změna systému může vést organizaci k nestabilitě.

Musí prozkoumat strukturu organizace, výnosy, úroveň zájmu klienta atd. Ale nejdůležitějším faktorem, který je stahuje zpět z vymýcení starého systému, je, že nevidí velký obrázek toho, čeho lze dosáhnout a jak plynule toho lze dosáhnout s novějším.

rozdíl mezi rozhraním a třídou

V tomto případě můžeme hledat druhý přístup, abychom získali tento celkový obraz.

Přístup zdola nahoru vyžaduje dobrovolnictví. Tady musíme vzít malý tým a malý úkol a provést jej v DevOps Model.

Při pohledu na technickou stránku tohoto modelu máme různé sady sofistikovaných nástrojů, díky nimž je práce efektivnější a rychlejší. Samotné nástroje však nejsou dostatečně schopné vytvořit prostředí pro spolupráci označované jako DevOps.

Vytvoření takového prostředí vyžaduje, abyste mimo krabici mysleli např. hodnocení a přeladění toho, jak si lidé myslí o svých týmech, podnikání a zákaznících.

Sestavení nové sady nástrojů je jednodušší než změna organizační kultury. Propagací asociálních hlavních vývojářů, umožněním integrace neefektivního kódu, nasazením kódů, které nebyly řádně otestovány, kladením viny na hlavu toho druhého, považováním operačního týmu za hloupého, nejsou nejlepší postupy, kterými se řídíme, abychom umožnili podnikání a vytvářet hodnotu pro naše zákazníky.

Nejsou to nástroje, ale lidé, kteří je používají, činí tento proces složitým. Říci na abstraktní úrovni, spíše než sbírat nápady a chování, jejich otevřenost nás vede na jasnou cestu.

Začněme týmem šesti členů a tříbodovým příběhem. Nejprve musíme rozbít tým, kterému říkáme vývojáři, provozovatelé, testeři atd. Všechny považujeme za jeden, řekněme „DevOps“. Když obdržíme požadavky, musíme analyzovat rizikové zóny. Nezapomínejte na hlubší úseky moře a hellip. Začneme se plavit.

Nyní si musíte myslet „jaký je x-faktor těchto nepřetržitých integrací a nepřetržitého nasazení, který snižuje pravděpodobnost selhání“.

Díky vylepšené vizi a procesu můžeme přistupovat k vedení a dát jasný obraz o výsledcích, jako je hladký proces, snížení rizika selhání, dokončení úkolu před časovou osou atd.

Nyní můžeme jasně vizualizovat, jak byl celý proces optimalizován na technické a kulturní úrovni tím, že po každé iteraci budeme mít retrospekci.

Edureka má speciální kurátorství který vám pomůže zvládnout koncepty mimo jiné Puppet, Jenkins, Ansible, SaltStack, Chef.

Máte na nás dotaz? Uveďte je v sekci komentáře a my se vám ozveme.

Související příspěvky: