Ikona stránky Altamira

DevOps: čo to je a prečo potrebujete v tíme inžiniera DevOps

Každý, kto sa zaujíma o vývoj softvéru, pravdepodobne počul o nedávnej popularite DevOps (skratka pre Development and Operations) a o konkrétnej osobe v tíme, ktorá túto pozíciu zastáva. Verte tomu alebo nie, ale nové názvy pracovných pozícií sa z času na čas objavujú, pretože moderné prístupy k riešeniu problémov, najmä pri tvorivej práci založenej na znalostiach, si vyžadujú ľudí s rôznorodými zručnosťami, ktoré umožňujú, aby modely pracovného postupu, ako sú Agile a Scrum, vôbec existovali. DevOps je presne takýto a táto skratka označuje základný kameň výroby softvéru vo veľkých spoločnostiach, ako je Google alebo Apple, a v menších firmách po celom svete.

  1. Čo je DevOps?
  2. Pravidlá DevOps
  3. Model DevOps
  4. Inžinier DevOps
  5. Výhody prenájmu špecialistu DevOps

Čo je DevOps?

DevOps je kombinácia kultúrnych filozofií, postupov a nástrojov, ktoré zvyšujú schopnosť organizácie dodávať aplikácie a služby vysokou rýchlosťou: vyvíjať a zlepšovať produkty rýchlejším tempom ako organizácie využívajúce tradičné procesy vývoja softvéru a správy infraštruktúry.

Keďže ide o relatívne novú technológiu, DevOps ešte nemá jasnú a presnú definíciu. Rozhodne je to však tak, že DevOps je dvojaká vec: je to určitý súbor postupov a je to osoba, ktorej pracovný názov je DevOps inžinier.

DevOps ako súbor postupov spája dve veci: vývoj softvéru a jeho integráciu (vývoj + prevádzka). V minulosti boli tieto dve strany vývojového cyklu oddelené, pretože vývojári písali kód, zatiaľ čo správcovia systému a testeri ho integrovali, testovali a nasadzovali. 

Predtým, ako sa objavili a osvedčili metódy Scrum a Agile, sa na vývoj a nasadzovanie softvéru používal takzvaný vodopádový model. Vodopádový model bol prevzatý z toho, ako sa tradične postupovalo v inžinierstve, najmä vo výrobnom a stavebnom priemysle. Znamenalo to, že vývoj a integrácia boli oddelené procesy, ktoré riešili rôzne tímy s menšou mierou spolupráce. Tento prístup pri vývoji vlastného softvéru sa nepovažoval za efektívny, pretože časté problémy pri nasadzovaní (chyby) si vyžadovali rýchle zmeny (revízie) vývoja.

Jedným z pilierov DevOps ako súboru postupov je jeho úzke prepojenie s celou koncepciou a filozofiou Agile a/alebo Scrum. Tieto metodiky kladú dôraz na kontinuálne dodávanie, ktoré sa uskutočňuje pomocou skrátených pracovných cyklov nazývaných šprinty alebo časté vydávanie pravidelne sa opakujúcich verzií. DevOps spája vývoj a nasadzovanie do jedného kontinuálneho súboru procesov, pričom zdôrazňuje dôležitosť komunikácie, spolupráce a otvorenosti v záujme lepších celkových výsledkov a efektívnejších produktov.

Niektorí tvrdia, že podobne ako Agile alebo Scrum, DevOps je viac než len súbor princípov, je to filozofia a výrobný dizajn, ktorý z metodiky robí hlavný princíp, ktorý je opakujúcim sa cyklom efektívneho vývoja a nasadzovania softvérových produktov. 

Pravidlá DevOps

DevOps závisí od rýchlej reakcie na spätnú väzbu, automatizácie rutinných procesov, kontinuálnej integrácie a kontinuálneho dodávania. Mnohí softvéroví inžinieri a špecialisti na zabezpečenie kvality sa pri snahe o podrobnejšie vysvetlenie celého pojmu DevOps odvolávajú na skratku CAMS.

  • Kultúra komunikácie a spolupráce
  • Automatizácia rutinných procesov
  • Meranie KPI
  • Zdieľanie vedomostí

