Co DevOps vlastně znamená (a proč je tak těžké to vysvětlit)
Víte, jak lidé i dnes vlastně nevědí, co DevOps je? Upřímně, i většina DevOps inženýrů má problém vysvětlit, co vlastně dělají. Abychom si to usnadnili, prostě říkáme "jsme softwaroví inženýři". Dělám to taky, je to vtipné, opravdu. Jsme softwaroví inženýři, to ano, ale když řekneme "DevOps inženýr", otevíráme dveře k rozhovoru, na který nikdy nejsem připravený.
Už tak dost stresuji tím, že vysvětluji, co jsem studoval, "biomedicínské inženýrství" a teď jsem v DevOps? Ano, ne, díky. Já prostě říkám "softwarové inženýrství." Mnohem jednodušší.
Jednoho dne jsem zavolal kamarádovi, který je také DevOps inženýr, a zeptal se ho: "Hej, co přesně je DevOps inženýrství?" Zastavil se a řekl: "ehm... Jsou to vývojářské operace." Řekl jsem "dobře" a čekal na víc. Pak dodal: "Víš, my automatizujeme věci... CI/CD pipeline, kontejnery, všechny ty věci." Zeptal jsem se na stejnou otázku třem dalším lidem z DevOps a dostal jsem prakticky stejnou odpověď. Mimochodem, jsou to starší lidé. Ale vysvětlit to, co dělají, je přesto výzva.
Co se říká o inženýrech? Hehehe."Inženýři řeší problémy, kterým nikdo jiný nerozumí, a pak nedokážou jednoduše vysvětlit, co právě udělali."
Takže ano, začal jsem přemýšlet, jak to vlastně rozdělit? Toto není dlouhý článek, jen krátký. Jsem tu jen proto, abych vám řekl, co my, DevOps inženýři, vlastně děláme. Jsem tu, abych vysvětlil, co DevOps vlastně je.
Za prvé, celý tento text byl inspirován zajímavou definicí, na kterou jsem narazil v Samuelově článku s názvem "Principy při hledání rovnováhy pro DevOps." DevOps popsal takto;
"název pro kulturu navrženou tak, aby zvýšila schopnost organizace dodávat aplikace a služby rychleji než tradiční procesy vývoje softwaru."
Docela solidní definice, že? Ale pak jsem se zastavil a pomyslel si, co vlastně znamená tradiční proces vývoje softwaru? A říkáme, že už se nepoužívá?
Tehdy to bylo... Řekněme "dobře strukturovaný", což je jen zdvořilý způsob, jak říct pomalu. Vývojáři zůstávali stranou a psali kód, předávali ho provoznímu týmu a říkali: "Funguje to na mém počítači." Operační lidé pak trávili noci tím, že se snažili přijít na to, proč to na skutečném serveru nefunguje.
Byl to jasný rozkol; Vývojáři stavěli, operační pracovníci nasazovali a kdykoli se něco pokazilo (což se často stávalo), obě strany ukazovaly prstem, dokud to někdo nespravil nebo to nevzdal. Nešlo o to, že by byli líní nebo nedbalí; Samotný proces prostě nepodporoval rychlost ani spolupráci. Každý tým měl své vlastní nástroje, cíle a někdy i slovní zásobu.
Nasazení probíhala možná jednou za pár týdnů nebo měsíců. Když se něco pokazilo, rolování znamenalo bolest, paniku a ladění maratonů ve 2 ráno. Fungovalo to, tak nějak, ale nebylo to udržitelné, zvlášť když se software stal složitějším a očekávání uživatelů prudce rostla.
Právě zde přišlo na řadu DevOps ne jako pracovní titul (i když se tím stal), ale jako způsob myšlení. Jde o překlenutí propasti mezi vývojáři a provozem, prolomení silo a automatizaci věcí, které dříve vysávaly rozum všem.
DevOps není jen módní termín nebo pracovní titul, je to způsob práce, který spojuje vývojáře a provozní týmy. Jde o spolupráci a automatizaci s cílem zefektivnit a zvýšit efektivitu vývoje softwaru, testování a nasazení nasazení.
Místo předávání kódu mezi týmy DevOps podporuje sdílené vlastnictví prostřednictvím automatizovaných pipeline, na které se může spolehnout každý. Koncepty jako CI/CD, kontejnery, infrastruktura jako kód a monitoring tento přístup podporují. Myšlenka je jednoduchá: přejít z "funguje to na mém stroji" na "funguje to všude."
V praxi DevOps znamená automatizaci opakujících se úkolů, včasné a časté testování, nasazování v malých, zvládnutelných aktualizacích a průběžné monitorování systémů v produkci. Tyto postupy vedou k rychlejším vydáním, menšímu počtu problémů a stabilnějšímu prostředí.
Ale kromě nástrojů a procesů je DevOps nakonec o kultuře. Je postaven na důvěře, odpovědnosti a spolupráci. Myšlení se mění z "vývojáři versus provoz" na "my to vytváříme, my to řídíme." Když se něco pokazí, týmy spolupracují na jeho vyřešení.
In the end, DevOps isn’t defined by a specific set of tools or tasks. It’s defined by how teams work: communicating openly, automating where it makes sense, and focusing on delivering reliable software.
So, if someone asks what DevOps is, the simplest answer might be: it’s about making sure the software we build actually works everywhere
Posting Komentar untuk "Co DevOps vlastně znamená (a proč je tak těžké to vysvětlit)"