DevOps Foundations and Concepts
V tomto příspěvku se budeme věnovat základům, konceptům a postupům, které jsou nezbytné pro každého, kdo pracuje v prostředí DevOps.
Pokryjeme následující:
- Kultura - Kultura spolupráce mezi Dev a Ops
- Praxe - Postupy, které podporují cíle kultury DevOps
- Nástroje - Nástroje, které pomáhají implementovat postupy DevOps
- Mrak - Úzký vztah mezi DevOps a cloudem
Co je DevOps
DevOps = Dev (vývoj) + Ops (operace)
Tato definice z Wikipedie je dobrým výchozím bodem:
„DevOps je kultura a praxe softwarového inženýrství, která si klade za cíl sjednotit vývoj softwaru (Dev) a provoz softwaru (Ops)… DevOps se zaměřuje na kratší vývojové cykly, vyšší frekvenci nasazení, spolehlivější verze, v úzkém souladu s obchodními cíli.“
DevOps je
- DevOps je nejprve kultura spolupráce mezi vývojáři a provozními pracovníky
- Tato kultura dala vzniknout řadě praktik
- DevOps je způsob práce
- DevOps je pohyb praktiků pro praktiky
DevOps není
- DevOps NENÍ sada nástrojů, ale nástroje jsou nezbytné pro úspěch v DevOps
- DevOps NENÍ standardem
- DevOps NENÍ produkt
- DevOps NENÍ název pracovní pozice
Kultura DevOps
Kultura DevOps je o spolupráce mezi Dev a Ops. Tradičně oba pracovali samostatně a měli odlišný a oponovat cíle.
V rámci kultury DevOps Dev a Ops spolupracují a sdílejí stejný cíl . To je vývojová péče o stabilitu i rychlost a ops péče o rychlost i stabilitu.
Tradiční role vývojářů a provozních techniků se pod DevOps stírají.
Místo „házení kódu přes zeď“ spolupracují vývojáři a operátoři na vytváření a používání nástrojů a procesů, které podporují rychlost i stabilitu.
S DevOps:
Tradiční sila
Co se stalo s tradičními sily?
Podle tradičních sil:
- Devs napsat nějaký kód
- „Hoď to přes zeď“ na QA
- Kód skáče sem a tam mezi Dev a QA, protože QA zjistí problémy a Devs je opraví
- Nakonec je připraven k výrobě
- QA / Dev „hodí kód přes zeď“ do Operations
- Pokud dojde k problému, Ops ho hodí zpět přes zeď Devovi
- Doména každé skupiny je pro ostatní skupiny „černou skříní“
- Ops by řekl: „Naše systémy jsou v pořádku; je to váš kód! “
- Dev by řekl: „Ale kód funguje na mém stroji!“
Tento způsob práce vede k mnoha osočování - Ops je černá skříňka, Devs jim opravdu nedůvěřuje A Ops opravdu nevěří Devs.
Dev a Ops mají různé priority - Ops vidí Devs jako narušení stability a Devs vidí ops jako překážku v doručení jejich kódu.
I když chtějí spolupracovat - Dev se měří poskytováním funkcí, což znamená, že nasazení změn a Ops se měří podle doby provozuschopnosti, ale změny jsou špatné pro stabilitu.
Nevýhody tradičních sil
- „Černé skříňky“ vedou k osočování
- Zdlouhavý proces znamená pomalý čas uvedení na trh
- Nedostatek automatizace znamená, že věci jako sestavení a nasazení jsou nekonzistentní
- Identifikace a řešení problémů trvá dlouho
Sloučení Dev and Ops (DevOps)
Jak DevOps řeší problémy tradičních sil?
Pod modelem DevOps:
- Devs zapisuje kód
- Spuštění kódu aktivuje automatické sestavení, integraci a testy
- QA to může dostat do rukou téměř okamžitě
- Jakmile je připraveno, nastartujte automatizované nasazení do výroby
- Vzhledem k tomu, že je vše automatizované, je mnohem snazší jej nasadit a udržet věci stabilní
- K nasazení může docházet mnohem častěji a rychleji se funkce dostanou do rukou zákazníků
- Pokud nejnovější nasazení v produkci něco přeruší, automatizované monitorování tým okamžitě upozorní
- Tým provede vrácení zpět nasazením předchozí pracovní verze a problém rychle vyřeší
- O hodinu později je tým vývojářů schopen nasadit pevnou verzi nového kódu
Dev a Ops spolupracovali na upřednostnění rychlosti dodání a stability.
Automatizace vedla ke konzistenci - vytváření, testování a nasazování probíhalo pokaždé stejným způsobem, mnohem rychleji a častěji
Dobré monitorování a rychlý proces nasazení zajistily, že problémy lze opravit ještě předtím, než si je uživatelé všimnou. Přestože změna kódu způsobila problém, uživatelé zaznamenali malé nebo žádné prostoje.
Výhody DevOps
- Technické týmy mají tendenci být šťastnější, když dělají DevOps, než být pod tradičními sily
- Více času na inovace a méně času na hašení požárů
- Devs a Ops sdílejí stejný cíl, kterým je rychlost dodání a stabilní systém.
- Způsob práce DevOps poskytuje zákazníkům funkce, které chtějí, rychle a spolehlivě.