Úvod do DevOps pro začátečníky

DevOps se stalo módním slovem, které pro spoustu lidí znamená spoustu různých věcí.

Je náročné pochopit a definovat, co přesně DevOps je. A to je důvod, proč pokud znáte základní koncepty DevOps, které si většina lidí spojuje, a historii toho, jak se vyvíjel, získáte na něj holistický pohled.

Původ DevOps

DevOps je dokonalým příkladem agilního vývoje softwaru. Myšlenka DevOps vzešla z potřeby držet krok se zvýšenou rychlostí softwaru a dosáhnout toho pomocí agilních metod. Během posledního desetiletí obrovský pokrok v agilní kultuře a postupech odhalil požadavek na holističtější přístup k životnímu cyklu poskytování softwaru od začátku do konce.

Možná vás zajímá, co je agilní vývoj softwaru –

Agilní vývoj je široký pojem, který definuje několik iterativních a přírůstkových metodologií vývoje softwaru. Populární agilní metodiky jsou Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development a Extreme Programming (XP).

Základní hodnoty a vize všech těchto agilních metodologií jsou stejné, ale každá z nich má jedinečný přístup. Všechny tyto metodiky zahrnují iterace a nepřetržitou zpětnou vazbu k úspěšnému zdokonalování a poskytování škálovatelného softwaru. Všechny tyto metodiky zahrnují průběžné plánování, průběžné testování, průběžnou integraci a další nekonečné formy pro projekt i software.

Na rozdíl od konvenčních procesů ve stylu vodopádu jsou tyto agilní metodiky lehké a mají přirozeně přizpůsobivou povahu. Jednou z nejlepších věcí na těchto agilních metodologiích je to, že se všechny zaměřují na posílení pravomocí lidí, pokud jde o spolupráci a společné rychlé rozhodování.

Obrázek od Segue

Ideály DevOps provádějí rozšířenou agilní vývojovou praxi s cílem zpřesnit pohyb změn softwaru prostřednictvím sestavení, ověřování, nasazení a různých fází dodání. To umožňuje mezifunkčnímu týmu mít plné vlastnictví softwarového produktu – od návrhu až po výrobu.

  Co je Google Workspace a plně nahrazuje G Suite?

Výzvy řešené DevOps

Proces nasazení – Distribuované aplikace často vyžadují nasazení binárních a konfiguračních souborů na více serverů. Stává se to náročnější, když máte farmu serverů. Je obtížné zjistit, co, jak a kde nasadit. Jasný výsledek je?

Dlouhé čekání na to, aby se artefakty dostaly do dalšího prostředí cesty k životu, způsobuje zpoždění všeho, jako je testování, čas žít atd.

DevOps umožňuje softwarovým nebo webovým vývojářům a IT operacím nasadit procesy v relaci spolupráce, která je zcela bez viny. Umožní nám to ověřit, co funguje, a poté to posunout na další úroveň s automatizací, abychom mohli implementovat neustálý vývoj. Vytváří také cesty pro častější rozvoj.

Cíle DevOps

Zlepšuje spolupráci mezi zúčastněnými stranami od plánování až po dodání a implementuje automatizaci procesu dodání, aby:

  • Zlepšete frekvenci nasazení
  • Dosáhněte rychlejšího uvedení konečného produktu na trh
  • Snižuje míru selhání nových verzí
  • Zkracuje dobu mezi opravami
  • Zlepšuje mezičas pro účely obnovy

Běžný scénář DevOps

Celý software přichází na místo setkání před zahájením nového softwarového projektu. Tým se skládá z vývojářů, testerů, provozních a podpůrných profesionálů. Tým vytváří plán na vytvoření plně funkčního softwaru, který je připraven k nasazení.

Každý den je nasazen nový kód, jakmile jej vývojáři dokončí. Automatizovaný testovací postup zajišťuje, že kód je připraven k implementaci. Jakmile kód získá zelený signál z procesu testování automatizace, je nasazen pro malý počet uživatelů. Kód je po krátkou dobu monitorován, aby se zajistilo, že nenastanou žádné nepředvídané problémy a je stabilní. Nový kód je poté nasazen ostatním uživatelům, jakmile konečné monitorování ukáže, že kód je stabilní. Významná část kroků po plánování a vývoji se provádí bez lidského zásahu.

Různé fáze zralosti DevOps

Existuje mnoho různých fází zralosti DevOps. Zde jsou klíčové fráze, které musíte znát.

  Jak změnit pozici Bitmoji ve Snapchatu

Vývoj vodopádů

Před dobou nepřetržité integrace vývojové týmy psaly obrovské množství kódu a poté byly pro vydání sloučeny týmy z různých týmů. Verze kódu byly natolik odlišné, že dříve vyžadovaly velké množství změn.

