Sigurno znaš da je naziv DevOps nastao spajanjem reči development i operations. Ali, ova metodologija razvoja softvera obuhvata mnogo više, što uključuje i dobre izglede za uspešnu karijeru. Jer, dragoceni DevOps ekspet objedinjuje više IT disciplina. Pored toga što je zadužen za automatizaciju, sistemske poslove, skaliranje, prilagođavanje servisa i objavljivanje gotovog proizvoda (i još mnogo toga), on približava i usklađuje sve učesnike softverskog razvoja – programere, administratore, testere i krajnje korisnike, kao da je kapiten uspešnog tima. Uopšteno rečeno, DevOps je kultura koja se razvija na konstantnoj potrazi za setom najboljih praksi, za integrisan, usklađen, izbalansiran i automatizovan proces kreiranja kvalitetnog i stabilnog softvera.
Potražnja za DevOps inženjerima? I te kako!
New Harvard Business Review Analytic Services Study navodi da čak 86% kompanija obuhvaćenih istraživanjem smatra da su im za sticanje prednosti nad konkurenijom od suštinske važnosti brzi razvoj i efikasan plasman novog softvera. Zbog toga za DevOps pozicijama vlada velika potražnja. Čak i brza pretraga na Linkedln-u daje 16.628 rezultata, i to samo samo u EU. A zbog čega je interes toliko veliki? Zahvaljujući DevOps inženjerima, kompanije uvećavaju produktivnost, a smanjuju šanse za probleme, pre ili nakon plasiranja aplikacije u spoljnji svet koji ne oprašta greške. Jednostavno rečeno, DevOps ekspert je dobri duh svakog uspešnog softvera.
Šta radi DevOps inženjer?
Zamisli sebe kako razvijaš alate i procese, organizuješ i koordinišeš članove tima, učestvuješ u code review-u, rešavaš merge konflikte, raspoređuješ taskove, a možda i komuniciraš sa biznis stranom medalje. Kao DevOps inženjer, ti si poslednji filter pre izvršenja taska, a pre toga, važna go-to osoba za sva pitanja, bilo da se postavlja arhitektura sistema ili usput iskrsnu neki problemi. A to su samo neka od od tvojih potencijalnih zaduženja, što opet znači da imaš veliki prostor za lični razvoj i napredak u karijeri.
Svakodnevnica DevOps inženjera: koncepti i praksa
Neke koncepte treba da imaš u vidu, jer to je ono na čemu ćeš raditi, kroz set najboljih praksi koje povezuju developere i one koji rade u operacijama:
Build automation
Continuous integration
Continuous delivery and deployment
Infrastructure as code
Microservices
Monitoring
Orchestration
Configuration management
Dobro, a koje tehnologije i alate treba da poznaješ ili naučiš?
Mi ćemo nabrojati samo neke, kao što su:
Alati za upravljanje izvornim kodom – kao GitHub koji ti omogućava uvid u promene koje su napravljene u izvornom kodu.
Alati za implementaciju – kao Terraform, sa infrastrukturom otvorenog koda koja omogućava efikasnu transformaciju, razvoj i verzioniranje.
Cloud alati – uz Lambdu, alat pogodan za izvršavanje koda u različitim pozadinskim aplikacijama ili uslugama.
Alati za kontinuiranu integraciju – a ovde je jedan od najkompletnijih Jenkins, jer ti omogućava da izvodiš testove u realnom vremenu i distribuiraš kod različitim timovima.
Alati za praćenje – Grafana, jer omogućava razvoj aplikacije i uvide u potencijalna ponavljanja kvarova, kao i Prometej, alat za praćenje otvorenog koda, posebno kada je reč o kontejnerima i mikroservisima.
DevOps kontejneri – omogućavaju odvajanje aplikacija od okruženja u kojima se primenjuju, uz alate kao Kubernetes (za implementaciju i upravljanje sistemima razvijenim za Linux kontejnere) i Doker (za automatizaciju i standardizaciju implementacije aplikacija).
DevOps klasteri – Kops, sa komandnom strukurom za dizajniranje, ažuriranje i konfigurisanje klastera. Mreže komandne linije – Netstat, Lotop, Strace, Ionotifywait, Curl, Ngrep…
Mrežni protokoli – Telnet, Ping, NFS…
I mada ovo čak i nije definitivna lista, nemoj da brineš: za DevOps inženjera ne moraš da budeš genije. Treba samo da imaš talenat i autentičnu želju za učenjem.
I sada je vreme da se upitaš: Da li je DevOps pravi izbor za mene?
Ako si faca sposobna za izlazak iz komforne zone i ako te odlikuju proaktivnost, analitičko mišljenje i transparentnost u radu, a još želiš i da učiš (jer to je veliki deo DevOps kulture), i uz to iskazuješ druželjubivost, proaktivnost, upornost i sklonost rešavanju problema, a povrh svega si timski radnik i u ljubavi sa novim tehnologijama, DevOps karijera ti namiguje, šalje poljupce i baca bidermajer pravo u tvoje ruke.
Realan put ka DevOps karijeri
Ako studiraš ili završavaš PMF, ETF, FON itd, postoje načini da se profilišeš, uz dobru praksu i proces sertifikacije. Ako si jednostavno zaljubljena/zaljubljen u IT, možeš da upišeš neki od kurseva i kroz praktičan rad stekneš iskustvo u programiranju, pisanju skripti, agilnim principima, cloud-u i ostalom.
Za studente i početnike u DevOps i cloud sferi, Mainstream nekoliko puta godišnje organizuje CloudOps – kratak ali intezivan edukativni program, koji kombinuje teorijske i praktične zadatke. Ovaj, inače potpuno besplatan program, namenjen je svim juniorima koji žele da steknu iskustvo u ovoj oblasti i budu korak bliže karijeri DevOps inženjera.
DevOps poslovi u Mainstream-u
I mi u Mainstreamu smo zaljubljeni u IT, bavimo se cloud-om i radimo sa najnovijim tehnologijama. I stalno smo u potrazi za ambicioznim mladim ljudima koji dele našu strast prema inovaciji. I zato nema razloga da čekaš. Naše otvorene pozicije možeš da pogledaš ovde. I slobodno nam se javi za sva pitanja i nedoumice. Svakom softverskom timu je potreban kapiten, a možda si to baš ti.
Izbor pravog cloud provajdera je ključan za efikasan razvoj startapa i dugoročni uspeh. Sve sto startapi moraju razmotriti pri odabiru tehnologija i cloud usluga kako bi optimizovali performanse i smanjili troškove.
Shadow IT predstavlja rizik zbog neovlašćene upotrebe tehnoloških alata, ali takođe može biti prilika za unapređenje produktivnosti i procesa u kompanijama.