DevOps nie je technologický checklist

Categories: Technický článokDevOps

Ešte nedávno by ste pojem DevOps márne hľadali v knihách a vo vyhľadávačoch. Toto slovíčko ale v sebe skrýva prevratnú metodológiu, ktorá zefektívnila, uľahčila a spríjemnila prácu mnohým IT profesionálom po celom svete a ďalším dala návod, ako spojiť dovtedy nespojiteľné svety developerov a administrátorov.

Veľa ľudí pohybujúcich sa v IT si spája DevOps s konkrétnymi nástrojmi ako napríklad Azure DevOps, AWS, Chef, Puppet alebo Docker. Ale toto sú len samotné nástroje, nie DevOps metodológia. Čo robí tieto nástroje „DevOps“ je ale spôsob ich používania, nie samotná charakteristika nástrojov ako takých. Aj keď je DevOps metodológia silno ovplyvnená inými (napr. Agile), jej aplikovanie je významnejšie, pretože Agile sa zameriava iba na stránku vývoja, zatiaľ čo DevOps zahŕňa viac ako len programovanie a testovanie. Jeho aplikácia nie je obmedzená iba na IT profesionálov. DevOps je najúčinnejší práve vtedy, keď si jeho ideu a koncept osvojí a praktizuje celá organizácia. Všetky tímy v rámci organizácie by mali byť zapojené – vrátane security, podpory, HR, právneho oddelenia – aby boli čo najefektívnejšie. Napríklad efektívne DevOps procesy medzi právnym a predajným oddelením by mohli umožniť automatizované vytváranie kontraktov na základe stanoveného katalógu predaja.

Štyri piliere efektívneho DevOps

Nie je to teda iba o rôznych vývojárskych metódach, ako napríklad automatizácia infraštruktúry, continuous integration (CI) či continuous delivery (CD). Je to viac ako iba spojenie jednotlivých častí. Je to kultúra a nastavenie mysle ľudí zamestnaných vo firme. Keďže každá firma má iných zamestnancov, iné potreby a iné problémy, nemôže existovať jedno riešenie a jediný „správny“ spôsob ako robiť DevOps. Na to, aby sme vo firme mohli implementovať DevOps, musí daná firma obetovať čas a úsilie na takzvané štyri hlavné piliere efektívneho DevOps:

  • Spolupráca
  • Sympatia
  • Nástroje
  • Škálovanie

Pre začiatok by si mala firma vybrať jeden alebo dva z týchto pilierov naraz a snažiť sa o zmenu, pričom cieľom je stále kombinácia všetkých štyroch pilierov. Je veľmi dôležité neprehliadnuť prvé dva piliere a nesnažiť sa aplikovať iba nástroje. Nástroje sú samozrejme dôležité, avšak nie dostatočné. Ak by to tak bolo, postačovalo by vymenovať „best practices“ rôznych nástrojov. Spolupráca a sympatia sú dôležité z pohľadu dlhodobého udržania dobrých a dlhotrvajúcich vzťahov, ktoré vytvárajú produktívne DevOps prostredie.

Obr. 1. Štyri piliere efektívneho DevOps

Spolupráca

Spolupráca je proces dosiahnutia výsledkov cez podporu vzájomnej interakcie a vstupov viacerých ľudí. Veď Práve spolupráca softvérových vývojárov a administrátorov pomohla vytvoriť DevOps. Predtým, ako sa tím naučí efektívne komunikovať s iným tímom, musia sa členovia tímu najskôr naučiť komunikovať medzi sebou. Bez dobrej spolupráce v rámci tímu je veľmi malá nádej na dobrú spoluprácu medzi tímami.

Sympatia

Navyše K rastu a udržiavaniu pracovných vzťahov medzi jednotlivcami, tímami a oddeleniami v organizácii je potrebné budovať silné vzťahy. Na prvý pohľad sa môže tento pilier zdať ako zanedbateľný, keď sa ale na pilier Sympatia pozrieme z hľadiska efektivity, prídeme na to, že je kľúčový rovnako ako ostatné tri. Vďaka budovaniu silných vzťahov, či už medzi tímami alebo dokonca rôznymi organizáciami, vieme veľmi účinne skrátiť čas dodania práce tým, že odstraňujeme komunikačnú bariéru a pracujeme na základe silnej dôvery.

Nástroje

Nástroje vnímame ako akcelerátor zmeny. Môže sa zdať, že postačuje zmeniť nástroje, ktoré tím používa, a premena na DevOps je ukončená. Tento pohľad je veľmi častý, no žiaľ je veľmi chybný. Problémy, ktoré má organizácia alebo tím, sa neodstránia samé bez zmeny kultúry a hodnôt, ktorými sa riadia. Tak isto, ak má tím problémy s nástrojmi, ktoré používa, prípadne nepoužíva, iniciatíva na zmenu nemusí byť úspešná, pokiaľ sa neodstránia aj tieto prekážky. Na prvý pohľad veľká investícia v začiatkoch spolupráce je v tomto prípade stále menšia, ako cena bez investície do správnych nástrojov.