Dodržiavanie týchto hlavných zásad umožňuje skutočne vidieť, ako sa projekt robí tehla po tehle efektívne a systematicky bez toho, aby sa pôvodný koncept a myšlienka ako celok stratili z dohľadu. Tým sa zaručuje, že samotný proces umožňuje zavádzať zmeny za pochodu a zároveň vytvárať to, čo bolo pôvodne plánované. 

Model DevOps

DevOps je určitý model dodávky, ktorý je základom agilnej metodiky Agile/Scrum. Pozostáva z vývoja, testovania, monitorovania a vydávania s neustálou komunikáciou medzi členmi tímu.

Plánovanie

Práca je rozdelená do krátkych cyklov - šprintov. Je to jeden zo základných princípov riadenia projektov typu Scrum/Agile. Kladie dôraz na časté vydávanie krátkodobých verzií každé 2 týždne. Tento prístup umožňuje byť flexibilný a sústrediť sa najprv na najdôležitejšie úlohy, aby sa čo najrýchlejšie vytvoril funkčný prototyp (ktorý sa dá testovať). Plánovanie zvyčajne zahŕňa načrtnutie 2 šprintov dopredu, ale so zameraním na najbližší z nich.

Nepretržité doručovanie

CD spája vývoj, testovanie a nasadenie do jedného pracovného procesu. Funguje nasledovne: 

  1. inžinieri denne odovzdávajú malé časti kódu
  2. zabezpečenie kvality (testeri) ho testujú automaticky pomocou nástrojov ako Selenium alebo Ranorex
  3. chyby sa nahlasujú späť vývojárom.
  4. systémy na správu verzií (VCS) zaznamenávajú zmeny
  5. kód, ktorý prešiel testami, je integrovaný do jedného zdieľaného úložiska na serveri s Jenkins alebo GitLab CI
  6. kód je nasadený na produkciu na verejnom serveri pomocou Chef, Puppet alebo Azure Resource Manager.
  7. kód je k dispozícii veľkému počtu používateľov na testovanie nových funkcií. 
  8. priebežné monitorovanie s cieľom odhaliť problémy a posúdiť všeobecnú kvalitu, analyzovať spätnú väzbu od používateľov a tímu

Inžinier DevOps

Inžinier DevOps nie je len dobrý odborník. Je to prirodzený líder, ktorý dokáže robiť viac úloh naraz a myslí na ľudí (klientov a členov tímu) rovnako ako na kód. DevOps inžinier je človek, ktorého prínos môže veľmi pravdepodobne rozhodnúť o osude projektu. Stará sa o to, aby bol projekt harmonicky koordinovaný s kontinuálnou integráciou a úspešným testovaním. Je ako projektový manažér na strane vývoja projektu. Na rozdiel od vedúcich tímov je však na ňom, aby rozhodol, ako a kedy začať testovanie alebo integráciu nových funkcií, aké techniky použiť atď.

 

Výhody prenájmu špecialistu DevOps

Existuje niekoľko zásadných výhod, ktoré sú spojené s prenájmom určitého odborníka na pozíciu DevOps. Patria medzi ne okrem iného:

  • Rýchly postup projektu
  • Lepšie delegovanie úloh
  • Zvýšená kvalita softvéru
  • Zlepšenie komunikácie v tíme

Celkovo možno povedať, že najatie DevOps vášmu projektu určite neuškodí. Nie náhodou sa touto zásadou riadia uznávané technologické giganty, pretože pri vývoji softvéru záleží na každej maličkosti. A s princípom DevOps v hre a inžinierom DevOps vo vašom tíme sa úspešnosť zvyšuje bez toho, aby ste museli platiť príliš veľa nákladov navyše.

Ukončenie mobilnej verzie