Photomathovi DevOpsi: njihova infrastruktura obrađuje upite 10-aka milijuna korisnika

Infobip ❤️ Netokracijašto akvizicija znači za vas - i nas?

Ovo su DevOpsi kroz čiju infrastrukturu prolaze tisuće upita u sekundi od više 10-aka milijuna korisnika u svijetu

Kako je počela DevOps priča u Photomathu te kako je od par entuzijastičnih inženjera koji su željeli raditi s najnovijim tehnologijama nastao tim koji se danas brine za automatizaciju, skaliranje, sigurnost, dostupnost i stabilnost mikroservisa, odnosno Photomathove aplikacije - otkrili smo u razgovoru s članovima tima.

DevOps, ma to je samo glorificirani sistemac! To je developer koji zna napraviti build na server, kažu drugi. Treći pak nadahnuto pričaju kako DevOps znači promjenu kulture i način razmišljanja tech timova. Svatko ima svoju definiciju što DevOps jest, iako pojam i ‘pokret’ unutar tehnološke industrije već odavno nije nov.

Od jednog inženjera do Infra tima sa specijaliziranim podtimovima

Baš zato sam članove DevOps tima u Photomathu prvo pitala je što u Photomathu znači DevOps i čime se tim bavi. Igor Bunjevac, Ivica Dvoršćak, Mladen Vojnović i Josip Domšić otkrili su da DevOps i u Photomathu znači puno stvari, a i svaki od njih ima neku svoju specijalizaciju. Ispričali su i kako su prošli put od jednog DevOps inženjera i tehnološke transformacije Photomatha preko jednog DevOps tima do današnjeg krovnog Infra tima unutar kojeg su specijalizirani podtimovi – Infra Core, SecOps, Cloud Infrastructure Reliability (CIRE) i ITOps.

Podjela na specijaliziranije timove ne čudi jer je odgovornost Infra tima široka – od administracije korisničkih računa na raznim platformama, instalacije i održavanja sustava, servisa te cloud i on-premises infrastrukture, preko stalnog monitoringa, security patchiranja i kompletne brige o svakom mikroservisu koji omogućuje visoku dostupnost i funkcionalnost Photomath mobilne aplikacije te podrške ostalim razvojnim timovima, najviše kroz automatizaciju.

Kako je počela Photomathova DevOps priča

Igor Bunjevac u Photomathu je nešto više od dvije godine, startao je na poziciji jedinog System Administratora, a danas je DevOps Team Lead. Ima gotovo 20 godina radnog iskustva u IT-u na različitim tehnologijama i alatima, s fokusom na open source rješenja i Linux sustave. Većinu radnog iskustva Igor je stekao na projektima u financijskom sektoru i telekom industriji. I nakon toliko iskustva, rad u Photomathu za njega je osvježenje  i pozitivan izazov što se tiče osobnog razvoja i rada na novim tehnologijama:

S kolegom Ivanom sam započeo Photomathovu priču s mikroservisima i GCP Kubernetes clusterima kao orkestratorom. Odmah smo iskoristili priliku i uveli Terraform kao naš IaC alat za efikasnije upravljanje resursima na Google Cloudu, kao i verzioniranje stanja cloud infrastrukture.

Sada, nakon mnogo učenja i prakse, te nekoliko iteracija sustava i izlaska iz “moda štednje” ponosni smo na postignutu razinu automatizacije, skaliranja, dostupnosti i stabilnosti naših mikroservisa, odnosno Photomath mobilne aplikacije.

“DevOps je prvenstveno metodologija rada”

Mladen Vojnović u Photomathu je DevOps inženjer u AI timu. Karijeru je počeo kao SysOps/SysAdmin,  iskustvo stjecao kao inženjer za automatizaciju builda u bliskoj suradnji s developerima, a zatim se intenzivnije okušao u infrastrukturi na Kubernetesima:

Spojem ta dva svijeta napokon sam mogao reći da imam potpune kompetencije u DevOps svijetu. S tim znanjima došao sam u Photomath gdje sam dobio priliku predstaviti nove alate i pristup radu kako bi, među ostalim, olakšao započetu reorganizaciju.

Na pitanje što je za njega DevOps nudi gotovo pa udžbeničku definiciju i dijeli DevOps na barem dvije specijalizacije:

Za mene je DevOps prvenstveno metodologija rada koja uključuje zajednički rad developerskih i Ops timova kroz cijeli životni ciklus servisa (proizvoda) koji se razvija i pušta u produkciju. Danas se često radno mjesto opisuje kao DevOps Engineer, što je dosta općenito i nerijetko ne definira dobro koji dio pokriva.

Ja bih DevOps podijelio na dva područja, odnosno specijalizacije, DevOps – Infrastructure Engineer i DevOps – Build/Deployment Automation Engineer (CI/CD). Specijalizacija je potrebna i jer nije svakome zanimljivo raditi sve, a s druge strane područje je preširoko da bi se moglo kvalitetno pokriti na svim razinama.

Mladen Vojnović je DevOps inženjer u AI timu