Škálovanie

Musíme sa tiež pozerať na aplikovateľnosť DevOps nielen vo veľkých organizáciách, ale aj v menších podnikoch, či dokonca start-upoch. Tu vstupuje do hry škálovanie, špecifický prístup a využívanie DevOps metodológie v tímoch a organizáciách rôznych veľkostí. DevOps musí dynamicky reflektovať zmeny či už personálnych z hľadiska počtu členov tímu, organizácie, výšky zisku, rozširovania pobočiek alebo tzv. zrelosti a pripravenosti. To znamená, že nemusí mať rovnaký úspech proces zavedený v organizácii, ktorá má 500 zamestnancov a v startupe, na ktorom pracujú štyria vývojári. Každý z týchto systémov je špecifický a je k nim potrebný špecifický prístup.

Cultural-debt

Pojem “tech-debt” pozná asi každý vývojár. Vypovedá o potencionálnych následkoch technických rozhodnutí, ako napríklad systémový dizajn, architektúra softwaru, alebo výber technológií. Menej z nich pozná alebo rozumie výrazu “cultural-debt”. Označujú sa ním podobne ako pri predošlom pojme, možné následky, avšak v tomto prípade rozhodnutia, ktoré sa týkajú naberaniu alebo prepúšťaniu zamestnancov, firemné alebo tímové štandardy a hodnoty. Rovnako ako “tech-debt”, aj “cultural-debt” vždy organizáciu alebo tím dobehne a musia čeliť následkom. Taktiež platí aj fakt, čím neskôr sa na ňom začne pracovať, tým bude ťažšie sa z tohto dlhu dostať. Často sa tieto problémy nedajú vyriešiť zo dňa na deň, ale vyžadujú kontinuálnu prácu na kultúre dôvery, jednoty a bez obviňovania. Niekoľko príkladov na “culture-debt”, ktoré možno pozorujete aj vo vašej organizácii alebo tíme:

  • kolega, s ktorým sa veľmi ťažko spolupracuje a tím mu radšej ustúpi alebo zamestnanci odídu, ako by ho poprosil o zmenu jeho problematického správania,
  • príliš veľa vrstiev stredného manažmentu, ktorý v konečnom dôsledku bráni a spomaľuje vývoj aplikácie,
  • tolerovanie urážlivého slovníka v mailoch a iných komunikáciách,
  • tímové prostredie, kde sú zamestnanci dostupní aj v neskorých večerných hodinách a odpovedajú na maily a iné požiadavky.

Ak sa posunieme od hodnôt, ktoré prezentuje organizácia zamestnancom a dostaneme sa ďalej, bližšie ku jednotlivým zamestnancom, môžeme prísť na to, že hodnoty sú rôzne aj v rámci jedného tímu. Hovorili sme, ako rôzne hodnoty a ciele narušia chod tímu a v konečnom dôsledku aj celej organizácie. Snažiť sa rýchlo doručovať nové funkcionality alebo za každú cenu udržiavať stabilnú webstránku? Takéto rozličné vnímanie cieľa spôsobuje problémy pri chode aplikácie a takisto aj v tíme samotnom. Z dlhodobého hľadiska je takýto prístup s nedostatkom komunikácie a s nezhodami na hlavných hodnotách a cieľoch tímu neudržateľný.

Ako na efektívny DevOps

Tieto a rôzne iné problémy však nevyrieši iba vsunutie slovíčka DevOps pred pracovnú pozíciu alebo meno tímu. DevOps nie je o nákupe nových technológií na kontajnerizáciu alebo účtov na cloude. Nie je to iba jedna z mnohých vecí na zozname, nie je to niečo, čo sa niekedy dá považovať za “hotové”. Devops je postupný proces, ktorý sa musí neustále vyvíjať a aktualizovať, inak nezostane v organizácii a tíme zdieľaný príliš dlho. DevOps je o porozumení, empatii a prepojenosti štyroch hlavných pilierov. Spolu tieto piliere tvoria a posilňujú základy udržateľnej kultúry a pracoviska. Zároveň tiež pestujú zdravé medziľudské vzťahy v tíme, kde to nie je len o jednej hviezde, ktorú všetci uznávajú, ale skôr o orchestri, kde je každý člen tímu je rovnako dôležitý a takisto je každý úspech úspechom celého tímu.

 

Referencie
Literatúra: Effective DevOps by Jennifer Davis & Ryn Daniels

  • URL copied!