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:

  • Dev a Ops hrají ve stejném týmu

  • Dev a Ops sdílejí stejné cíle



    • Rychlá doba uvedení na trh (TTM)

    • Několik výrobních poruch

    • Okamžité zotavení z poruch



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ě.