Potrebu za specijalizacijom, odnosno da ne rade svi baš sve, prepoznali su i u Photomathu pa je njihov DevOps tim kroz reorganizaciju postao Infrastructure Team koji objedinjuje ranije spomenuta četiri tima. Osim toga, pojedini R&D timovi imaju  dediciranog DevOpsa u svojem timu.

Milijuni korisnika, tisuće upita u sekundi…

Ivica Dvoršćak u Photomathu radi kao DevOps inženjer, s naglaskom na GCP Kubernetes infrastrukturu i automatizaciju. Nešto više od 10 godina radio je kao Linux SysAdmin i DevOps inženjer s, kako kaže, ponekim izletom u networking vode, većinu karijere u telekom industriji. U Photomath ga je dovela želja za osobnim napretkom, najnovijim tehnologijama, izlaskom iz zone komfora te, kako kaže, “razbijanja zuba” u startupu. Na pitanje da opiše svoj posao, odgovara:

You can call me Susan if it makes you happy:) , ali ja sebe doživljavam kao nekog tko rješava probleme.

Dolazim iz industrije u kojoj je apsolutna dostupnost zakon, tako da se o bilo kakvim promjenama, inovacijama i eksperimentima uvijek triput razmišlja. Ovdje pokušavam spojiti apsolutnu odgovornost prema korisnicima i telco always-on principe s brzinom i eksperimentiranjem startupa.

Olakotna okolnost je što nismo vendor eksternim kompanijama, već su klijenti sami korisnici aplikacije pa je pritisak nešto manji. Ne puno, jer ipak iza Photomatha stoji infrastruktura kroz koju prolazi na tisuće upita u sekundi, koriste milijuni korisnika, a opterećenje nekad varira i do 300% u jednom danu, ovisno o tome kako se koji kontinent budi.”

Ivica Dvoršćak, DevOps Enigneer

MLOps ili što radi DevOps u AI timu

Kroz cijeli razgovor o tome što DevOps znači u Photomathu kao još jedna od ključnih riječi spominje se automatizacija, odnosno dizajniranje i implementacija alata i procesa koji automatiziraju gomilu repetitivnih zadataka tako da developeri ne moraju gubiti vrijeme na njih, već se mogu posvetiti kreativnim zadacima ili rješavanju problema.
Zato su odlučili približiti DevOpse  pojedinačnim razvojnim timovima kako bi ih bolje razumjeli i mogli još bolje podržati.

U potrazi su za DevOpsima za ostale razvojne timove, a prvi koji je dobio svog dediciranog DevOpsa je Photomatov AI tim. Mladen prepričava kako je postao “timski DevOps”:

Timski DevOps sam postao jer sam želio raditi u Photomathu, a kad sam vidio oglas za poziciju koja se bavi meni novim područjem DevOpsa, MLOpsom, nije bilo puno dvojbe. Do tad sam u karijeri uglavnom bio u “centralnom” DevOps timu, ali sam uvijek radio blisko s developerima, što zbog prirode posla, što zbog taskova koje je trebalo odraditi. Ovo je bila prilika da radim još uže s developerima. No, to ne znači da nemam svakodnevnu komunikaciju i suradnju s Infra timom, odnosno ostalim DevOpsima.

Da bi se uklopio u AI tim, Mladen je trebao naučiti više o svijetu strojnog učenja te alatima koji pomažu automatizirati svakodnevne zadatke. No, s obzirom da je AI tim u Photomathu dinamičan, brzo raste i potrebe se svakim danom redefiniraju i proširuju, kontinuirano uči i spreman je na stalno suočavanje s novim izazovima:

Smatram da bi DevOpsi, posebno ako se odluče raditi unutar razvojnog tima, trebali biti agnostični na tehnologije i moći se brzo prilagoditi.

Ivica i Igor u šali kažu da ne postoje DevOps juniori. Navode da bi za juniora u DevOps području, kojeg zanima infrastrukturni dio posla, bilo poželjno da se već ima nešto iskustva u nekom od srodnih područja – developmentu ili sistem administracije i mreža:

Od budućih kolega tražimo poznavanje skriptnih jezika poput Pythona i Shella, bitno je i dobro  poznavanje Linuxa i mreža, a to znanje svaki sistemaš s iskustvom već ima.

Nadalje, ako pričamo o Core Infra i CIRE teamovima, poželjno je imati iskustvo u radu s nekim od cloud okruženja i Kubernetes platformom, te alatima za CI/CD. Dobrodošli su i sistemci i developeri koji su voljni učiti više i specijalizirati  se za navedene tehnologije.

Međutim, više od jezika i tehnologija, zanima ih stav i način razmišljanja. Idealnog kolegu opisuju kao iskusnog inženjera koji dalje želi učiti, želi rješavati probleme, slikovito – onu osobu koja će, ako nešto ne radi, “raskopati” to da vidi zašto ne radi. Traže se upornost, znatiželja i istraživački duh, kažu Photomathovi DevOpsi:

Borba s nedorečenom dokumentacijom open source alata ili otkrivanje zašto danas nešto ne radi – jesmo li mi nešto updateali ili je bio automatski update, je svakodnevica DevOps Engineera, bez obzira na čemu radi. Posebno kad se stvarno teži najnovijim tehnologijama kao što je slučaj kod nas u Photomathu.

