Image
16.8.2018 2 Comments

DevOps? Rozhodne ÁNO!

Softvér dnes stretávame takmer na každom kroku a programy súvisia s drvivou väčšinou činností ľudí aj neživých strojov. Tvorba softvéru pritom nie je jednoduchá činnosť. O možných prístupoch k vývoju – zďaleka nielen o programovaní – bolo napísané nespočetné množstvo článkov, vymyslená široká škála metodík a modelov. V priebehu dekád boli vy­zdvihované a zase zatracované rôzne postupy. Evolúcia však prebieha aj v tomto segmente.

Najlepšie hneď

Podobne platí aj to, že svet okolo nás sa neustále zrýchľuje. A všetci sme si zvykli, že drvivú väčšinu želaní si môžeme splniť veľmi rýchlo, v mnohých prípadoch prakticky ihneď. Najmä vtedy, ak ide o digitálne túžby. Nechceme čakať ani na nové funkcie, ani na zlepšovanie a zdokonaľovanie tých existujúcich. Týka sa to, samozrejme, aj iných odvetví, nielen informačných technológií.

Spolu s obrovskou dynamikou zmien tak rastie aj tlak na čo najrýchlejšie uvoľňovanie nových verzií softvéru, spúšťanie lepších služieb, odstraňovanie chýb. Faktom je aj to, že relatívne menej kvalitné, ale rýchlo dostupné riešenie môže byť pre zákazníka výhodnejšie než robustný softvér vyvíjaný mnoho mesiacov alebo rokov. Tradičné spôsoby tvorby softvéru nemôžu týmto požiadavkám vyhovovať – veď existujú aj situácie, keď treba vydávať verzie v denných intervaloch. Alebo dokonca v ešte kratších v prípade bezpečnostných opráv.

Základom je spolupráca

Možno namietnuť, že existujú agilné metodiky vývoja. Áno, lenže tie sú zamerané predovšetkým na tvorbu a vývojové tímy, pričom ostatné aspekty zostávajú trochu bokom. Či už ide napríklad o integráciu, alebo požiadavky prevádzky. V budúcnosti preto bude stále dôležitejšie vnímať podnikovú informačnú architektúru ako neoddeliteľnú súčasť firmy, pričom vývojové a prevádzkové tímy budú musieť veľmi úzko spolupracovať. A spĺňať tak podstatu tzv. prístupu DevOps (z Development – Operations).

Skôr vývojové a prevádzkové tímy pracovali oddelene a komunikovali spolu len v nevyhnutnej miere. Výsledkom bolo ťažké riešenie problémov aj dlhší vývoj, a teda aj nízka efektivita, najmä v prípade rozsiahlych softvérových riešení. Obe strany síce vynaložili maximálne úsilie a snažili sa o čo najlepšie výstupy svojej práce, ale v dôsledku vzájomnej uzavretosti neraz ani dobrá vôľa nestačila.

SAMSUNG_M_FORT_B_092018
 

Nie je to o nástrojoch

Aby nedošlo k zásadnému omylu, DevOps nie je sú len konkrétne nástroje použiteľné na vývoj a všetko, čo s tým súvisí. Nejde dokonca ani o konkrétnych ľudí. V skutočnosti ide o filozofiu spolupráce, o kultúru, ktorej podstatou je zdieľanie. O tímy a celý kolektív. O maximálne využitie automatizácie. A v neposlednom rade aj o vôľu neustále sa zlepšovať a neustrnúť v zastarávajúcich paradigmách. DevOps stavia na kombinácii agilného prístupu, kontinuálneho nasadzovania aj integrácie a otvorenej vzájomnej spolupráce. Cieľom je nielen rýchlejší vývoj, sprístupňovanie nových verzií a zisťovanie aj oprava chýb, ale vcelku aj lepšie odladenie rýchlo za sebou idúcich verzií.

Na druhej strane sú v praxi kvalitné nástroje podporujúce DevOps nevyhnutné. Na trhu sa v tejto oblasti pohybuje množstvo významných hráčov, orientovaných na tradičné uzavreté modely aj na open source. Za všetky možno uviesť spoločnosť Atlassian, známu napríklad jej nástrojom na evidenciu chýb a problémov JIRA, riešením na spoluprácu Confluence alebo napríklad platformou na kontinuálnu integráciu aj nasadzovanie Bamboo. Atlassian má množstvo partnerov, ale jediný platinový part­ner na českom a slovenskom trhu je spoločnosť Onlio.

Kto sa bojí...

Zdieľanie sa v prípade prístupu DevOps týka v podstate všetkého, čo môže vývoj alebo prevádzku zefektívniť a skvalitniť. V rámci DevOps je dôležité zdieľať nielen nástroje a informácie, ale aj znalosti jednotlivých tímov a ich členov. Zmyslom takéhoto širokého poňatia je predchádzať sprístupňovaniu informácií až na vyžiadanie, ktoré veľmi často spôsobuje prieťahy pri riešení čiastkových problémov. Inými slovami, nestačí v danom okamihu vedieť KTO, ale čo najrýchlejšie treba získať aj správnu odpoveď na otázku AKO.

