{"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\/sl\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless po korakih","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless po korakih\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless ni o fizi\u010dni odsotnosti stre\u017enikov. Ni \u00bbubijalec\u00ab kontejnerjev in ni trenutni trend. To je nov pristop k gradnji sistemov v oblaku. V dana\u0161njem \u010dlanku se bomo dotaknili arhitekture Serverless aplikacij, pogledali, kak\u0161no vlogo igra ponudnik Serverless storitve in odprtokodni projekti. Na koncu se bomo pogovorili o vpra\u0161anju uporabe Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u017delim napisati serverski deo aplikacije (\u010dak i internet prodavnicu). To mo\u017ee biti i chat, i servis za objavljivanje sadr\u017eaja, i balansiranje optere\u0107enja. U svakom slu\u010daju, izazova ne\u0107e nedostajati: potrebno je pripremiti infrastrukturu, odrediti zavisnosti aplikacije, razmisliti o operativnom sistemu servera. Zatim \u0107e biti potrebno a\u017eurirati male komponente koje ne uti\u010du na rad ostatka monolita. I ne zaboravimo na skaliranje pod optere\u0107enjem.<\/p>\n<p>A \u0161ta ako uzmemo efemerne kontejnere, u kojima su potrebne zavisnosti ve\u0107 unapred instalirane, a sami kontejneri su izolovani jedni od drugih i od operativnog sistema doma\u0107ina? Monolit \u0107emo podeliti na mikros\u0435\u0440\u0432ise, svaki od kojih mo\u017ee biti nezavisno a\u017euriran i skaliran. Stavljaju\u0107i kod u takav kontejner, mo\u0107i \u0107u ga pokretati na bilo kojoj infrastrukturi. Ve\u0107 je bolje. <\/p>\n<p>A ako ne \u017eelim da pode\u0161avam kontejnere? Ne \u017eelim da razmi\u0161ljam o skaliranju aplikacije. Ne \u017eelim da pla\u0107am za vreme kada su kontejneri pokrenuti, kada je optere\u0107enje na servisu minimalno. \u017delim da pi\u0161em kod. Fokusirati se na poslovnu logiku i lansirati proizvode na tr\u017ei\u0161te brzinom svetlosti. <\/p>\n<p>Ove misli su me dovele do serverless ra\u010dunarstva. Serverless u ovom slu\u010daju zna\u010di <em>ne fizi\u010dko odsustvo servera, ve\u0107 odsustvo glavobolje oko upravljanja infrastrukturom.<\/em><\/p>\n<p>Ideja je da se logika aplikacije razbije na nezavisne funkcije. One imaju doga\u0111ajnu strukturu. Svaka od funkcija izvr\u0161ava jednu \u201emikrozadatak\u201c. Sve \u0161to se od programera zahteva je da u\u010dita funkcije u konzolu koju pru\u017ea cloud provajder i pove\u017ee ih sa izvorima doga\u0111aja. Kod \u0107e se izvr\u0161avati na zahtev u automatski pripremljenom kontejneru, a ja \u0107u platiti samo za vreme izvr\u0161avanja. <\/p>\n<p>Hajde da vidimo kako \u0107e sada izgledati proces razvoja aplikacije.<\/p>\n<h2>Sa strane programera<\/h2>\n<p>\nPre smo po\u010deli da govorimo o aplikaciji za internet prodavnicu. U tradicionalnom pristupu, glavnu logiku sistema obavlja monolitna aplikacija. I server sa aplikacijom je neprekidno pokrenut, \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 nezavisne jedna od druge i ne \u010duvaju informacije o stanju (stateless). Mogu \u010dak biti napisane na razli\u010ditim jezicima. Ako jedna od njih padne, cela aplikacija se ne\u0107e zaustaviti. Arhitektura aplikacije \u0107e izgledati ovako:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po korakih\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPodela na funkcije u Serverless sistemu nalikuje radu s mikroservisima. Me\u0111utim, mikroservis mo\u017ee izvr\u0161avati vi\u0161e zadataka, dok bi funkcija idealno trebala da izvr\u0161ava samo jedan. Zamislimo da je zadatak prikupljanje statistike i prikazivanje po korisni\u010dkom zahtevu. U mikroservisnom pristupu, zadatak izvr\u0161ava jedna usluga sa dva ulaza: za pisanje i za \u010ditanje. U serverless ra\u010dunarstvu, to \u0107e biti dve razli\u010dite funkcije, koje nisu povezane. Razvija\u010d \u0161tedi ra\u010dunske resurse ako se, na primer, statistika a\u017eurira \u010de\u0161\u0107e nego \u0161to se preuzima. <\/p>\n<p>Serverless funkcije trebaju se izvr\u0161avati u kratkom vremenskom intervalu (timeout) koji odre\u0111uje provajder usluge. Na primer, za AWS, timeout iznosi 15 minuta. To zna\u010di da dugotrajne funkcije (long-lived) treba prilagoditi zahtevima - ovo je ono \u0161to serverless razlikuje od drugih popularnih tehnologija danas (kontejnera i Platform as a Service).<\/p>\n<p><strong>Svakoj funkciji dodeljujemo doga\u0111aj.<\/strong> Doga\u0111aj je okida\u010d za radnju:<\/p>\n<p><strong>Doga\u0111aj<\/strong><br \/>\n<strong>Radnja koju izvr\u0161ava funkcija<\/strong><\/p>\n<p>U skladi\u0161tu je otpremljena slika proizvoda<br \/>\nSmanjiti sliku i otpremiti je u katalog<\/p>\n<p>U bazi podataka se a\u017eurirala adresa fizi\u010dke prodavnice<br \/>\nU\u010ditati novu lokaciju na mape<\/p>\n<p>Klijent pla\u0107a proizvod<br \/>\nPokrenuti obradu uplate<\/p>\n<p>Doga\u0111aji mogu biti HTTP zahtevi, strimovane podatke, poruke u redovima i sli\u010dno. Izvori doga\u0111aja su promene ili pojava podataka. Pored toga, funkcije se mogu pokretati po tajmeru.<\/p>\n<p>Arhitektura je razra\u0111ena i aplikacija je gotovo serverless. Idemo sada ka provajderu usluge.<\/p>\n<h2>Sa strane provajdera<\/h2>\n<p>\nObi\u010dno serverless ra\u010dunarske usluge nude provajderi cloud usluga. Zovu ih razli\u010dito: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Uslugu \u0107emo koristiti putem konzole ili korisni\u010dkog ra\u010duna provajdera. Kod funkcija se mo\u017ee u\u010ditati na jedan od slede\u0107ih na\u010dina:<\/p>\n<ul>\n<li>napi\u0161ite kod u ugra\u0111enim ure\u0111iva\u010dima putem veb konzole,<\/li>\n<li>u\u010ditajte arhivu sa kodom,<\/li>\n<li>radite sa javnim ili privatnim git repozitorijumima.<\/li>\n<\/ul>\n<p>\nTukaj nastavljamo dogodke, ki spro\u017eijo funkcijo. Pri razli\u010dnih ponudnikih se lahko nabori dogodkov razlikujejo.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po korakih\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ponudnik je na svoji infrastrukturi zgradil in avtomatiziral sistem Function as a Service (FaaS):<\/p>\n<ol>\n<li>Koda funkcij se shranjuje na strani ponudnika.<\/li>\n<li>Ko se pojavi dogodek, se na stre\u017eniku samodejno za\u017eenejo kontejnerji s pripravljenim okoljem. Vsaka instanca funkcije ima svoj izoliran kontejner.<\/li>\n<li>Iz shrambe funkcija pride v kontejner, se izra\u010duna in vrne rezultat.<\/li>\n<li>\u0160tevilo so\u010dasnih dogodkov nara\u0161\u010da \u2014 nara\u0161\u010da tudi \u0161tevilo kontejnerjev. Sistem se samodejno prilagaja. \u010ce uporabniki ne dostopajo do funkcije, bo ta neaktivna.<\/li>\n<li>Ponudnik nastavi \u010das neaktivnosti kontejnerjev \u2014 \u010de v tem \u010dasu funkcij ni v kontejnerju, se ta uni\u010di.<\/li>\n<\/ol>\n<p>\nTako dobimo Serverless 'iz \u0161katlice'. Pla\u010dali bomo za storitev po modelu pay-as-you-go in le za tiste funkcije, ki se uporabljajo, in le za \u010das, ko so bile uporabljene.<\/p>\n<p>Da bi razvijalcem predstavili storitev, ponudniki ponujajo do 12 mesecev brezpla\u010dnega preizku\u0161anja, vendar omejijo skupni \u010das izra\u010dunov, \u0161tevilo zahtevkov na mesec, sredstva ali porabljene mo\u010di.<\/p>\n<p>Glavna prednost dela s ponudnikom je mo\u017enost, da se ne skrbimo za infrastrukturo (stre\u017enike, virtualne ra\u010dunalnike, kontejnerje). S svoje strani lahko ponudnik izvede FaaS tako na lastnih re\u0161itvah kot tudi z uporabo orodij odprte kode. O tem se bomo pogovarjali naprej.<\/p>\n<h2>S strani odprte kode<\/h2>\n<p>\nV zadnjih dveh letih je skupnost odprte kode aktivno delala na orodjih Serverless. Med drugim prispevajo k razvoju brezstre\u017enih platform najve\u010dji igralci na trgu:<\/p>\n<ul>\n<li><strong>Google<\/strong> ponuja razvijalcem svoje orodje odprte kode \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. V njegovi razvijanju so sodelovali IBM, RedHat, Pivotal in SAP;<\/li>\n<li><strong>IBM<\/strong> so delali na platformi Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, ki je kasneje postala projekt Apache Foundation;<\/li>\n<li><strong>Microsoft<\/strong> so deloma odprli kodo platforme <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nRazvoj poteka tudi v smeri brezstre\u017enih okvirjev. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> in <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> se izvajajo znotraj vnaprej pripravljenih Kubernetes grozdov, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> deluje tako s Kubernetesom kot s Docker Swarm. Orodje deluje kot svojevrsten kontroler \u2013 na zahtevo pripravi okolje za izvajanje znotraj klasterja in nato tam za\u017eene funkcijo.<\/p>\n<p>Okviri omogo\u010dajo prilagoditev orodja svojim potrebam. Tako lahko v Kubeless razvijalec nastavi timeout za izvajanje funkcije (privzeta vrednost je 180 sekund). Fission v poskusu re\u0161evanja te\u017eave s hladnim zagonom ponuja, da del vsakega kontejnerja deluje ves \u010das (\u010deprav to prina\u0161a stro\u0161ke neizkori\u0161\u010denih virov). OpenFaaS ponuja niz spro\u017eilcev po okusu in barvi: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs in druge.<\/p>\n<p>Navodila za za\u010detek dela lahko najdete v uradni dokumentaciji okvirov. Delo z njimi zahteva nekoliko ve\u010d znanja kot pri delu s ponudnikom \u2013 to je vsaj sposobnost za\u017eeneti Kubernetes klaster skozi CLI. Najve\u010d, vklju\u010diti v delo druge open-source naprave (recimo, upravljalnik vrstic Kafka).<\/p>\n<p>Ne glede na to, kako bomo delali s Serverless \u2013 preko ponudnika ali s pomo\u010djo open-source, bomo pridobili vrsto prednosti in slabosti pristopa Serverless.<\/p>\n<h2>Z radarskega vidika prednosti in slabosti<\/h2>\n<p>\nServerless razvija ideje kontejnerske infrastrukture in mikroservisnega pristopa, pri katerem lahko ekipe delajo v ve\u010djezi\u010dnem na\u010dinu, ne da bi se vezale na eno platformo. Gradnja sistema se poenostavi, prav tako je la\u017eje odpravljati napake. Mikroservisna arhitektura omogo\u010da dodajanje nove funkcionalnosti v sistem znatno hitreje kot v primeru monolitne aplikacije.<\/p>\n<p><strong>Serverless \u0161e bolj skraj\u0161a \u010das razvoja,<\/strong> kar omogo\u010da razvijalcu, da se osredoto\u010di izklju\u010dno na poslovno logiko aplikacije in pisanje kode. Posledi\u010dno se \u010das dostopa razvojev na trg skraj\u0161a.<\/p>\n<p><strong>Kot dodatek dobimo avtomatsko skaliranje pod obremenitvijo,<\/strong> pla\u010damo pa le za uporabljene vire in le takrat, ko se uporabljajo.<\/p>\n<p>Kot vsaka tehnologija, ima tudi Serverless slabosti.<\/p>\n<p><em>Na primer, ena od slabosti je \u010das hladnega zagona (v povpre\u010dju do 1 sekunde za jezike, kot so JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>Z jedne strane, \u010das hladn\u00e9ho \u0161tartu z\u00e1vis\u00ed od mnoh\u00fdch premenn\u00fdch: jazyk, v ktorom je nap\u00edsan\u00e1 funkcia, po\u010det kni\u017en\u00edc, objem k\u00f3du, interakcia s \u010fal\u0161\u00edmi zdrojmi (t\u00fdmi ist\u00fdmi datab\u00e1zami alebo autentifika\u010dn\u00fdmi servermi). Ke\u010f\u017ee v\u00fdvoj\u00e1r m\u00e1 kontrolu nad t\u00fdmito premenn\u00fdmi, m\u00f4\u017ee skr\u00e1ti\u0165 \u010das \u0161tartu. Na druhej strane v\u0161ak v\u00fdvoj\u00e1r nem\u00f4\u017ee ovplyvni\u0165 \u010das spustenia kontajnera \u2013 to z\u00e1vis\u00ed len od poskytovate\u013ea.<\/p>\n<p>Hladn\u00fd \u0161tart sa m\u00f4\u017ee premeni\u0165 na tepl\u00fd, ke\u010f funkcia znovu vyu\u017e\u00edva kontajner spusten\u00fd predch\u00e1dzaj\u00facou udalos\u0165ou. Tak\u00e1 situ\u00e1cia nastane v troch pr\u00edpadoch:<\/p>\n<ul>\n<li>ak z\u00e1kazn\u00edci \u010dasto pou\u017e\u00edvaj\u00fa slu\u017ebu a rastie po\u010det volan\u00ed na funkciu;<\/li>\n<li>ak poskytovate\u013e, platforma alebo r\u00e1mec umo\u017e\u0148uj\u00fa ma\u0165 niektor\u00e9 kontajnery po\u010das cel\u00e9ho \u010dasu spusten\u00e9;<\/li>\n<li>ak v\u00fdvoj\u00e1r sp\u00fa\u0161\u0165a funkcie pod\u013ea \u010dasov\u00e9ho pl\u00e1nu (povedzme ka\u017ed\u00e9 3 min\u00faty).<\/li>\n<\/ul>\n<p>\nPre mnoh\u00e9 aplik\u00e1cie nie je hladn\u00fd \u0161tart probl\u00e9m. Tu je potrebn\u00e9 zoh\u013eadni\u0165 typ a \u00falohy slu\u017eby. Zdr\u017eanie \u0161tartu o sekundu nie je v\u017edy kritick\u00e9 pre podnikov\u00e9 aplik\u00e1cie, ale m\u00f4\u017ee sa sta\u0165 kritick\u00fdm pre zdravotn\u00e9 slu\u017eby. Pravdepodobne v takomto pr\u00edpade bezserverov\u00fd pr\u00edstup nebude vhodn\u00fd.<\/p>\n<p><em>\u010eal\u0161\u00edm nedostatkom Serverless sa naz\u00fdva kr\u00e1tky \u010das \u017eivotnosti funkcie (timeout, do ktor\u00e9ho mus\u00ed funkcia by\u0165 vykonan\u00e1).<\/em><\/p>\n<p>Av\u0161ak, ak sa chyst\u00e1te pracova\u0165 s dlhodob\u00fdmi \u00falohami, m\u00f4\u017eete pou\u017ei\u0165 hybridn\u00fa architekt\u00faru \u2013 skombinova\u0165 Serverless s inou technol\u00f3giou.<\/p>\n<p><em>Nie v\u0161etky syst\u00e9my bud\u00fa schopn\u00e9 fungova\u0165 pod\u013ea sch\u00e9my Serverless.<\/em><\/p>\n<p>Niektor\u00e9 aplik\u00e1cie st\u00e1le uchov\u00e1vaj\u00fa d\u00e1ta a stav po\u010das behu. Niektor\u00e9 architekt\u00fary zostan\u00fa monolitn\u00e9, a niektor\u00e9 funkcie bud\u00fa dlhodob\u00e9. Av\u0161ak (ako kedysi cloudov\u00e9 technol\u00f3gie a nesk\u00f4r kontajnery), Serverless je technol\u00f3gia s ve\u013ekou bud\u00facnos\u0165ou.<\/p>\n<p>V tomto zmysle by som r\u00e1d plynule pre\u0161iel k ot\u00e1zke aplik\u00e1cie pr\u00edstupu Serverless.<\/p>\n<h2>Z poh\u013eadu aplik\u00e1cie<\/h2>\n<p>\nV roku 2018 sa percento vyu\u017e\u00edvania Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">zv\u00fd\u0161ilo o 50%<\/a><\/noindex>. Medzi spolo\u010dnos\u0165ami, ktor\u00e9 u\u017e implementovali technol\u00f3giu do svojich slu\u017eieb, s\u00fa giganty trhu ako Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Pri tom je potrebn\u00e9 ch\u00e1pa\u0165, \u017ee Serverless nie je panacea, ale n\u00e1stroj na rie\u0161enie ur\u010dit\u00fdch okruhov \u00faloh:<\/p>\n<ul>\n<li><strong>Skra\u0165te prestoje zdrojov.<\/strong> Ni vam ni treba ves \u010das imeti virtualnega stroja za storitve, do katerih je malo povpra\u0161evanja.<\/li>\n<li><strong>Obdelava podatkov \"v teku\".<\/strong> Stiskanje slik, odstranjevanje ozadja, spreminjanje kodiranja videa, delo s senzorji IoT, izvajanje matemati\u010dnih operacij.\n<\/li>\n<li><strong>\"Povezovanje\" drugih storitev med seboj.<\/strong> Git repozitorij z notranjimi programi, klepetalni robot v Slacku povezani z Jiro in koledarjem.<\/li>\n<li><strong>Uravnote\u017eiti obremenitev.<\/strong> Tukaj se bomo podrobneje ustavili.<\/li>\n<\/ul>\n<p>\nRecimo, da obstaja storitev, ki jo obi\u0161\u010de 50 oseb. Za to je dodeljen virtualni stroj z \u0161ibko strojno opremo. Ob\u010dasno se obremenitev storitve mo\u010dno pove\u010da. Takrat \u0161ibka oprema ne zmore.<\/p>\n<p>Lahko vklju\u010dimo uravnote\u017eevalnik obremenitve, ki bo obremenitev razdelil na, recimo, tri virtualne stroje. V tem trenutku ne moremo natan\u010dno napovedati obremenitve, zato dolo\u010deno \u0161tevilo virov dr\u017eimo aktivnih \"za rezervo\". In prepla\u010dujemo za mirujo\u010de stanje. <\/p>\n<p>V tak\u0161ni situaciji lahko optimiziramo sistem s hibridnim pristopom: za uravnote\u017eevalnikom obremenitve pustimo en virtualni stroj in postavimo povezavo na Serverless Endpoint s funkcijami. \u010ce obremenitev prese\u017ee prag, uravnote\u017eevalnik za\u017eene primere funkcij, ki prevzamejo del obdelave zahtevkov.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless po korakih\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTako je Serverless mogo\u010de uporabiti tam, kjer se neobi\u010dajno pogosto, vendar intenzivno obdela velika koli\u010dina zahtevkov. V tem primeru je za\u017eetak ve\u010d funkcij za 15 minut cenej\u0161i kot ves \u010das imeti vklopljen virtualni stroj ali stre\u017enik.<\/p>\n<p>Kljub vsem prednostim brezstre\u017enega ra\u010dunalni\u0161tva je pred uvedbo najprej treba oceniti logiko aplikacije in razumeti, katere naloge lahko Serverless re\u0161i v konkretnem primeru. <\/p>\n<h2>Serverless in Selectel<\/h2>\n<p>\nV Selectelu smo \u017ee <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\">poenostavili delo s Kubernetesom<\/a><\/noindex> prek na\u0161e nadzorne plo\u0161\u010de. Zdaj gradimo svojo lastno FaaS platformo. \u017delimo, da lahko razvijalci re\u0161ejo svoje naloge s pomo\u010djo Serverless prek priro\u010dnega in fleksibilnega vmesnika.<\/p>\n<p>\u010ce imate ideje, kak\u0161na naj bi bila idealna FaaS platforma in kako bi \u017eeleli uporabljati Serverless v svojih projektih, jih delite v komentarjih. Upo\u0161tevali bomo va\u0161e \u017eelje pri razvoju platforme.<br \/>\n\u00a0<br \/>\nViri uporabljeni v \u010dlanku:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">Dele\u017e uporabe Serverless se je pove\u010dal za 50% (polno poro\u010dilo RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Kako \u010das hladnega zagona vpliva na programski jezik<\/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.4 - 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\/sl\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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\udd47 Serverless po stopnjah | ProHoster","description":"Serverless ni le o fizi\u010dnem pomanjkanju stre\u017enikov.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}