Što su mikroservisi i može li se 80% njih ugasiti preko noći, kao što je zamislio Elon Musk

Što su mikroservisi i može li se 80% njih ugasiti preko noći, kao što je zamislio Elon Musk

Kao novi gazda Twittera, Elon Musk odlučio je troškove srezati ne samo otpuštanjem 50% zaposlenika, nego i gašenjem više od 80% od 1200 mikroservisa na kojima je smješteno sve što je potrebno da bismo mi, obični ljudi, mogli koristiti Twitter.

Musk je zaključio (ili mu je netko rekao) da je tek manje od 20% mikroservisa doista nužno da bi Twitter radio kako treba, a ostali postoje kao posljedica lošeg upravljanja infrastrukturom i tehničkog duga.

Zašto bi Musk gasio mikroservise? Jer koštaju, a Musk je dosad radio sve klasične poteze novog vlasnika koji smanjuje troškove.

Ta se odluka pokazala promišljenom kao sve dosadašnje Muskove odluke kad je u Twitter u pitanju pa su se, na tom istom Twitteru, vrlo brzo počela širiti upozorenja upućenijih korisnika ostalima da spreme neke svoje podatke ili da će vjerojatno imati problema s prijavom ako koriste dvofaktorsku autentifikaciju jer se mikroservis “zadužen” za to gasi.

Što su mikroservisi?

Zbrka koju je Elon stvorio savršena je prilika da se pozabavimo temom mikroservisa – što oni jesu, je li 1200 mikroservisa previše, premalo ili dovoljno za aplikaciju kao što je Twitter te mogu li se odluke o gašenju – i to tako puno! – njih donositi preko noći.

Za početak, mikroservisi, odnosno mikroservisna arhitektura je jedan od načina dizajniranja kompleksnih softverskih sustava u kojem je po jedan manji servis zadužen za jedan dio funkcionalnosti.

Takva je arhitektura iznimno popularna i korištena posljednjih desetak godina jer developerima olakšava posao u svijetu sve kompleksnijeg softvera, za razliku od monolitne arhitekture u kojoj je sve jedan veliki “blok” i ponekad je teško nešto maknuti ili nadograditi bez da se pokvari nešto drugo. Odnosno, kako to objašnjava Ivan Kišić, Senior DevOps inžinjer u Infobipu:

Jednostavnim rječnikom – kod mikroservisne arhitekture aplikacija je podjeljena na više manjih servisa od kojih svaki radi jedan dio funkcionalnosti i svaki je fokusiran na svoj dio posla.

Primjerice, jedan mikroservis je zadužen za logiranje, drugi za slanje podataka, treći za frontend, a međusobno komuniciraju preko API-ja ili drugih metoda.

Ne postoji standardna granularnost mikroservisa i zna se dogoditi da će jedan odrađivati širi raspon posla kojeg održavaju cijeli timovi, a drugi može biti manja skripta koja se brine za neki trivijalan dio.

“Twitterovih 1200 servisa ne zvuči pretjerano, ali…”

Kako o skaliranju mikroservisa i koliko je granularnost stvarno potrebna ili nije ne znam puno više od memova s tech Twittera koji ismijavaju inženjere koji nekad nepotrebno kompliciraju zavedeni trendovima (i jer su vidjeli famoznu shemu Netflixovih više od 1000 mikroservisa), pitam Ivana je li Twitterovih 1200 previše:

Twitterovih 1200 mikroservisa ne zvuči pretjerano, ako se uračunaju sve sposobnosti koje su skrivene u backendu. Isto tako, ne zvuči čudno niti da je samo njih 40-ak kritično za funkcioniranje aplikacije, kako Elon Musk tvrdi.

Netflixovih više od 1000 mikroservisa: ideal ili noćna mora za developere?

Dodaje da nije neobično da postoje servisi koji su nepotrebni, posebno u velikim organizacijama kao što je Twitter:

U većim organizacijama, a naročito onim starijim koje vuku za sobom dosta tehničkog duga i starog koda zna biti po nekoliko tisuća mikroservisa i nije neuobičajeno da se neki od njih zapuste, inženjeri koji su ih napravili napuste firmu i ostanu slabo dokumentirani.

“Mogao bi pitati developere. Da im nije dao otkaz!

Može li se taj tehnički dug, odnosno napuhani broj mikroservisa, odrezati mačem, preko noći (odnosno u par dana), kao što je to zamislio Musk? Čak i laiku poput mene se čini da to ne može biti tako jednostavno, posebno kad pogledamo razne mape i dijagrame mikroservisne arhitekture u većim kompanijama na kojima se vidi koliko toga je isprepleteno.