Prístup DevOps možno vyzerá zložito, ale aj tu platí, že v jednoduchosti je krása. Podobne ako pri ostatných metodikách všetko sa začína plánovaním nových funkcií a definovaním predpokladaných cieľov. Nasleduje vlastný vývoj, integrácia nových rozšírení a funkcií, nasadenie, prevádzka, zber a vyhodnocovanie spätnej väzby... a plánovanie funkcií a de­finovanie cieľov. Odlišnosť o. i. tkvie v nelineárnom prelínaní jednotlivých etáp, kontinuálnej integrácii nových funkcií a nepretržitom vyhodnocovaní spätnej väzby. A takisto v podpore paralelného vývoja pri každej novej vlastnosti.

Aby všetko do seba zapadalo a fungovalo, je nevyhnutné eliminovať vplyv ručných procesov a maximálne tak využívať automatizáciu - pokiaľ možno všetkých krokov, ktoré so životným cyklom softvéru súvisia, vrátane testovania. Dôvod je prostý: človek je náchylný na robenie chýb. Najmä v stresových situáciách, ktorých je v prípade rýchleho vývoja a neustáleho tlaku na nové verzie naozaj veľa. A zabudnúť nemožno ani na výrazné uľahčenie práce, opakujúce sa monotónne činnosti predsa môžeme prenechať strojom.

 

Dôležitá súčasť filozofie prístupu DevOps je takisto vnímanie chýb v softvéri. Tie sú realitou, ktorú treba čo najskôr aj najrýchlejšie odhaliť a čo najskôr zabezpečiť nápravu. A ak bola chyba zistená až v produkcii, súčasťou nápravy bude aj vydanie novej verzie. Účelom skúmania príčin nemá byť represia, ale nájdenie skutočného dôvodu zlyhania s cieľom zdokonalenia jednotlivých vývojových (testovacích, nasadzovacích...) procesov.

Začať možno i s málom

Prístup DevOps nemožno zaviesť cez noc, najmä v prípade veľkých spoločností a náročných projektov. Je to predsa o filozofii, nie o konkrétnom produkte alebo nástroji. No možno začať aj s málom a postupne. Stačí pochopiť podstatu a začať ju uplatňovať v jednotlivých etapách či vybraných častiach, ktoré firmu najviac trápia. Niekde to môže byť testovanie, niekde nasadzovanie a inde hoci práca so spätnou väzbou. Dôležité je začať a prínosy sa dostavia. Popri tých už uvedených aj zvýšenie dôvery v samého seba – na úrovni jednotlivých ľudí, tímov, oddelení a v konečnom dôsledku aj celej organizácie. A to za to predsa stojí.

Nie vždy sa oplatí

Mohlo by sa zdať, že prístup DevOps je všeliek, ktorý sa oplatí zavádzať v akomkoľvek prostredí a pri akýchkoľvek projektoch. Pochopiteľne, nie je to tak - najmä v prípadoch, keď prínosy nevyvážia zvýšenú náročnosť a administráciu súvisiacu so zvládnutím nových postupov a nástrojov. Všeobecne však možno DevOps považovať za efektívny variant pre softvérové tímy.


Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

ITPro

Praktická kryptológia (17. časť): Šifrovanie diskových oblastí

19.09.2018 22:35

Tento článok bude voľným pokračovaním predošlej časti seriálu, v ktorej sme sa venovali šifrovaniu pevných diskov. Zameriame sa na niektoré významné detaily a uvedieme význam nástrojov a procedúr, kto ...

ITPro

Zabezpečenie objektu – odporúčania

19.09.2018 22:27

Vo voľnej sérii článkov sa venujeme rôznym aspektom zabezpečenia objektov. Môžu to byť veľké objekty, napríklad areály firiem či logistických skladov, alebo budovy malých firiem, prípadne rodinných fi ...

ITPro

Smart parking: Jednoduchá technológia, z ktorej profitujú všetci

12.07.2018 10:12

Siete pre internet vecí v súčasnosti ponúkajú množstvo riešení na uľahčenie každodenného života. Jeden z najväčších problémov obyvateľov miest je bezpochyby parkovanie. Predstavte si situáciu, keď vie ...

q

2 Comments

  1. Weby reakcia na: DevOps? Rozhodne ÁNO!
    16.8.2018 17:08
    Tymto sa urcite neriadi ziadna firma na slovensku, lebo by tie weby ako bankingi vsetkych bank a portal slovensko.sk vyzeralo uplne inak...
    Reagovať
    • RE: Weby reakcia na: Weby
      25.8.2018 23:08
      My DevOps používame, aj keď zasa nerobíme IB ani slovensko.sk
      Reagovať

Vyhľadávanie

e-learnmedia_2018

Najnovšie videá



PC forum button