Photomathov Infra tim

Josip Domšić Photomathu se pridružio početkom 2022. u SecOps tim kako bi radio na postavljanju sigurnosti na još višu razinu te pokazao koliko je važno odijeliti odgovornosti pozicija koje donose inovacije i izmjene te pozicija koje nadgledaju zaštitu postojećih i budućih resursa.

Josipovo dosadašnje iskustvo doista je raznoliko – bio je Security Engineer, ali i  developer, analitičar podataka, sistem administrator te DevOps inženjer, a na pitanje kako se započinje karijera u cybersecurityju, odgovara:

Odgovor je sličan kao za DevOps poziciju, nažalost, nema juniorske pozicije. Potrebno je poznavanje barem jednog srodnog područja, odnosno poznavanje sustava koji se trebaju braniti i/ili napadati.

Ako vas zanima više o radu DevOpsa u Photomathu, njihovi DevOps stručnjaci uskoro će se opširnije predstaviti na virtualnom meetupu Photomath Talks – prijavite se u Photomathov Tech Community kako biste saznali sve novosti na vrijeme.

Ako ste DevOps stručnjak koji bi htio raditi na razvoju globalno uspješnog proizvoda, svakako provjerite Photomathove stranice karijera jer trenutno imaju otvorene sljedeće pozicije: DevOps Engineer u AI timuCloud Infrastructure Reliability (SRE) Senior/Team Lead Engineer i Senior ITOps Engineera uskoro će tražiti i Core Infrastructure – Senior/Team Lead EngineerS obzirom na to da su CIRE i ITOps timovi novoosnovani, naglašavaju da su te pozicije idealne za pojedince koji imaju ambicija s vremenom postati voditelji timova.

Zanima li vas više kako rade drugi Photomath timovi, pogledajte što smo dosad pisali.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Intervju

“Tata” Angulara o tome što bi danas napravio drugačije i kako instantno ubrzati web aplikacije

Nakon više od 15 godina u Googleu, gdje je inicijalizirao, osmislio i podigao temelje Angulara, jednog od najpoznatijih JavaScript frameworka, a potom usmjerio Googleovu kulturu prema test driven developmentu, Miško Hevery se otisnuo u samostalne vode...

Startupi i poslovanje

Počelo je dvojno iskazivanje cijena! Što to znači za internetske trgovine?

Od danas sve internetske trgovine moraju iskazivati dvojne cijene. Iako na prvu zvuči kao nešto lagano za provesti, taj proces može uključivati product managera, dizajnera, backend i front-end programera. Kako se u tome snalaze mikro i mali poduzetnici koji su često "one man band"?

Novost

The Ethereum Merge. Kripto svijetu slijedi promjena na koju se čekalo skoro 10 godina

Već dugi niz godina radi se na vjerojatno jednom od najkompleksnijih projekata koji se tiču blockchain tehnologije, a taj dugoiščekivani update za Ethereum blockchain trebao bi izaći sredinom ovog mjeseca.

Što ste propustili

Startupi i poslovanje

Predstavljeni startupi 7. generacije Startup Factoryja. Počinje borba za 800.000 kuna!

U Zagrebačkom inovacijskom centru - ZICER-u predstavljena je sedma generacija Startup Factoryja, prvog hrvatskog akceleracijskog programa za startupe.

Zabava i zanimljivosti

Stiže zlatni Ilija 2.0 – kako je Kontri prošla prva kolekcija NFT-ova?

Tko će imati čast otići s Ilijom Brajkovićem na veganski ručak?

Web aplikacije

UX dizajn koji nije iritantan za korištenje niti zahtjevan za programiranje? Kent C. Dodds kaže – moguće je!

Koga UX dizajn nikada nije naživcirao, taj vjerojatno nije ni bio na internetu. Na Infobip Shiftu 2022 od frontend i backend developera saznali smo konkretne savjete kako stvoriti najbolje korisničko iskustvo na webu.

Intervju

Zašto postati Scrum master i kako se educirati?

Oglasi za posao Scrum mastera postali su svakodnevica, kaže profesionalna Scrum trenerica Ana Roje Ivančić te objašnjava zašto je formalna certifikacija za taj posao nužni minimum i što čini kvalitetnu edukaciju.

Karijere

Kako se u IN2 grupi, koja je ove godine napunila 30, kombiniraju iskustvo i mladost?

Tri desetljeća za jednu IT tvrtku ozbiljan je staž, ali ako gledamo u ljudskim godinama - IN2 grupa tek ulazi u najbolje razdoblje, a to pokazuje njihov pristup radu i ljudima.

Web aplikacije

Najpoznatija edukativna mobilna aplikacija ima – web tim? Upoznajte developere iza Photomathovog Math Expert Marketplacea!

Korisnici često nisu svjesni da je rješenje koje su dobili nakon skeniranja određenog matematičkog zadatka prošlo dalek put po raznim timovima u Photomathu, a još manje da je jedan od tih timova primarno zadužen za web...