Jedan radni dan DevOps inženjera

Intervju 17. maj 2022

Kada čuješ izraz „DevOps inženjer“, kakvu osobu zamišljaš?

Verovatno nekog štrebera koji “podiže“ servere i konfiguriše delivery pipeline?

Ili zamišljaš tim koji te, kroz delivery pipeline, sprečava da pustiš bagoviti kod u produkciju koji bi mogao da naruši ceo sistem?

Možda kombinaciju oba: tim ljudi čija je uloga da obezbede da kod dođe sa tvog laptopa u produkciju što je pre moguće bez kompromitovanja integriteta platforme.

U kompaniji United Cloud, odlučili smo da ti tipični načini rada sa DevOps inženjerima nama ne odgovaraju, i umesto toga, doveli smo u pitanje status quo za poziciju DevOps inženjera u našoj industriji.

Da me ne shvatiš pogrešno, i dalje nam je bitno da tvoj kod ne kompromituje stabilnost sistema – ali, umesto da taj teret nosimo sami, odlučili smo da razvijemo alate i procedure koje možeš koristiti za kreiranje i primenu aplikacija samostalno.

Taj self-service model nam omogućava da se fokusiramo na uzbudljiviju i pravu prirodu našeg posla – izgradnju stabilne ali i kompleksne infrastrukture i alata koji su potrebni za njeno održavanje.

Iako sam i sam karijeru počeo kao programer, zaista nisam imao pojma čime se DevOps inženjeri bave pre nego što sam se pridružio United Cloud timu. U prošlosti sam sarađivao sa DevOps inženjerima, ali samo kao programer. Nikada u suštini nisam razumeo čime se oni bave i zbog čega.

Dolazak u tim

Onda sam se jednog dana pridružio United Cloud DevOps inženjerskom timu, i saznao da sam i ja DevOps inženjer! Tada sam počeo da se upoznajem sa čitavim svetom skrivenih tehnologija.

Iznenadio sam se kada sam saznao sta je sve potrebno za to da se kod programera pokrene u produkciji a da krajnji korisnik u 24/7/365 live sistemu ne bude afektiran. A resursa svakako ima dosta: od globalno distribuiranog in-house Content Delivery Network (CDN) sastavljenog od hiljada fizičkih mašina, petabajtima snimljenog sadržaja, terabitima po sekundi stream-ovanog sadrzaja u udarnim terminima, desetinama hiljada Video On Demand (VOD) naslova, highly available infrastrukturom koja opslužuje milione korisnika za EON TV, preko jednih od posećenijih news portala na Balkanu (N1, Nova S, Sport Klub), preko anycast DNS parental control servera za EON Connect, preko MQTT servera koji opsluzuju preko 600 000 konkurentnih i perzistentnih konekcija po serveru, do niza internih servisa.

Što ti dovoljno govori o tome da razvoj i upravljanje infrastrukturom zahtevaju značajno znanje i kreativnost (i malo sreće :) ).

Zato svaku priliku koristimo da primenimo "automate everything" način razmišljanja. A ako nam je potreban neki alat ili funkcionalnost koji još ne postoje, napravimo ih sami. Tačnije, veliki deo naših alata i proizvoda su razvili United Cloud DevOps inženjeri – u velikom broju programskih jezika i framework-a, uključujući Python, Golang, Javascript.

Jedna od tajni našeg uspeha jeste u tome što sve razvijamo i održavamo prema najboljim praksama DevOps zajednice i industrije. Tako postižemo puno, uz tim skromne veličine.

Naravno, ovaj komplet alata i framework-a nije od preterane vrednosti ukoliko niko ne zna kako da ih koristi. Zbog toga posvećujemo dosta vremena i truda na edukaciju kolega putem redovnih radionica.

Pošto DevOps disciplina pokriva niz tehnologija i kompetenci, uobičajeno je da različiti ljudi u timu budu eksperti za različite oblasti. Svaki ekspert za određenu temu je podstaknut da širi svoje znanje sa kolegama tako da svi imaju mogućnost da razviju sjajna rešenja što je brže i što je bolje moguće. To je krajnji cilj kulture „tehnološkog evangelizma“ koju negujemo u United Cloud-u.

Jedna od stvari koje volim u United Cloud-u jeste način na koji se podstiču inovacije. Postoji sloboda da se istražuje i eksperimentiše, da se pokušaju nove stvari, da se proba. Kao inovativni centar United Grupe, matične organizacije u okviru koje posluju telekomunikacioni operateri, TV stanice, portali za vesti, reklamne agencije i medijske kompanije, imamo jedinstvenu priliku da oblikujemo našu industriju. Danas gradimo visoko optimizovano rešenje za skladištenje videa na zahtev. Sutra ćemo istraživati načine da integrišemo kompletno novu tehnologiju u naš postojeći tech stack. Prostor za igru se neprekidno razvija.

