12.02.2021

10 najčešćih pitanja o DevOps-u

o DevOps tehnologiji, ljudima, mindsetu i komfornoj zoni

1. Za početak, šta znači termin DevOps?

DevOps se danas može definisati kao sklop modernih tehnologija, ljudi, procesa, ali i vizije.

Nekada davno, u IT su postojale dve strane: sa jedne su bili developeri koji razvijaju kod, a sa druge strane operacije – inženjeri koji se brinu o infrastrukturi. Dakle – Development + Operations.

Ove dve strane nisu radile kao tim: kada infrastruktura bude spremna, a developeri napišu kod, tada se mogla dostaviti neka aplikacija klijentu. Procesi nisu bili ni automatizovani ni optimizovani, sa velikim problemima kao što je utrošak radnih sati koji se javljao pri svakoj novoj verziji aplikacije.

Zamislite bicikl sa dva točka, a ta dva točka se ne okreću u istom smeru. U principu, DevOps kao koncept nije bio ni poznat – a danas smo inkorporirali sve te komponente zajedno.

Ako bismo posmatrali DevOps sa moderne strane, to je sklop ljudi (inženjera, developera, testera, security timova i slično) koji svi rade zajedno kako bi uz što veću efikasnost, što brže i što kvalitetnije isporučili klijentu najbolji mogući softverski proizvod. Ovaj princip spaja ljude i tehnologije u niz koji nam daje mogućnost da dostavimo sve što je nama važno.

2. Kada je nastao i zašto je važan?

DevOps tim je nastao posle definisanja šta je Agile i SCRUM. Bez agilnog načina razmišljanja, ni u jednom trenutku nismo imali ideju šta uopšte treba da dostavimo klijentu. Imali smo jednu Rubikovu kocku koja je bila razbacana na sve strane, a agilni način rada nas je naterao da shvatimo da ta Rubikova kocka može da se sastavi. Počeli smo da slažemo kockice jednu po jednu: videli smo da timovi mogu da se razvijaju u istom smeru, i da svi zajedno rade za jednu svrhu nezavisno od uloge i opisa posla.

DevOps je važan da bi naša kompanija mogla da dostavi neki zadati score, SLA ili KPI po traženim očekivanjima današnjice. Danas klijente ne interesuje mnogo kako će nastati taj softver – njih samo intresuje da njihov produkt bude što brže osvežen sa novim verzijama. Kakve tehnologije koristimo, kako ćemo to uraditi i ko će učestovati u tome – tu nam odgovore daje DevOps metodologija. DevOps je jako bitan ako želite da budete kompetitivni na tržištu, da imate automatizovane procese između ljudi i tehnologija.

3. Gde se može koristiti?

Može se koristiti u svakoj kompaniji koja je spremna da ga inkorporira – ali to je danas jako teško. Lakše je ako kompanija kreće „od nule“.

Uvođenje DevOps metodologije u već postojeći sistem je veliki izazov, zato je esencijalno pronaći profesionalce koji shvataju taj koncept, koji mogu da implementiraju taj način rada i podrže takve promene. Ako kompanija već postoji neko vreme – postoje i određeni obrasci rada i hijerarhija ljudi, koji otežavaju promene.

Ljudi na višim pozicijama moraju da učine „korak unazad“ i rade sa nekim ljudima i pozicijama sa kojima nisu navikli. Zaposleni će sigurno morati da nauče nove tehnologije, a C-level treba da shvati i podrži sve promene. DevOps je jedna globalna promena na nivou cele organizacije.

4. Gde početi i kako naučiti DevOps?

Jako zavisi od toga odakle krećete. Da bi ste postali DevOps inženjer, morate da razumete dosta ogranaka. DevOps je po mom mišljenju moderni inženjering. Osoba koja se bavi DevOps-om nije samo ni developer, ni tester, ni inženjer, ni menadžer, nego mora biti od svega po malo. Kako je ta osoba iskusila tehnologiju, tako mora da iskusi i ljude i procese, da oseti viziju te kompanije – da zna šta joj treba, prema čemu ide. Sedeti “negde u ćošku” i raditi kao inženjer ili kao developer – to jednostavno nije dovoljno.

DevOps se primenjuje svuda, bilo da organizacija koristi private/public cloud ili nešto drugo. U zavisnosti od tehnologija kojima se bavimo, drugačiji je i razvojni put i stvari koje možemo naučiti.

DevOps kao terminologija i kao vizionarstvo je isto (treba da spojimo procese i ljude – što manje vremena dostavljanja softver paketa) ali u praksi zavisi i od role osobe koja ovaj posao obavlja – čega će se on sve dotaći, da li će biti samo inženjer ili će biti pravi moderni DevOps koji će se baviti ne samo svojim poslom, nego i poslom drugih ljudi. Po mom mišljenju, dobar DevOps inženjer ima veoma razvijene “meke” veštine, uvek treba da priča sa ljudima, postavlja pitanja, brine o tome da svi imaju ista razumevanja i da svi rade zajedno.

Dobar sinonim za DevOps bi bio “alignment” – ceo tim bi trebalo da bude usaglašen i da ima viziju i širu sliku o tome šta treba da se desi. Kada je ceo tim na istoj talasnoj dužini, onda možemo da razgovaramo i o agilnim metodologijama i kako mi u stvari organizujemo procese i rad u timu.

5. Kako izgleda jedan radni dan na ovoj poziciji?

Ako si DevOps, ti si sprega među ljudima.

Ukratko – dosta sastanaka i mnogo priče 😊