Baš u kompleksnosti sustava i jest caka, kaže i Kišić:

Generalno nije problem vidjeti koji servis šalje pozive nekom drugom, ali što je kompleksniji sustav sve je teže dešifrirati koji segment je stvarno potreban, a koji nije.

Najbolja metoda za otkrivanje toga bi bila kroz intervjue s ljudima koju su te servise i napravili. Odnosno bila bi, da nisu već dobili otkaz.

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.

Komentari

  1. Stjepan

    Stjepan

    21. 11. 2022. u 11:14 pm Odgovori

    Najveći problem s mikroservisima je njihova inflacija – previše se koriste, nešto slično kao što su one line libovi u JavaScriptu i onda imate npm hell. Neke tvrtke tako rješavaju problem odgovornosti – lakše je novom developeru dati novi mikroservis da ništa ne zaje.. u ostatku sustava, a još se on osjeća važniji jer eto ima odgovornost.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Umjetna inteligencija

Europa gradi AI tvornice vrijedne milijarde eura. Zašto Hrvatska nema nijednu?

Hrvatska će izdvojiti 39 milijuna eura za AI tvornicu, ali ta "domaća" tvornica inteligencije možda uopće neće biti izgrađena u Hrvatskoj.

Umjetna inteligencija

AI krade tekstove, ignorira pravila interneta i zakone

Umjetna inteligencija olakšala je krađu sadržaja u digitalnom svijetu. Kako se boriti protiv agregatora koji se predstavljaju kao news portali, ali ne poštuju pravila prenošenja i izdavačima uskraćuju pravednu naknadu, pitali smo prvog čovjeka HUDI-ja.

Umjetna inteligencija

CTO Netlifya: Više ćeš naučiti izradom 30 nesavršenih aplikacija nego tutorijalom

Umjetna inteligencija toliko je snizila prag za razvoj softvera da je najbolji način učenja postalo baciti se na posao, izrađivati i objavljivati nesavršene aplikacije te ih usput poboljšavati, smatra Dana Lawson, tehnološka direktorica Netlifyja.

Što ste propustili

Umjetna inteligencija

CTO Netlifya: Više ćeš naučiti izradom 30 nesavršenih aplikacija nego tutorijalom

Umjetna inteligencija toliko je snizila prag za razvoj softvera da je najbolji način učenja postalo baciti se na posao, izrađivati i objavljivati nesavršene aplikacije te ih usput poboljšavati, smatra Dana Lawson, tehnološka direktorica Netlifyja.

Veliki intervjui

Muška usamljenost – kako je prepoznati i ne produbljivati u IT kolektivima?

Najopasnija rečenica u muškoj ekipi glasi : "Sve pet”, a koliko često samo to čujete? Skoro svaki dan! Kad je ona znak za alarm, što to muškarci ne razumiju jedni o drugima te kako u IT kolektivima nehotično ne njegovati toksičnost, razgovaramo sa Sandrom Kraljevićem.

Turizam

Hrvatski hoteli gube prihod zbog loših web stranica i digitalnog iskustva

Hoteli ne iskorištavaju potencijal svog najvažnijeg prodajnog kanala, dapače, ne doživljavaju ga i gube prihode. Benefite iz programa vjernosti nude prekasno, a eure iz džepa izbija im i komplicirani booking engine. Na čemu bi trebali poraditi hrvatski hoteli, piše u svojoj kolumni Domagoj Razum, direktor poslovanja u Laurisu by BID.

Umjetna inteligencija

Tekstovi će imati oznaku koja odaje jesu li pisani pomoću AI-ja

Tekst generiran Claudeom imat će nevidljivi vodeni žig koji bi trebao preživjeti copy/paste, nova pravila vrijedit će i za datoteke. Iako je to način da se AI div uskladi s europskim regulativama o transparentnosti, učinak je vrlo upitan.

Umjetna inteligencija

OpenAI-jev Luis Velasco dolazi na Infobip Shift u Zadru

OpenAI na Infobip Shift ove godine prvi put šalje svog predstavnika. Luis Velasco, forward deployed engineer u OpenAI-ju, u Zadru će govoriti o AI agentima i novoj fazi razvoja umjetne inteligencije.

Analiza

Procurili podaci 88.000 hrvatskih građana: Što hakeri mogu napraviti s OIB-om i JMBG-om?

Podaci 88 000 hrvatskih građana preuzetih iz hrvatskih pravosudnih sustava objavljeni su na internetu i može ih se besplatno preuzeti. Što je točno objavljeno i ima li razloga za paniku?