Posao DevOps inženjera u United Cloud-u je jedinstven i izazovan posao. To je mnogo više od pritiskanja tastera po fensi kontrolnom dashboard-u cloud provajdera. Posao zahteva mnoštvo različitih veština i znanja. I, da budem iskren, ti zahtevi su upravo razlog zašto je to jedan od najboljih poslova koje sam ikada radio. Osećam kako moje kompetencije rastu iz dana u dan.

Tipičan dan

Hajde da vidimo kako prolazi moj tipičan dan u United Cloud-u.

09:00 – 10:00: POST

Počinje obično oko 9 sati ujutro. Ukoliko dolazim u kancelariju, obično dan započinjem u restoranu na spratu ispod i doručkujem sa kolegama. To je posebno vreme za mene jer su razgovori neplanirani. Tokom tih spontanih sastanaka za doručkom rađaju se mnoge ideje za interesantne projekte.

Ukoliko ne dolazim u kancelariju, obično provodim vreme istražujući svoj sledeći projekat, odgovaram na zahteve za podrškom u Slack-u ili nastavljam posao na prethodnom projektu.

10:00 – 10:30: Kernel-Init

U ovo vreme obično održavamo dnevne sastanke (daily). To su kratki sastanci od 10 do 15 minuta gde se svi informišemo o statusu tekućih projekata. Ovo vreme koristimo da saznamo nove informacije i ponudimo pomoć ukoliko je potrebna. Sastanci mogu trajati duže ukoliko razgovaramo o implementaciji novih funkcija ili ukoliko pokušavamo da rešimo određeni problem. Veoma su dinamični, jer nismo preterano veliki tim.

10:30 – 13:00: RunLevel 5

Od ovog momenta, svako odlazi na svoje dužnosti i zadatke. U zavisnosti od zadatka, pomažemo kolegama sa zahtevima za podrškom, odrađujemo naše zadatke sa Jira-e ili kodiramo neku novu fensi automatizaciju. Ovo je vreme za rad. Radimo na različitim stvarima, od rešenja za multicast monitoring, do istraživanja na koji način jedan MQTT server održava 600.000 perzistentnih konekcija. Sve zavisi od toga šta se trenutno dešava.

13:00 – 14:00: Fork()

Ovo je sveto vreme za DevOps inženjere: ručak. Težak rad pre podne iscrpeo je naše mozgove i potrebno nam je da ih dopunimo. Tako da odlazimo u kuhinju i punimo stomake. Sjajno vreme za osveženje i ćaskanje sa kolegama.

15:00 – 16:00: Socket.Connect()

Nakon ručka obično planiramo radionice i ostale timske sastanke.

16:00 – 17:00: Shutdown

Dan se smiruje krajem popodneva. Ljudi koji su rano počeli sa radom kreću kući, i kancelarija polako postaje pusta. U ovo vreme sam obično najproduktivniji (možda ručak u tom momentu konačno dopire do mog mozga?), i popodne volim da se fokusiram na svoje projekte. Pošto sam se nekada bavio softver inženjeringom, ovo je dobro vreme da otvorim svoj terminal i izbacim koju sjajnu liniju koda (Dobro, možda ne sjajnu, ali svakako dobru. Nadam se.)

Suština

Od samostalne izrade alata do upotrebe postojećih open-source API-ja, preko upravljanja kompleksnim elementima visoko performantne infrastrukture, do učenja timova kako da koriste naše in-house alate, posao DevOps inženjera u United Cloud je jedinstven i vredan.

Tehnologija se neprekidno razvija, što znači da se moraju razvijati i naše tehnike i alati. To dovodi do stava DevOps tima o „neprekidnom učenju“, što je jedna od stvari koje najviše volim na svom poslu.

Naš tim je (za sad) mali, ali neprekidno tražimo izuzetne pojedince koji imaju želju da uče, snažnu ambiciju da eksperimentišu i naviku da misle van uobičajenih tokova. DevOps je most između naših programera i korisnika i cilj nam je da isporučimo najbolje moguće proizvode – interno i eksterno.

Svaki dan donosi nešto novo i uzbudljivo za rad, razvoj, učenje. Prema tome, šta čekate? Zavirite iza zavese i upoznajte neverovatni svet koji čini da naše najmoćnije i najveće aplikacije rade bez problema.

Autor: Dustin McKenna Watts
DevOps Engineer

Tagovi

United Cloud

Razvojni centar United grupe sa 250 IT profesionalaca iz svih zemalja u regionu. EON TV je prvi proizvod iz ukupno 14 proizvodnih linija iz domena medija i telekomunikacija.

Tvoja prijava je uspešno sačuvana!
Odlično! Da bi imao pristup kompletnom sadržaju bloga potrebno je da završiš proces plaćanja.
Tvoja prijava je uspešna!
Tvoj nalog je aktiviran, sada imaš pristup kompletnom sadržaju bloga.