Za početak, jako je važno biti u kontaktu sa klijentom i znati kakvi nam projekti dolaze, baviti se technical presales-om, razvijanjem arhitekture i stalno razgovarati o dizajnu. DevOps mora da razume šta je krajnji cilj projekta i šta je njegova glavna svrha.

Onda taj cilj možemo da razložimo na manje komponente koji će činiti priču o infrastrukturi, i tek onda možemo da razmišljamo o automatizaciji i kako sve to dostaviti kroz kod.

Moramo da znamo i kakav je status svih naših konkurenata. Moramo biti na raspolaganju i svim drugim ljudima i njihovim konstantnim pitanjima 😊

Ukoliko ne znate šta radite možete upropastiti svaki biznis. Lako je raditi sa tehnologijom ali je teško raditi sa ljudima. DevOps timovi su uglavnom globalni i zato je najvažnije da su svi sinhronizovani. Kada dođe vreme za pisanje koda, to već znači da je veći deo priče završen.

6. DevOps bez… kodiranja?

Kratak odgovor – ne.

Dugačak odgovor: Nekada su ljudi dolazili u kancelariju, sednu za računar, konektuju se na server, uzmu tastaturu i miš, isklikću nešto i podese nešto. Klik, klik, klik – i neke stvari nisu trajno zapamćene. Tako se razvijala infrastruktura. Jako je lako nešto zaboraviti, propustiti ili sutra ne ponoviti to isto.

Danas to izgleda potpuno drugačije. Immutable infrastruktura je osnov DevOps-a, sve što mi napišemo kroz kod se nalazi tamo negde u infrastrukturi (IaaS). Mi definišemo kako naša infrastruktura izgleda kroz kod, i taj kod treba da bude identičan onome što se nalazi u produkciji. Moderne kompanije imaju dosta poverenja u kod, jer kada ga jednom definišete – to je to. Taj isti kod sutradan može biti ponovo iskorišćen.

7. DevOps bez… cloud-a?

Definitivno moguć. I dalje postoje brojne kompanije sa visokim „regulatory compliance“, kompanije koje su nepoverljive i ne veruju u cloud. Neke i nisu spremne za proces digitalne transformacije – jer preći na cloud ne znači imati samo par ljudi koji ga poznaju, već celokupan tim koji je svestan svega što cloud nosi. Migriranje ka cloud-u je kao razvoj deteta u odraslu osobu.

8. DevOps bez… diplome?

DevOps bez diplome je sasvim moguć, sve zavisi od toga kojim putem ljudi žele da krenu. DevOps nije za one koji ostaju u zoni komfora. Univerzalni savet za sve koji žele da postanu DevOps inženjeri je: tražite više od sebe. Nemojte juriti samo za tehničkim stvarima već slušajte starije i iskusnije kolege. Razmišljajte o implementaciji procesa, skalabilnosti, uvek razmišljajte na višem nivou. Lepo je baviti se poslom u jednoj kompaniji, ali je takođe važno proći kroz što više različitih iskustava. Svako iskustvo je jedinstveno, a dobar inženjer je onaj koji je video neverovatan broj scenarija u kojima je nešto bilo uspešno.

9. Gde DevOps greši?

DevOps greši stalno. Pred izazovom digitalne trasnformacije, kompanije misle da će sve biti u redu ukoliko ulože dosta novca. Ali promene su nešto mnogo više od samog novca. Prava modernizacija mora podrazumevati mindset svakog zaposlenog u toj kompaniji.

Da li smo zapravo spremni da učimo nešto novo? Da li smo spremni da čujemo drugačije mišljenje od našeg? Da li smo spremni na sve izazove koji će se desiti, sve rokove koje ćemo morati da pomerimo? U tom smislu, mnogo je bolje okupiti tim koji već ima iskustva i koji je uigran, a ne stvarati tim od početnika.

10. Da li će metodologija opstati i da li će umreti za 30 godina?

Da budem vrlo iskren: Devops još uvek nije ni oživeo 😊 Mi smo još uvek u jednoj velikoj globalnoj tranziciji i kompanije širom sveta pokušavaju da dostignu DevOps mindset.

Jako je teško inkorporirati ovu metodologiju u kompanijama – potrebni su dobri ljudi, veliko iskustvo, ali je potrebno i biti hrabar i napraviti dosta grešaka. Idealno je da kao zaposlene imate ljude koji su već nekada napravili te greške, jer oni znaju šta mogu da očekuju u budućnosti.

Razgovarali smo sa: Nemanjom Jovićem, instruktorom na programu DevOps bootcamp

Nemanja Jović

Nemanja je ambiciozan profesionalac koji se bavi cross-platform automatizacijom sa visokim stepenom znanja u mnogim tehnološkim oblastima, gradeći inženjerska rešenja koja ne možete pronaći na Google-u. Uštedeo je kompanijama hiljade radnih sati primenom pouzdanog koda u mission-critical produkcione workload-e. Nosilac je zlatne medalje za doprinos Powershell-a u MSTechnet Gallery sa više od 10.000 poena. Radi kao MCT u Semos Education-u i pruža tehničke obuke kompanijama i pojedincima. Trenutno radi i kao Mission Critical Engineer u Schuberg Philis-u, pomažući timovima da razviju najsavremenija rešenja zasnovana na cloud-u.

Zanima te DevOps karijera?

Pogledaj naš DevOps bootcamp koji će ti pružiti sve što ti je potrebno da započneš uspešnu karijeru kao DevOps inženjer.