{"id":33935,"date":"2019-10-31T21:55:27","date_gmt":"2019-10-31T18:55:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/serverless-po-stoechkam\/"},"modified":"2019-10-31T21:55:27","modified_gmt":"2019-10-31T18:55:27","slug":"serverless-po-stoechkam","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless po koracima","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless po koracima\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless nije o fizi\u010dkom odsustvu poslu\u017eitelja. To nije \"ubica\" kontejnera niti prolazni trend. To je novi pristup izgradnji sustava u oblaku. U dana\u0161njem \u010dlanku osvrnut \u0107emo se na arhitekturu Serverless aplikacija, prou\u010diti ulogu pru\u017eatelja Serverless usluga i open-source projekte. Na kraju \u0107emo razgovarati o pitanjima primjene Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u017delim napisati poslu\u017eiteljsku stranu aplikacije (\u010dak i internet trgovine). To mo\u017ee biti chat, usluga za objavu sadr\u017eaja ili ravnote\u017ea optere\u0107enja. U svakom slu\u010daju, bit \u0107e mnogo glavobolja: morat \u0107u pripremiti infrastrukturu, odrediti ovisnosti aplikacije i razmisliti o operativnom sustavu poslu\u017eitelja. Zatim \u0107u morati a\u017eurirati manje komponente koje ne utje\u010du na rad ostatka monolita. I ne zaboravimo na skaliranje pod optere\u0107enjem.<\/p>\n<p>\u0160to ako uzmemo efemerne kontejnere, u kojima su potrebne ovisnosti ve\u0107 unaprijed instalirane, a sami kontejneri su izolirani jedni od drugih i od OS-a poslu\u017eitelja? Monolit \u0107emo razbiti na mikroservise, od kojih svaki mo\u017eemo a\u017eurirati i skalirati neovisno od ostalih. Stavljaju\u0107i kod u takav kontejner, mo\u0107i \u0107u ga pokrenuti na bilo kojoj infrastrukturi. Ve\u0107 je bolje. <\/p>\n<p>A ako ne \u017eelim pode\u0161avati kontejnere? Ne \u017eelim razmi\u0161ljati o skaliranju aplikacije. Ne \u017eelim pla\u0107ati za neaktivne pokrenute kontejnere, kada je optere\u0107enje na servisu minimalno. \u017delim pisati kod. Fokusirati se na poslovnu logiku i izbacivati proizvode na tr\u017ei\u0161te brzinom svjetlosti. <\/p>\n<p>Takve misli dovele su me do besposlu\u017eiteljskog ra\u010dunalstva. Serverless u ovom slu\u010daju zna\u010di <em>ne fizi\u010dko odsustvo poslu\u017eitelja, ve\u0107 odsustvo glavobolje oko upravljanja infrastrukturom.<\/em><\/p>\n<p>Ideja je u tome da se logika aplikacije razbija na neovisne funkcije. One imaju doga\u0111ajnu strukturu. Svaka funkcija izvr\u0161ava jednu \"mikrozadatak\". Sve \u0161to se tra\u017ei od developera je da u\u010dita funkcije u konzolu koju pru\u017ea obla\u010dni pru\u017eatelj i pove\u017ee ih s izvorima doga\u0111aja. Kod \u0107e se izvr\u0161avati na zahtjev u automatski pripremljenom kontejneru, a ja \u0107u platiti samo za vrijeme izvr\u0161enja. <\/p>\n<p>Pogledajmo kako \u0107e sada izgledati proces razvoja aplikacije.<\/p>\n<h2>S aspekta developera<\/h2>\n<p>\nRanije smo po\u010deli govoriti o aplikaciji za internetsku trgovinu. U tradicionalnom pristupu, glavna logika sustava obavlja se monolitnom aplikacijom. I poslu\u017eitelj s aplikacijom pokrenut je neprekidno, \u010dak i kada nema optere\u0107enja.<\/p>\n<p><strong>Da bismo pre\u0161li na serverless, razbijamo aplikaciju na mikrozadatke.<\/strong> Za svaki od njih pi\u0161emo svoju funkciju. Funkcije su neovisne jedna o drugoj i ne \u010duvaju informacije o stanju (stateless). Mogu \u010dak biti napisane na razli\u010ditim jezicima. Ako jedna od njih 'padne', cijela aplikacija se ne\u0107e zaustaviti. Arhitektura aplikacije \u0107e izgledati ovako:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po koracima\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPodjela na funkcije u Serverlessu sli\u010di radu s mikroservisima. Me\u0111utim, mikroservis mo\u017ee obavljati vi\u0161e zadataka, dok funkcija u idealu treba obavljati samo jedan. Pretpostavimo da je zadatak prikupiti statistiku i prikazati je na zahtjev korisnika. U mikroservisnom pristupu, zadatak obavlja jedan servis s dva ulaza: za upis i za \u010ditanje. U bezservernim izra\u010dunima to \u0107e biti dvije razli\u010dite funkcije koje nisu povezane jedna s drugom. Razvija\u010d \u0161tedi ra\u010dunalne resurse ako, na primjer, se statistika a\u017eurira \u010de\u0161\u0107e nego \u0161to se preuzima. <\/p>\n<p>Serverless funkcije trebaju se izvoditi u kratkom vremenskom okviru (timeout) koji odre\u0111uje pru\u017eatelj usluge. Na primjer, za AWS timeout iznosi 15 minuta. To zna\u010di da dugotrajne funkcije (long-lived) treba prilagoditi zahtjevima \u2013 ovim se Serverless razlikuje od drugih popularnih tehnologija danas (kontejnera i Platform as a Service).<\/p>\n<p><strong>Svakoj funkciji dodjeljujemo doga\u0111aj.<\/strong> Doga\u0111aj je okida\u010d za akciju:<\/p>\n<p><strong>Doga\u0111aj<\/strong><br \/>\n<strong>Akcija koju funkcija izvodi<\/strong><\/p>\n<p>U skladi\u0161tu je u\u010ditana slika proizvoda<br \/>\nSmanjiti sliku i u\u010ditati je u katalog<\/p>\n<p>U bazi podataka je a\u017eurirana adresa fizi\u010dke trgovine<br \/>\nU\u010ditati novu lokaciju u karte<\/p>\n<p>Korisnik pla\u0107a proizvod<br \/>\nPokrenuti obradu pla\u0107anja<\/p>\n<p>Doga\u0111aji mogu biti HTTP zahtjevi, streamovi podataka, redovi poruka i sli\u010dno. Izvori doga\u0111aja su promjena ili pojava podataka. Osim toga, funkcije se mogu pokretati prema tajmeru.<\/p>\n<p>Arhitektura je razra\u0111ena i aplikacija je gotovo postala serverless. Dalje idemo prema pru\u017eatelju usluge.<\/p>\n<h2>S strane davatelja<\/h2>\n<p>\nObi\u010dno bezserverna ra\u010dunanja nude pru\u017eatelji cloud usluga. Ovisno o pru\u017eatelju, zovu ih razli\u010dito: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Uslugu \u0107emo koristiti putem konzole ili osobnog ra\u010duna pru\u017eatelja usluga. Kod funkcija mo\u017ee se u\u010ditati na jedan od sljede\u0107ih na\u010dina:<\/p>\n<ul>\n<li>napisati kod u ugra\u0111enim ure\u0111iva\u010dima putem web konzole,<\/li>\n<li>uploadati arhivu s kodom,<\/li>\n<li>raditi s javnim ili privatnim git repozitorijima.<\/li>\n<\/ul>\n<p>\nOvdje tako\u0111er postavljamo doga\u0111aje koji pozivaju funkciju. Skupovi doga\u0111aja mogu se razlikovati kod razli\u010ditih pru\u017eatelja.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po koracima\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Pru\u017eatelj je izgradio i automatizirao sustav Function as a Service (FaaS) na svojoj infrastrukturi:<\/p>\n<ol>\n<li>Kod funkcija dolazi u skladi\u0161te na strani pru\u017eatelja.<\/li>\n<li>Kada se pojavi doga\u0111aj, na poslu\u017eitelju se automatski pokre\u0107u kontejneri s pripremljenim okru\u017eenjem. Svakom primjerku funkcije dodjeljuje se vlastiti izolirani kontejner.<\/li>\n<li>Iz skladi\u0161ta funkcija se \u0161alje u kontejner, prora\u010dunava se i vra\u0107a rezultat.<\/li>\n<li>Broj paralelnih doga\u0111aja raste \u2014 raste broj kontejnera. Sustav se automatski skalira. Ako korisnici ne pristupaju funkciji, ona \u0107e biti neaktivna.<\/li>\n<li>Pru\u017eatelj postavlja vrijeme mirovanja kontejnera \u2014 ako se u tom razdoblju funkcije ne pojave u kontejneru, on se uni\u0161tava.<\/li>\n<\/ol>\n<p>\nTako dobivamo Serverless \"iz kutije\". Pla\u0107at \u0107emo za uslugu prema modelu pay-as-you-go i samo za one funkcije koje se koriste, i samo za vrijeme kada su kori\u0161tene.<\/p>\n<p>Kako bi upoznali programere s uslugom, pru\u017eatelji nude do 12 mjeseci besplatnog testiranja, ali ograni\u010davaju ukupno vrijeme prora\u010duna, broj zahtjeva mjese\u010dno, nov\u010dana sredstva ili potro\u0161ene resurse.<\/p>\n<p>Glavna prednost rada s pru\u017eateljem je mogu\u0107nost da se ne brinete o infrastrukturi (poslu\u017eiteljima, virtualnim strojevima, kontejnerima). S svoje strane, pru\u017eatelj mo\u017ee implementirati FaaS kako na vlastitim razvojem, tako i uz pomo\u0107 open-source alata. O tome \u0107emo razgovarati dalje.<\/p>\n<h2>S aspekta open source<\/h2>\n<p>\nPosljednjih nekoliko godina zajednica open-source aktivno radi na alatima Serverless. Veliki igra\u010di na tr\u017ei\u0161tu tako\u0111er doprinose razvoju beservernih platformi:<\/p>\n<ul>\n<li><strong>Google<\/strong> nudi programerima svoj open-source alat \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. U njegovom razvoju sudjelovali su IBM, RedHat, Pivotal i SAP;<\/li>\n<li><strong>IBM<\/strong> radili su na Serverless platformi <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, koja je kasnije postala projekt Apache Foundation;<\/li>\n<li><strong>Microsoft<\/strong> djelomi\u010dno su otvorili kod platforme <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nRazvoj se odvija i u smjeru serverless okvira. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> razvijaju se unutar unaprijed pripremljenih Kubernetes klastera, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> radi i s Kubernetes i s Docker Swarm. Okvir djeluje kao svojevrsni kontroler \u2013 na zahtjev priprema okru\u017eenje za izvr\u0161avanje unutar klastera, a zatim pokre\u0107e funkciju.<\/p>\n<p>Okviri ostavljaju mogu\u0107nost za konfiguraciju alata prema vlastitim potrebama. Tako, u Kubelessu, developer mo\u017ee postaviti timeout izvr\u0161avanja funkcije (defaultna vrijednost \u2013 180 sekundi). Fission, nastoje\u0107i rije\u0161iti problem hladnog pokretanja, nudi mogu\u0107nost odr\u017eavanja dijela kontejnera uvijek pokrenutima (iako to nosi tro\u0161kove vezane uz neiskori\u0161tene resurse). OpenFaaS nudi niz okida\u010da koji odgovaraju svemu: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs i drugim.<\/p>\n<p>Upute za po\u010detak rada mogu se prona\u0107i u slu\u017ebenoj dokumentaciji okvira. Rad s njima zahtijeva malo vi\u0161e vje\u0161tina nego rad s davateljem - to uklju\u010duje barem sposobnost pokretanja Kubernetes klastera putem CLI-a. Maksimum je uklju\u010diti u rad druge open-source alate (recimo, upravitelj redova Kafka).<\/p>\n<p>Bez obzira na to kojim \u0107emo se na\u010dinom raditi s Serverless - putem davatelja ili uz pomo\u0107 open-source, dobit \u0107emo niz prednosti i nedostataka Serverless pristupa.<\/p>\n<h2>\u0160to se ti\u010de prednosti i nedostataka<\/h2>\n<p>\nServerless razvija ideje kontejnerske infrastrukture i mikroslu\u017ebene arhitekture, pri \u010demu timovi mogu raditi u vi\u0161ejezi\u010dnom re\u017eimu, bez vezivanja na jednu platformu. Izgradnja sustava se pojednostavljuje, a ispravljanje gre\u0161aka postaje lak\u0161e. Mikroslu\u017ebena arhitektura omogu\u0107ava dodavanje novog funkcionalnosti sustavu zna\u010dajno br\u017ee nego u slu\u010daju monolitne aplikacije.<\/p>\n<p><strong>Serverless dodatno skra\u0107uje vrijeme razvoja,<\/strong> omogu\u0107avaju\u0107i developeru da se isklju\u010divo fokusira na poslovnu logiku aplikacije i pisanje koda. Kao posljedica toga, vrijeme izlaska proizvoda na tr\u017ei\u0161te se smanjuje.<\/p>\n<p><strong>Bonus je automatsko skaliranje pod optere\u0107enjem,<\/strong> a pla\u0107amo samo za kori\u0161tene resurse i samo za vrijeme kada su kori\u0161teni.<\/p>\n<p>Kao i svaka tehnologija, Serverless ima nedostatke.<\/p>\n<p><em>Na primjer, jedan od nedostataka mo\u017ee biti vrijeme hladnog pokretanja (u prosjeku do 1 sekunde za jezike poput JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>S jedne strane, vrijeme hladnog pokretanja u praksi ovisi o mnogim varijablama: jeziku u kojem je napisana funkcija, broju biblioteka, obimu koda, komunikaciji s dodatnim resursima (kao \u0161to su baze podataka ili serveri za autentifikaciju). Budu\u0107i da programer upravlja tim varijablama, mo\u017ee smanjiti vrijeme pokretanja. No, s druge strane, programer ne mo\u017ee upravljati vremenom pokretanja kontejnera \u2015 tu sve ovisi o davatelju usluga.<\/p>\n<p>Hladno pokretanje mo\u017ee postati toplo kada funkcija ponovno koristi prethodno pokrenuti kontejner koji je pokrenuo prethodni doga\u0111aj. Takva situacija \u0107e nastati u tri slu\u010daja:<\/p>\n<ul>\n<li>ako kupci \u010desto koriste uslugu i raste broj poziva funkciji;<\/li>\n<li>ako davatelj usluga, platforma ili okvir dopu\u0161taju da dio kontejnera ostane stalno pokrenut;<\/li>\n<li>ako programer pokre\u0107e funkcije prema tajmeru (na primjer, svake 3 minute).<\/li>\n<\/ul>\n<p>\nZa mnoge aplikacije hladno pokretanje nije problem. Treba uzeti u obzir vrstu i ciljeve usluge. Ka\u0161njenje pokretanja od jedne sekunde nije uvijek kriti\u010dno za poslovnu aplikaciju, ali mo\u017ee postati kriti\u010dno za medicinske usluge. Vjerojatno, u tom slu\u010daju serverless pristup ve\u0107 ne\u0107e biti primjenjiv.<\/p>\n<p><em>Sljede\u0107im nedostatkom serverless-a smatra se kratak vijek trajanja funkcije (timeout unutar kojeg funkcija mora biti izvr\u0161ena).<\/em><\/p>\n<p>No, ako se planira raditi s dugotrajnim zadacima, mo\u017ee se koristiti hibridna arhitektura \u2015 kombinirati serverless s drugom tehnologijom.<\/p>\n<p><em>Nisu sve sustave mogu\u0107e koristiti prema serverless shemi.<\/em><\/p>\n<p>Neke aplikacije i dalje \u0107e \u010duvati podatke i stanje tijekom izvr\u0161avanja. Neke arhitekture ostat \u0107e monolitne, a neke funkcije \u0107e biti dugovje\u010dne. Me\u0111utim, kao \u0161to je bio slu\u010daj s cloud tehnologijama, a zatim i kontejnerima, serverless je tehnologija s velikom budu\u0107no\u0161\u0107u.<\/p>\n<p>U tom kontekstu, \u017eelio bih glatko pre\u0107i na pitanje primjene serverless pristupa.<\/p>\n<h2>S aspekta primjene<\/h2>\n<p>\nTijekom 2018. godine, postotak kori\u0161tenja serverless-a <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">porastao je jedan i pol puta<\/a><\/noindex>. Me\u0111u tvrtkama koje su ve\u0107 implementirale tehnologiju u svoje usluge su takvi tr\u017ei\u0161ni divovi kao \u0161to su Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Pri tome treba razumjeti da serverless nije panaceja, ve\u0107 alat za rje\u0161avanje odre\u0111enog kruga zadataka:<\/p>\n<ul>\n<li><strong>Smanjiti neiskori\u0161tenost resursa.<\/strong> Nema potrebe stalno odr\u017eavati virtualni stroj za usluge koje imaju malo zahtjeva.<\/li>\n<li><strong>Obraditi podatke \"u hodu\".<\/strong> Smanjiti slike, izrezati pozadinu, promijeniti kodiranje videa, raditi sa IoT senzorima, izvr\u0161iti matemati\u010dke operacije.\n<\/li>\n<li><strong>\"Povezati\" druge usluge.<\/strong> Git repozitorij s internim programima, chatbot u Slacku s Jirai i kalendarom.<\/li>\n<li><strong>Balansirati optere\u0107enje.<\/strong> Ovdje \u0107emo se detaljnije zadr\u017eati.<\/li>\n<\/ul>\n<p>\nPretpostavimo da postoji usluga koju koristi 50 ljudi. Za nju je postavljen virtualni stroj s slabim hardverom. Povremeno optere\u0107enje na uslugu znatno raste. Tada slab hardver ne mo\u017ee podnijeti teret.<\/p>\n<p>Mo\u017eemo uklju\u010diti u sustav balansirnik optere\u0107enja koji \u0107e raspodijeliti optere\u0107enje, recimo, na tri virtualna stroja. U ovom trenutku ne mo\u017eemo to\u010dno predvidjeti optere\u0107enje, stoga zadr\u017eavamo odre\u0111eni broj resursa pokrenutih \"za svaki slu\u010daj\". I pretpla\u0107ujemo se na prazne resurse. <\/p>\n<p>U takvoj situaciji mo\u017eemo optimizirati sustav putem hibridnog pristupa: iza balansirnika optere\u0107enja ostavljamo jedan virtualni stroj i postavljamo vezu na Serverless Endpoint s funkcijama. Ako optere\u0107enje prema\u0161i prag \u2015 balansirnik pokre\u0107e instance funkcija koje preuzimaju dio obrade zahtjeva.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po koracima\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNa taj na\u010din, Serverless se mo\u017ee koristiti gdje je potrebno ne previ\u0161e \u010desto, ali intenzivno obra\u0111ivati veliki broj zahtjeva. U tom slu\u010daju, pokretanje nekoliko funkcija na 15 minuta isplativije je nego stalno odr\u017eavati virtualni stroj ili server.<\/p>\n<p>Unato\u010d svim prednostima bezposlu\u017enih ra\u010dunalnih usluga, prije uvo\u0111enja najprije treba procijeniti logiku aplikacije i razumjeti koje zadatke Serverless mo\u017ee rije\u0161iti u konkretnoj situaciji. <\/p>\n<h2>Serverless i Selectel<\/h2>\n<p>\nU Selectelu smo ve\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.selectel.ru\/42078178.html?utm_source=habr.com&amp;amp;utm_medium=referral&amp;amp;utm_campaign=Functions_Serverless_Article_170519\">pojednostavili rad s Kubernetesom<\/a><\/noindex> putem na\u0161e upravlja\u010dke plo\u010de. Sada gradimo vlastitu FaaS platformu. \u017delimo da programeri mogu rije\u0161iti svoje zadatke putem Serverlessa kroz prikladno, fleksibilno su\u010delje.<\/p>\n<p>Ako imate ideje o tome kako bi idealna FaaS platforma trebala izgledati i kako \u017eelite koristiti Serverless u svojim projektima, podijelite ih u komentarima. Uzet \u0107emo va\u0161e \u017eelje u obzir prilikom razvoja platforme.<br \/>\n\u00a0<br \/>\nMaterijali kori\u0161teni u \u010dlanku:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">Postotak kori\u0161tenja Serverless-a porastao je za 50% (cijelo izvje\u0161\u0107e RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Kako vrijeme hladnog pokretanja ovisi o jeziku aplikacije<\/a><\/noindex><\/li>\n<\/ul>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/selectel\/blog\/452266\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u00ab\u0443\u0431\u0438\u0439\u0446\u0430\u00bb \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u043d\u0435 \u043c\u0438\u043c\u043e\u043b\u0435\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u043d\u0434. \u042d\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. \u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043a\u043e\u0441\u043d\u0435\u043c\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Serverless-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 Serverless-\u0443\u0441\u043b\u0443\u0433\u0438 \u0438 open-source \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f Serverless. \u042f \u0445\u043e\u0447\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0434\u0430 \u0445\u043e\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430). [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Serverless po stepenicama | ProHoster","description":"Serverless nije o fizi\u010dkoj odsutnosti poslu\u017eitelja.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster","og:description":"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/serverless-po-stoechkam","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:55:27+00:00","article:modified_time":"2019-10-31T18:55:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33935","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 17:17:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:31:21","updated":"2026-01-21 17:17:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}