Provedení tohoto počtu použitých změn trvá déle než několik měsíců. Tento proces nebyl produktivní.

Průběžná integrace

Je to praxe rychlé integrace nově vyvinutého kódu s hlavním kódem, který má být uvolněn. Pokud jde o uvolnění kódu, neustálý vývoj pomáhá ušetřit spoustu času.

DevOps tento termín nezavedl. Kontinuální integrace je agilní inženýrská praxe vycházející z metodologie extrémního programování. Společnost DevOps tuto praxi přijala, protože při úspěšném provádění nepřetržité integrace je vyžadována automatizace. Průběžná integrace je často první na cestě k vyspělosti DevOps.

Nepřetržitá integrace z pohledu DevOps zahrnuje kroky, jako je kontrola kódu, jeho kompilace do použitelného kódu a spuštění některých nezbytných ověřovacích testů. ‚

Nepřetržité doručování

Jedná se o rozšíření kontinuální integrace a druhého stupně DevOps.

Continuous Delivery umožňuje přidat další automatizaci a testování, takže nejen rychle sloučíte kód s hlavním řádkem kódu, ale také získáte kód téměř připravený k nasazení bez lidského zásahu.

Je to praxe udržovat vaši kódovou základnu ve stavu téměř připraveném k nasazení.

Průběžné nasazení

Nepřetržité zavádění je pokročilou evolucí nepřetržitého doručování. Tato praxe nám umožňuje nasadit všechny způsoby do výroby bez jakéhokoli lidského zásahu.

Tým, který pracuje na neustálém vývoji, nikdy nenasadí žádný kód bez testování. Veškerý nově vytvořený kód prochází automatizovaným testováním, než se dostane do produkční fáze. Kód je nasazen pro malý počet uživatelů a existuje automatizovaná smyčka zpětné vazby, která monitoruje kvalitu a použití, než se kód dostane na další úroveň.

Malý počet společností jako Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU, Google atd. se neustále vyvíjí.

Hodnota

DevOps se velmi zaměřuje na rozvoj kultury spolupráce a zlepšování efektivity prostřednictvím automatizace s různými nástroji DevOps. Chcete-li implementovat DevOps pro vaše softwarové řešení, musíte použít kombinaci kultury a nástrojů.

  10 nejlepších nástrojů Ping Sweep, které vám řeknou více o vaší síti

Kultura DevOps

DevOps je zvláštní kultura, která pomáhá zlepšit spolupráci, snížit chaos, lépe zvládat sdílené odpovědnosti, implementovat automatizaci, zlepšovat kvalitu, oceňovat zpětnou vazbu a zvyšovat automatizaci.

Agilní metody byly vždy nejlepším holistickým způsobem dodávání softwaru. Pokud jde o měření pokroku, tým agilních vývojářů to dělá z hlediska funkčního softwaru. Agilní metoda kultury DevOps umožňuje vlastníkům produktů, vývojářům, testerům a UX lidem úzce spolupracovat se stejným cílem.

Nástroje DevOps

Zahrnuje nástroje pro správu konfigurace, testování a budování systémů, vývoj aplikací, řízení verzí a monitorování. Pokud jde o implementaci Continuous Integration, Continuous Delivery a Continuous Deployment, vyžadují různé nástroje a zároveň používají stejné nástroje. Při postupu doručovacím řetězcem budete muset používat více nástrojů.

Pojďme se seznámit s některými oblíbenými nástroji a postupy.

Úložiště zdrojového kódu – toto je místo, kde se vývojáři mohou přihlásit a změnit kód. Úložiště zdrojového kódu spravuje různé verze kódu, který je zpřístupněn, takže se může ujistit, že vývojáři přepisují kódy ostatních.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse atd. jsou některé z oblíbených nástrojů pro úložiště kódu.

Build server: – Build server je automatizační nástroj, který se používá ke kompilaci kódu v respiračním zdrojovém kódu do báze spustitelného kódu. Některé z velmi používaných nástrojů pro sestavení serveru jsou Jenkins, SonarQube a Artifactory.

Správa konfigurace – Puppet, Chef, Ansible, SaltStack, Run Deck atd. pomáhá spravovat konfiguraci aplikace a infrastruktury, aby byla zachována konzistence napříč prostředími.

Virtuální infrastruktura – AWS, GCP a Azure jsou tři největší poskytovatelé veřejného cloudu, kteří nabízejí téměř všechny služby infrastruktury. Nabízejí API, které vám umožňuje poskytovat infrastrukturu a spravovat je jako kód.

Závěr

Doufám, že vám to dá představu o DevOps, a pokud vás to vzrušuje, můžete zkusit tento online kurz mistrovské třídy.

Článek od Payal Goyal