Šta je najbitnije da ponesete iz ovog teksta (Key Takeaways):
-
DevOps nije samo neki tamo „tim koji pušta kod na server“. To nije ni prosta suma alata poput Jenkins-a, Docker-a, Kubernetes-a i Terraform-a, spojenih kroz par automatizovanih procesa (Pipeline-a). Njegova suština je daleko obuhvatnija.
-
On predstavlja logičan i neophodan produžetak Agile filozofije, pokrivajući ceo put – od prve poslovne ideje pa sve do krajnjeg korisnika.
-
Dok je Agile skratio vreme od ideje do razvoja i povratnih informacija unutar tima, DevOps tu istu filozofiju brzog protoka primenjuje na kontinuiranu integraciju (Continuous Integration), automatizovano testiranje, bezbednost (Security), infrastrukturu, isporuku (Deployment), praćenje sistema (observability), upravljanje incidentima i prikupljanje povratnih informacija direktno iz produkcije.
-
Upravo iz ovog razloga, vaša kompanija može da ima deset perfektno uhodanih Scrum timova, da besprekorno vozi dvonedeljne Sprintove, da ima sjajne Product Owner-e i uredno složen Backlog – a da i dalje bude spora.
-
Ako se kod napiše za pet dana, a potom mu treba mesec dana da stigne do korisnika, jasno je da Development nije glavno usko grlo. Pravi problem leži u sistemu za isporuku softvera (Software Delivery System).
-
Prema DORA (DevOps Research and Assessment), jednom od najrelevantnijih istraživanja o performansama isporuke softvera, DevOps je prvenstveno organizacioni i kulturni pokret. Njegovi glavni ciljevi su: brža isporuka softvera, veća pouzdanost servisa i zajednička odgovornost (Shared Ownership) svih onih koji učestvuju u stvaranju i održavanju softvera.
-
U 2026. godini, ova tema dobija na još većem značaju zahvaljujući AI agentima za kodiranje (AI Coding Agents). AI zaista može drastično da ubrza pisanje koda. Međutim, ako pregled koda (Review), testiranje, provera bezbednosti i sama isporuka (Deployment) ostanu spori procesi, veštačka inteligencija neće vašu kompaniju učiniti bržom. Ona će samo stvoriti dugačak red čekanja za kod koji treba da ugleda svetlost dana.
Agile je ubrzao razvoj, ali je otkrio novo usko grlo
Tradicionalni načini razvoja softvera suočavali su se sa dobro poznatim izazovima: meseci prikupljanja zahteva, nedelje planiranja, pa dugotrajan razvoj, pa testiranje i tek na kraju puštanje (Release). Problem? Korisnik prvi put vidi šta ste napravili tek kad ste već potrošili ogroman deo budžeta. Ako se ispostavi da je početna ideja bila pogrešna, saznajemo to bolno kasno i uz velike troškove.
Agile je tu logiku okrenuo naglavačke. Radimo u manjim delovima (inkrementima). Brže pokazujemo rezultate. Skupljamo povratne informacije (Feedback). U hodu prilagođavamo planove.
Ali, tu se rodio paradoks. Tim može da završi i isporuči funkcionalan deo softvera svake dve nedelje, ali cela organizacija je u stanju da to pusti korisnicima tek jednom u tri meseca. Zaključak se nameće sam: razvoj (Development) je postao agilan, ali isporuka (Delivery) nije.
Tu na scenu stupa DevOps, kao prirodan evolutivni korak agilnog razvoja. Ne kao zamena za Scrum ili Kanban, već kao način da se isti ti principi – brz Feedback, male promene i stalno unapređenje – primene na ceo životni ciklus razvoja softvera (Software Development Life Cycle – SDLC).
Čuveno „radi kod mene“ nema poslovnu vrednost
„Kod mene na mašini radi“ – ovo je verovatno najizgovaranija rečenica u IT-ju. Iako tehnički može biti tačna, iz ugla biznisa, ona je potpuno bezvredna. Softver nema nikakvu vrednost ako samo radi na laptopu developera. Nema vrednost ni kada je kod spojen (Merge-ovan). Čak ni kada QA tim da zeleno svetlo.
Vrednost nastaje isključivo onda kada krajnji korisnik može da koristi tu funkcionalnost. Zato svaka ozbiljna organizacija mora pažljivo da definiše šta zaista znači „Done“ (Završeno).
Ako je nova funkcionalnost napisana, ali nije integrisana, nije testirana, nije proverena njena bezbednost, ne može lako da se isporuči (nije Deploy-able), ne može da se nadgleda (nije observable) i, najvažnije, nije dostupna korisniku – mi, iz ugla stvaranja vrednosti (Value Stream), i dalje samo imamo „rad u toku“ (Work in Progress).
DevOps – mirenje nepomirljivog
Razvojni tim (Development) želi promene i nove funkcionalnosti. Operativni tim (Operations) želi stabilnost sistema. Developer dobija bonus kada isporuči nešto novo. Sistem administrator dobija pohvale kada sistem radi bez prekida.
Dakle, imamo jedan deo firme koji proizvodi promene, i drugi deo koji od tih istih promena pokušava da zaštiti sistem (produkciju). Nije teško shvatiti zašto tu stalno varniči.
DevOps pokušava da promeni sam ugao gledanja na ovaj problem. Umesto pitanja: „Kako da sprečimo developere da stalno nešto prčkaju po produkciji?“, mi se pitamo: „Kako da te promene učinimo toliko malim, automatizovanim, proverljivim i lakim za vraćanje unazad (reverzibilnim), da možemo da ih puštamo često i bez velikog straha?“ To je srž DevOps filozofije – brzina i stabilnost više ne moraju da se isključuju.
DORA metrike: Merilo uspeha nije broj isporuka, već njihov kvalitet
Tokom 2026. godine, DORA se oslanja na pet ključnih metrika za merenje performansi isporuke softvera:
-
Change Lead Time: Koliko vremena prođe od trenutka kada je promena napravljena (razvoj) do trenutka kada stigne u produkciju.
-
Deployment Frequency: Koliko često uspešno isporučujemo softver.
-
Failed Deployment Recovery Time: Koliko brzo možemo da se oporavimo ako neka promena krene po zlu.
-
Change Fail Rate: Koji procenat isporuka zahteva hitnu intervenciju, vraćanje na staro (Rollback) ili brzu zakrpu (Hotfix).
-
Deployment Rework Rate: Koji procenat isporuka predstavlja neplanirani rad nastao zbog problema u produkciji.
DORA ove metrike sagledava kroz dve prizme: Throughput (koliko glatko promene prolaze kroz sistem) i Instability (koliko problema te promene izazivaju).
Ovo razbija onaj uobičajeni mit: „Super smo jer imamo 100 isporuka dnevno.“ Ne mora da znači. Ako od tih 100, čak 30 zahteva hitnu popravku, ta brzina je samo iluzija uspeha. DevOps nije takmičenje u brzini kucanja koda, već u pouzdanoj i brzoj isporuci onoga što korisniku zaista treba.
Bezbednost u malim dozama – zašto su male promene bolje
Uporedimo dva pristupa. Kompanija A pušta novu verziju softvera svaka tri meseca. Taj paket sadrži: 300 izmena, promene iz dvadeset različitih timova, ozbiljne migracije baze, gomilu novih opcija i bezbednosne zakrpe. Ako nakon puštanja sistem počne da se ponaša čudno, pronaći uzrok je kao traženje igle u plastu sena.
Kompanija B, s druge strane, pušta male promene, ali svakog dana. Ako samo jedna promena napravi problem, znamo tačno gde da tražimo. Zato DORA snažno preporučuje smanjenje obima izmena (Batch Size) kao način da se poboljšaju i brzina i stabilnost. Manje izmene je lakše pregledati, testirati, pustiti i opozvati ako treba.
Eto gde se Agile i DevOps najviše preklapaju: Agile kaže – radite u manjim delovima, DevOps kaže – isporučujte u manjim delovima.
Continuous Integration nije samo instalacija Jenkins-a
Jedna od čestih zabluda. „Digli smo Jenkins server, sad imamo CI.“ Ne, niste. Continuous Integration (CI) je pre svega inženjerska praksa, a ne alat.
To znači da developeri često (više puta dnevno) spajaju svoje, relativno male, izmene u zajedničku granu koda. Sistem onda te promene automatski proverava: pokreće proces izgradnje (Build), izvršava jedinice (Unit Tests) i integracione testove (Integration Tests), radi statičku analizu koda (Static Analysis), skenira zavisnosti (Dependency Scan) i vrši bezbednosne provere.
Nije bitno da li koristite Jenkins, GitHub Actions ili nešto treće. Bitno je da Feedback stigne munjevito. Ako nešto pukne pet minuta nakon što je developer napravio promenu, on i dalje pamti šta je tačno uradio i lakše će to popraviti. Ali, ako grešku otkrijete tri nedelje kasnije prilikom spajanja ogromnih delova koda – dobrodošli u „Integration Hell“ (pakao integracije). Automatizacija vam ne može popraviti loše navike u kodiranju; samo će ih brže sprovesti u delo.
Razjasnimo pojmove: Continuous Delivery vs. Continuous Deployment
Ova dva pojma se stalno mešaju.
-
Continuous Delivery (CD): Promene, nakon svih automatskih provera, dolaze do stadijuma gde mogu pouzdano da se puste u produkciju. Međutim, samo dugme za puštanje (Release) se i dalje pritiska ručno, obično nakon neke poslovne ili regulatorne odluke.
-
Continuous Deployment: Ide korak dalje. Svaka promena koja prođe sve provere, automatski se pušta u produkciju, bez ljudske intervencije.
Nije svaka firma spremna, niti treba da teži Continuous Deployment-u. SaaS kompanija, banka, zdravstveni sistem, medijski portal ili fabrika nemaju isti profil rizika.
Ipak, ogromna je razlika između „ne puštamo sve automatski“ i „puštanje nove verzije radimo ručno, subotom uveče, po Excel tabeli, sa šest znojnih ljudi i tri sata stresa“. Continuous Delivery nas spašava ovog drugog scenarija.
Isporuka softvera ne treba da liči na spasavanje sveta
Petak je, 22 sata. „War Room“ je spreman. Developeri, bazaši (DBA), operativci, projektni menadžer – svi su na vezi. Bekapi su odrađeni. Tišina. Puštanje (Deploy). Neko besomučno osvežava ekran. Sistem, srećom, radi. Znojava lica se opuštaju, aplauz se ori prostorijom.
Možda vama ovo zvuči herojski, ali to je zapravo klasičan znak lošeg procesa. Ako svaki vaš Release iziskuje herojske podvige, znači da je previše rizičan.
Zreo DevOps sistem teži tome da isporuka bude – dosadna. Mala promena, brza automatska provera, isporuka, praćenje metrika i gotovo. Ako nešto pođe po zlu: vraćanje na staro (Rollback), brza ispravka unapred (Roll-forward) ili isključivanje funkcionalnosti (Feature Flag off). Sve se odvija bez panike i drame. Produkcija u 23:40 svakako nije mesto za ispoljavanje kreativnosti i improvizaciju.
Feature Flags: Moć razdvajanja Deployment-a od Release-a
Feature Flags (zastavice za funkcionalnosti) su verovatno najmoćnije oružje modernog razvoja. One nam dozvoljavaju da razdvojimo samo postavljanje koda na server (Deployment) od trenutka kada ta nova opcija postaje vidljiva korisnicima (Release).
Zamislite da novu funkcionalnost možete da uključite samo za zaposlene, ili samo za 1% korisnika, ili možda samo korisnicima iz jedne države, ili premium korisnicima. Pustite, pratite šta se dešava. Ako sve ide glatko, puštate svima. Ako sistem počne da štuca, jednostavno isključite zastavicu, kao prekidač za svetlo.
Na sličnoj logici rade i Canary Release, Blue-Green Deployment i Progressive Delivery. To su zapravo Agile eksperimenti koji se dešavaju pravo u produkciji.
DevSecOps: Bezbednost nije saobraćajac koji zaustavlja sve na kraju
Kako to obično biva: funkcionalnost je gotova, rok je sutra. Tim za bezbednost (Security) prvi put ozbiljno baca pogled na sistem. Njihova presuda: „Ovo ne može ovako, arhitektura mora da se menja.“ Rokovi padaju u vodu.
Developeri kukaju kako Security koči posao, dok Security tvrdi da developeri ignorišu osnove bezbednosti. I jedni i drugi su u pravu. Problem je u loše postavljenom sistemu.
DevSecOps pokušava da te provere pomeri u ranije faze razvoja, kroz modelovanje pretnji (Threat Modeling), statičku analizu bezbednosti (SAST), dinamičku analizu gde je moguće (DAST), proveru zavisnosti, skeniranje lozinki (Secrets Detection), definisanje polisa kroz kod (Policy as Code) i bezbednosne testove unutar Pipeline-a.
Cilj nije da se smanji bezbednost sistema, naprotiv. Cilj je da se bezbednosni problem pronađe onda kada ga je najjeftinije i najbrže rešiti – na početku.
Ne treba svaki zarez da odobrava komisija (CAB)
Velike organizacije često imaju Odbor za upravljanje promenama (Change Advisory Board – CAB). I to je u redu. Razlozi su jasni: kontrola rizika, usklađenost sa propisima (Compliance), jasna podela zaduženja, nadzor produkcije.
Problem nastaje kada isti onaj spori proces odobravanja koristite i kada menjate sistem za bankarske transakcije i kada popravljate slovnu grešku u tekstu na sajtu.
Istraživanja su pokazala da previše kruti, spoljni procesi odobravanja zapravo guše performanse isporuke, a da pritom formalna odobrenja (Review) sama po sebi ne smanjuju broj grešaka (Change Fail Rate). Preporuka je da se više oslonite na pregled koda od strane kolega (Peer Review), automatizovane provere i ranu detekciju problema.
Ne kažemo da treba ukinuti kontrolu (Governance). Treba je prilagoditi riziku (risk-based). Za promene niskog rizika – puno automatizacije. Za kritične promene – više ručne kontrole. To ima mnogo više smisla nego da viši menadžeri jednom nedeljno na sastanku „aminuju“ na desetine tehničkih promena u koje realno nisu imali vremena da se udube.
Infrastruktura dobija svoju verziju: Infrastructure as Code (IaC)
Infrastructure as Code menja pravila igre. Umesto da govorimo: „Milan je tamo 2024. nešto konfigurisao na serveru“, sada imamo potpunu kontrolu: kontrolu verzija (Version Control), Pull Request, Review, automatizaciju i što je najvažnije, ponovljivost.
U svakom trenutku znamo ko je menjao konfiguraciju, kada, zašto i kako je izgledalo pre toga. To drastično rešava problem „razilaženja konfiguracija“ (Configuration Drift), kada razvojno (Development), testno i produkciono okruženje vremenom postanu toliko različiti da niko živi ne zna zašto aplikacija na jednom radi, a na drugom ne.
Ali, oprez! IaC ne znači automatski dobru infrastrukturu. Ako ste loše konfigurisali Terraform, i dalje imate lošu infrastrukturu, samo što je sad možete jako efikasno i precizno replicirati. Automatizacija će vam pomoći da odličan sistem bude još bolji, ali će i loš sistem brže gurnuti u provaliju.
Platform Engineering: Kada DevOps postane žrtva sopstvenog uspeha
DevOps se zalagao za veću nezavisnost timova. To je odlična ideja. Ali zamislite organizaciju sa 100 razvojnih timova. Ako svaki tim počne da pravi svoj sopstveni CI/CD, konfiguriše Cloud okruženje, postavlja praćenje (Logging), upravlja lozinkama, podešava Kubernetes i integriše bezbednosne alate – dobili smo 100 verzija iste stvari. Totalni haos.
Tu nastupa Platform Engineering. Interna platforma za developere (Internal Developer Platform – IDP) nudi im standardizovan „autoput“: tu kreiraš servis, tu ga puštaš (Deploy), tu ga pratiš (monitor), tu čuvaš lozinke, i dobijaš osnovni nivo bezbednosti „iz kutije“. Sve to bez potrebe da svaki developer postane stručnjak za Cloud infrastrukturu.
DORA prepoznaje značaj Platform Engineering-a, ali uz ključno upozorenje: platforma mora da se tretira kao proizvod i njen uspeh se meri kroz to koliko pomaže u isporuci softvera, kakvo je iskustvo developera (Developer Experience) i koliko je usvojena, a ne samo po broju funkcionalnosti koje tim napravi.
I tu dolazimo do jako važne razlike: platforma ne sme da bude samo još jedno mesto gde ćete slati tikete i čekati nedelju dana da vam neko ručno otvori okruženje. Ako tako funkcionišete, samo ste napravili novo „usko grlo“.
Da li je DevOps tim onaj kome svi šalju tikete?
Ovo zvuči kao šala, ali u mnogim kompanijama je upravo tako. Firma ima razvojni tim. Odeljenje za operacije (Operations) jednostavno promeni ime u „DevOps Team“. Developer završi svoj kod i pošalje tiket DevOps timu. DevOps tim onda to pusti na server. Šta se suštinski promenilo? Samo ime tima na vratima kancelarije.
Cilj DevOps-a je smanjenje „prebacivanja loptice“ (Handoff-a). Ako ste samo preimenovali tim i napravili novu primopredaju posla, transformacija nije uspela. Specijalizovani timovi (Platform, SRE, Infrastructure) i te kako imaju svrhu, ali njihov glavni cilj mora biti da osposobe druge timove da rade samostalno, bez stalnog traženja pomoći i njihovog ručnog uplitanja.
Opservabilnost (Observability): Zatvaranje agilne petlje
Isporuka softvera na server (Deployment) nije kraj priče. To je tek početak onog najbitnijeg testa – kako se taj softver ponaša u pravom svetu?
Opservabilnost (Observability) nam pomaže da razumemo ponašanje sistema kroz metrike (Metrics), logove (Logs), praćenje izvršavanja (Traces), događaje (Events), praćenje ponašanja korisnika (Real User Monitoring) i poslovne pokazatelje (Business Metrics).
Monitoring nam javlja: „Sistem je usporen“. Opservabilnost nam daje dublji uvid: „Koji tačno servis zeza, na kom upitu, zbog koje konkretno promene, kod koje grupe korisnika i od kog trenutka?“
Ovo drastično širi Agile Feedback Loop. Sprint Review sastanak nam govori šta smo mi mislili da smo napravili. Produkcija, međutim, surovo iskreno pokazuje šta smo mi zapravo napravili. A to često nisu iste stvari.
Incidenti nisu samo kvarovi, već skupe lekcije
Kada sistem padne, svi se fokusiraju samo na jedno – da ga što pre vrate u život. Ali, ako stanete samo na tome, vaša firma je platila visoku cenu za taj kvar (Incident), a nije izvukla nikakvu pouku.
Zato je Blameless Postmortem (analiza nakon kvara bez traženja krivca) neprocenjiva DevOps praksa. Pitanje nije: „Ko je zeznuo stvar?“ već: „Kako je naš sistem uopšte dozvolio da jedna greška izazove ovoliku katastrofu?“
Zašto testovi nisu alarmirali? Zašto onaj Alert nije pištao? Zašto nam je trebalo pola sata za Rollback? Kako to da jedan mali deo koda može da obori ceo sistem? Zašto nismo imali proceduru (Runbook)?
Ljudi su ljudi, i oni će uvek praviti greške. Ozbiljni sistemi se dizajniraju sa tom jasnom pretpostavkom.
Agile i DevOps u tandemu: Menjaju ekonomiju povratnih informacija
Uzmimo na primer neku Product hipotezu: „Ako olakšamo proces plaćanja (Checkout), povećaćemo broj konverzija (Conversion Rate).“
Ako nemate razrađen Delivery sistem, proces izgleda ovako: dve nedelje kucanja koda, pa tri nedelje čekanja na Release, pa dve nedelje skupljanja podataka. Znači, treba vam čak sedam nedelja da biste saznali da li ste bili u pravu.
Sa uigranim Agile + DevOps sistemom, priča ide ovako: mala promena, brzi automatski testovi, puštanje pomoću Feature Flag-a (ili Canary), izbacivanje u produkciju, merenje. Odgovor imate možda već za par dana.
Ovo iz korena menja Product Management, ne samo inženjering. Zato ponavljamo – DevOps nije neki usputni IT projekat. To je kičma koja omogućava organizaciji da uči i brzo reaguje.
Šta spaja Kanban i DevOps?
Kanban metodologija se uvek pita: „Gde posao stoji? Gde se gomila nedovršeni posao (WIP)? Gde je usko grlo (Bottleneck)?“
DevOps postavlja ta ista pitanja, ali posmatrajući ceo tok vrednosti isporuke (Delivery Value Stream). Kod je napisan. Zašto Review čeka puna dva dana? Review je prošao. Zašto sad QA tim čeka na okruženje? Sve je testirano. Zašto bezbednosna provera čeka četiri dana? Dobili smo odobrenje. A zašto puštamo tek sledećeg utorka u „prozoru za izmene“ (Release Window)?
Ukoliko organizacija ne prilagodi infrastrukturu i odobrenja, čak ni savršeno sproveden Scrum ili Kanban neće doneti očekivane rezultate u vidu ubrzanja.
Value Stream Mapping: Kada programiranje nije problem
Hajde da analiziramo jedan primer toka vrednosti isporuke (Delivery Flow):
-
Razvoj (Development): 2 dana.
-
Code Review: 4 sata.
-
Čekanje na QA okruženje: 3 dana.
-
QA: 1 dan.
-
Čekanje na Security provere: 4 dana.
-
Odobrenje (Release Approval): 2 dana.
-
Samo postavljanje (Deployment): 25 minuta.
Koliko ovde ima stvarno efektivnog rada? Pa, oko tri dana. A koliko nam je trebalo ukupno vremena od početka do kraja? Skoro dve nedelje!
Menadžment će, naravno, pitati: „Kako da nam programeri budu 20% produktivniji?“ Pitanje je potpuno promašeno. Da, i ako programeri budu 20% brži, ukupno vreme (Lead Time) jedva da će se mrdnuti.
DevOps vas tera da posmatrate sistem u celosti. DORA preporučuje da timovi iz različitih sektora (cross-functional) mapiraju ceo tok isporuke, lociraju najveći problem ili Bottleneck, poprave ga, izmere rezultate i onda – jovo nanovo. To je mnogo, mnogo ozbiljniji posao od puke instalacije još jednog alata.
AI 2026. godine bolno razotkriva loše Delivery sisteme
Veštačka inteligencija (AI) je danas prisutnija nego ikada. AI agenti mogu da vam pišu kod, generišu testove, predlažu promene (refactoring), analiziraju greške, pa čak i sami otvaraju Pull Request-ove.
DORA istraživanja, iz 2025. i marta 2026. godine, su jasna: AI funkcioniše pre svega kao pojačivač (Amplifier). On pojačava ono što vaša organizacija već jeste. Najveći benefiti ne dolaze iz samih alata, već iz kvaliteta onog sistema u kom te alate koristite.
Zanimljiva je analiza koja pokazuje sledeće: vreme koje uštedite jer ste uz AI brže napisali kod, često se onda potroši na proveru (auditing i verification). Što se više oslanjate na AI, može da vam poraste Throughput, ali ujedno može da vam poraste i Instability.
Prostim jezikom: AI je kao da ste ugradili turbo motor. DevOps je tu da se pobrine da imate ispravne kočnice, dobar volan, čistu stazu i odličnu signalizaciju. Bez svega toga, s turbo motorom ćete samo brže stići do problema.
Deset puta više PR-ova ne znači i deset puta veću produktivnost
Zamislimo situaciju: vaš tim je pravio 5 Pull Request-ova (PR) dnevno. Sada, uz pomoć AI agenata, prave ih 30. Odlično? Ne mora da znači.
Ako je kapacitet vašeg tima da dnevno proveri 8 PR-ova, znači da vam njih 22 stoji na čekanju. Ako vaš QA tim može dnevno da obradi 10 zadataka, red će samo da raste. Ako u produkciju idete jednom nedeljno – pa, imaćete poplavu promena na čekanju.
Brža petlja izvršavanja (Execution Loop) nikako nije isto što i brža petlja učenja (Learning Loop). Zbog toga, sa razvojem AI agenata, potreba za snažnim i stabilnim DevOps sistemom ne jenjava; naprotiv, postaće samo još važnija.
Automatizacija kontrola: Budućnost DevOps-a je „Policy-driven“
Kako uvodimo više automatizacije i AI agenata, ne možemo više da tražimo od čoveka da ručno proverava baš svaki odobreni zahtev (Approve).
Rešenje se zove „Policy as Code“ (polise kao kod), klasifikacija rizika, automatske bezbednosne barijere (Automated Security Gates), princip najmanjih privilegija (Least Privilege), kontrolni logovi (Audit Logs), automatsko vraćanje (Automated Rollback) i postepeno puštanje (Progressive Delivery).
Na primer, mala promena u dokumentaciji može automatski da ode u Release čim prođe kroz Pipeline. Ali, ukoliko se menja sistem za prijavu (Authentication), to mora da zahteva proveru od strane bezbednosnjaka (Human Security Review), dodatna odobrenja i možda „Canary“ pristup, praćen pojačanim nadzorom (monitoringom).
Više automatizacije ne znači manje pravila i kontrole. Znači pametnija pravila koja umeju da procene rizik.
Continuous Delivery vam daje moć izbora
Evo bitne finesa: cilj DevOps-a nije stalno takmičenje u tome koliko često imate Deployment. Pravi cilj je da imate sposobnost da kvalitetnu i malu promenu isporučite bezbedno uvek kada biznis to zahteva.
Ukoliko Product menadžer zatraži Release sutra – spremni ste. Ako želi danas – i za to ste spremni. Ako zahteva da ta nova funkcionalnost bude skrivena iza Feature Flag-a još dve nedelje – opet može.
Continuous Delivery (CD) je vaša sloboda da birate pravi trenutak isporuke, a ne nametnuta obaveza da svaki Commit momentalno „gurnete“ svim korisnicima na glavu.
DevOps nije samo brža dostava, već i prava adresa
Tanak je led po kom se hoda ako posmatrate samo brojke. Vaš Pipeline leti. Metrike zakucane u plafon (Deployment Frequency i Change Lead Time sjajni). Sve vidite na monitoringu (Observability). Sve idealno. Samo… vi pravite proizvod koji apsolutno niko na tržištu ne želi. I to je opet neuspeh.
DevOps je tu da osigura efikasan sistem isporuke (Delivery), ali on nipošto ne sme da zameni ključne korake poput istraživanja proizvoda (Product Discovery), razvoja strategije (Strategy) i istraživanja korisničkih potreba (User Research).
To što ste vi super brzo napravili nešto nepotrebno, nije vaš uspeh, samo ste brže dobili potvrdu da ste pogrešili. Naravno, zahvaljujući dobrom Feedback Loop-u (brzim povratnim informacijama), barem niste godinama tavorili u zabludi.
DevOps principi važe svuda, pa i za sajtove (Joombooz primer)
Pogrešno je misliti da je DevOps rezervisan samo za ogromne softverske projekte. Iza jednog Web Shop-a ili ozbiljnijeg sajta stoji mnogo više posla nego „napravi, baci na server i gotovo“. Pravi život sajta počinje tek kada ode u etar (Go-Live).
Tu dolazi stalno praćenje (Monitoring), bezbednosne zakrpe, ažuriranja, performanse, bekapovanje, brza sanacija grešaka i stalna optimizacija. Joombooz, primera radi, upravo na to ukazuje kada objašnjava važnost automatizacije poslovnih procesa koja je usko vezana za stalni nadzor, bezbednost i kontinuirano unapređivanje (Workflow).
Na kraju krajeva, ni jedan ozbiljan digitalni proizvod nije projekat za koji kažemo da smo ga samo „završili“. To je živi sistem koji moramo uvek iznova da isporučujemo, posmatramo, održavamo i menjamo.
Prepoznajte lažnu agilnost
Kako da znate da neka firma samo priča o Agile-u, a nema stvarne DevOps kapacitete? Postoji par znakova pored puta:
-
Kod čami čekajući na okruženje.
-
Puštanje na produkciju je sam po sebi poseban „projekat“.
-
Deploy odrađuje tačno jedan specifičan čovek koga svi zivkaju.
-
Testiranje je pretežno manuelno.
-
Ljudi zaduženi za bezbednost (Security) se uključuju na samom kraju.
-
Developeri ne znaju kako softver zaista radi u produkciji jer im te metrike nisu dostupne.
-
Podaci o infrastrukturi postoje samo u nečijim glavama ili prašnjavim dokumentima.
-
Vraćanje na staro (Rollback) je improvizacija u panici.
-
Deploy petkom je zabranjen.
Ako petkom ne puštate softver jer niste sigurni šta bi moglo da pođe po zlu, verujte, nije petak kriv. Problem je u vašem sistemu isporuke (Deployment).
Kako izgleda zreo sistem?
-
Promene koda se prave u relativno malim porcijama.
-
Continuous Integration (CI) omogućava brze povratne informacije.
-
Automatizovani testovi „hvataju“ najveći broj potencijalnih problema.
-
Provere bezbednosti se ugrađuju na samom početku procesa.
-
Infrastruktura se čuva u obliku koda (versioned).
-
Testna okruženja mogu pouzdano da se umnožavaju.
-
Platforma nudi Developerima „Self-Service“ okruženje.
-
Proces isporuke (Deployment) je maksimalno automatizovan.
-
Funkcionalnosti se korisnicima obično puštaju postepeno (Release).
-
Alati za opservabilnost momentalno daju jasnu sliku posledica promena.
-
Incident se ne tretira kao greška zaposlenog, već prilika za sistemsko učenje.
-
Tim deli uspeh i deli odgovornost (Ownership) nad onim što su stvorili.
Ovo sve ne znači da je svet odjednom savršen i da kvarova (Incidenata) nema. I te kako ih ima. Ali, zreli sistemi se razlikuju po tome koliko brzo će te kvarove prepoznati, izolovati, razumeti uzrok, popraviti stvar i, najvažnije, po tome šta su iz svega toga naučili.
Savršeni DevOps proces niko ne primećuje
Znam, zvuči krajnje nedramatično, i svakako to ne biste stavili kao pompezni naslov na nekoj konferenciji, ali to je zaista krajnji cilj.
Developer iskodira šta ima. Pipeline obavi svoje. Kontrole daju zeleno svetlo. Sistem se apdejtuje (Deploy). Telemetrija pošalje „Sve ok!“. I to je to. Nema noćnih „War Room“ sastanaka. Nema heroja. Nema kilometarskih Word uputstava. Nema kolege bez kojeg firma staje. To je istinski profesionalno.
U nekim trenucima se heroizam zaista traži. Ali, ako vi tražite heroje iz petka u petak, vi onda nemate herojski tim, već imate užasne sistemske, arhitektonske greške koje pokušavate da prikrijete prekovremenim radom.
DevOps uspešno dovršava započeto Agile obećanje
Agile nas je učio: „Nemojte da radite na nečemu šest meseci, a da ne proverite da li je to uopšte ono što tržište traži“. DevOps je dodao: „Okej, a kad to i napravite, nemojte da čekate mesec dana da to konačno isporučite.“
Ako Agile smanjuje korake u razvoju (Batch razvoja), DevOps smanjuje korake u isporuci (Batch isporuke). Agile približava proces proizvodnje (Product tim) samom korisniku, DevOps spaja Development sa produkcijom i omogućava Observability koji nam vraća ključne podatke, direktno iz produkcije.
Krug je zatvoren: Ideja → mala promena → automatizovana provera → brza isporuka → praćenje korisnika → prikupljanje podataka → učenje → nova (ispravljena) promena. To je suština agilnog poslovanja, koje se dešava daleko van Jira tabli.
Stvarna agilnost se ne završava kada čekirate „Done“
To je verovatno i najsnažnija poruka. Kompanija može da obiluje Scrum Master-ima, Product Owner-ima, može da radi Daily Scrum, Retrospective, da koristi Story Points i da meri Sprint Velocity, a opet – da se vuče kao puž.
Ukoliko svaka nova funkcionalnost ne može da se pusti pred korisnika munjevito i bez drame, to znači da ste lokalizovano popravili samo Development proces, a vaša organizacija nije ni mrvicu postala agilnija u poslovanju.
DevOps zato nije neki dodatni proces koji „inženjeri nekad posle dorade“, već tehnički motor i ključan inženjerski mehanizam koji omogućava agilnosti da preskoči poslednju, često i najnaporniju prepreku – prelazak od samog koda, do stvarne, opipljive vrednosti.
To doba je sve bliže, doba AI Agenata (Coding Agents), gde će pisanje koda postajati sve pristupačnije, i eksponencijalno brže, pa će Pull Request-ova biti kao lišća u jesen. I tada više ne pobeđuje firma čiji developeri mogu brže da kucaju (to će rešiti AI), nego onaj čiji će DevOps procesi uspeti taj ogromni protok (Delivery system) najbrže i najpouzdanije da verifikuju, obezbede, isporuče, prate i shvate, a onda i iznova izmene.
Jer DevOps je onaj trenutak kada Agile zapravo prestaje da bude termin koji rešava unutrašnju organizaciju jednog razvojnog tima i preuzima zasluge za istinski uspeh isporuke čitave kompanije.



