{"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\/sv\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless i stycken","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless i stycken\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless handlar inte om bristen p\u00e5 fysiska servrar. Det \u00e4r inte en \"m\u00f6rdare\" av containrar eller en tillf\u00e4llig trend. Det \u00e4r ett nytt tillv\u00e4gag\u00e5ngss\u00e4tt f\u00f6r att bygga system i molnet. I dagens artikel kommer vi att ber\u00f6ra arkitekturen f\u00f6r Serverless-appar, se vilken roll leverant\u00f6ren av Serverless-tj\u00e4nster spelar och open-source-projekt. I slutet kommer vi att diskutera fr\u00e5gor kring anv\u00e4ndning av Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nJag vill skriva serversidan av en applikation (\u00e4ven en webbshop). Det kan vara en chatt, en tj\u00e4nst f\u00f6r publicering av inneh\u00e5ll eller en lastbalanserare. I vilket fall som helst blir det en hel del huvudv\u00e4rk: jag m\u00e5ste f\u00f6rbereda infrastrukturen, definiera applikationens beroenden, fundera \u00f6ver v\u00e4rdoperativsystemet. Sen beh\u00f6ver jag uppdatera sm\u00e5 komponenter som inte p\u00e5verkar resten av monoliten. Och vi f\u00e5r inte gl\u00f6mma skalning under belastning.<\/p>\n<p>Och vad om vi anv\u00e4nder ephemeral containers d\u00e4r de n\u00f6dv\u00e4ndiga beroendena redan \u00e4r f\u00f6rinstallerade, och d\u00e4r sj\u00e4lva containrarna \u00e4r isolerade fr\u00e5n varandra och fr\u00e5n v\u00e4rdoperativsystemet? Vi delar monoliten i mikrotj\u00e4nster som kan uppdateras och skalas oberoende av varandra. Genom att placera koden i en s\u00e5dan container kan jag k\u00f6ra den p\u00e5 vilken infrastruktur som helst. Mycket b\u00e4ttre. <\/p>\n<p>Men om man inte vill konfigurera containrar? Om man inte vill t\u00e4nka p\u00e5 att skala applikationen. Om man inte vill betala f\u00f6r stillast\u00e5ende k\u00f6rda containrar n\u00e4r belastningen p\u00e5 tj\u00e4nsten \u00e4r minimal. Man vill bara skriva kod. Fokusera p\u00e5 aff\u00e4rslogik och f\u00e5 produkter p\u00e5 marknaden med ljusets hastighet. <\/p>\n<p>Dessa tankar ledde mig till serverl\u00f6sa ber\u00e4kningar. Serverless i det h\u00e4r fallet betyder <em>inte en fysisk avsaknad av servrar, utan avsaknaden av huvudv\u00e4rk f\u00f6r att hantera infrastrukturen.<\/em><\/p>\n<p>Id\u00e9n \u00e4r att applikationens logik delas upp i oberoende funktioner. De har en h\u00e4ndelsestruktur. Varje funktion utf\u00f6r en \"mikrouppgift\". Det enda som utvecklaren beh\u00f6ver g\u00f6ra \u00e4r att ladda upp funktionerna i den konsol som tillhandah\u00e5lls av molnleverant\u00f6ren och koppla dem till h\u00e4ndelsek\u00e4llor. Koden kommer att k\u00f6ras p\u00e5 beg\u00e4ran i en automatiskt f\u00f6rberedd container och jag betalar bara f\u00f6r k\u00f6rningstiden. <\/p>\n<p>L\u00e5t oss se hur utvecklingsprocessen f\u00f6r applikationen nu kommer att se ut.<\/p>\n<h2>Fr\u00e5n utvecklarens perspektiv<\/h2>\n<p>\nTidigare b\u00f6rjade vi prata om en applikation f\u00f6r en webbshop. I den traditionella metoden utf\u00f6r det monolitiska programmet huvuddelen av systemlogiken. Och servern med applikationen \u00e4r alltid ig\u00e5ng, \u00e4ven om det inte finns n\u00e5gon belastning.<\/p>\n<p><strong>F\u00f6r att \u00f6verg\u00e5 till serverl\u00f6sa l\u00f6sningar delar vi upp applikationen i mikrouppgifter.<\/strong> F\u00f6r var och en av dem skriver vi v\u00e5r egen funktion. Funktionerna \u00e4r oberoende av varandra och lagrar ingen tillst\u00e5ndsinformation (stateless). De kan till och med skrivas p\u00e5 olika spr\u00e5k. Om en av dem \"faller\" kommer applikationen inte helt att stanna. Applikationens arkitektur kommer att se ut s\u00e5 h\u00e4r:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless i stycken\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIndelningen i funktioner i Serverless liknar arbetet med mikrotj\u00e4nster. Men en mikrotj\u00e4nst kan utf\u00f6ra flera uppgifter medan en funktion i idealfallet ska utf\u00f6ra en enda. T\u00e4nk p\u00e5 att vi har som uppgift att samla statistik och returnera den p\u00e5 beg\u00e4ran av anv\u00e4ndaren. I en mikrotj\u00e4nstansats utf\u00f6r en tj\u00e4nst uppgiften med tv\u00e5 ing\u00e5ngspunkter: en f\u00f6r skrivning och en f\u00f6r l\u00e4sning. I serverl\u00f6sa ber\u00e4kningar blir det tv\u00e5 olika funktioner som inte \u00e4r kopplade till varandra. Utvecklaren sparar datorkapacitet om till exempel statistiken uppdateras oftare \u00e4n den laddas ner. <\/p>\n<p>Serverless-funktioner m\u00e5ste k\u00f6ras under en kort tidsperiod (timeout) som definieras av tj\u00e4nsteleverant\u00f6ren. Till exempel \u00e4r timeouten f\u00f6r AWS 15 minuter. Det betyder att l\u00e5ngvariga funktioner (long-lived) m\u00e5ste justeras enligt kraven \u2013 detta \u00e4r vad Serverless skiljer sig fr\u00e5n andra idag popul\u00e4ra teknologier (containrar och Platform as a Service).<\/p>\n<p><strong>Vi tilldelar varje funktion en h\u00e4ndelse.<\/strong> En h\u00e4ndelse \u00e4r en trigger f\u00f6r en \u00e5tg\u00e4rd:<\/p>\n<p><strong>H\u00e4ndelse<\/strong><br \/>\n<strong>\u00c5tg\u00e4rden som funktionen utf\u00f6r<\/strong><\/p>\n<p>En bild p\u00e5 produkten har laddats upp till lagret<br \/>\nKomprimera bilden och ladda upp den till katalogen<\/p>\n<p>Adressen till den fysiska butiken har uppdaterats i databasen<br \/>\nL\u00e4gg till den nya platsen p\u00e5 kartorna<\/p>\n<p>Kunden betalar f\u00f6r produkten<br \/>\nStarta betalningsbehandlingen<\/p>\n<p>H\u00e4ndelser kan vara HTTP-f\u00f6rfr\u00e5gningar, str\u00f6mmande data, meddelandek\u00f6er och s\u00e5 vidare. K\u00e4llor till h\u00e4ndelser \u00e4r f\u00f6r\u00e4ndringar eller tillkommande data. Dessutom kan funktioner startas enligt en timer.<\/p>\n<p>Arkitekturen har arbetats fram och applikationen har n\u00e4stan blivit serverl\u00f6s. N\u00e4sta steg \u00e4r att g\u00e5 till tj\u00e4nsteleverant\u00f6ren.<\/p>\n<h2>Fr\u00e5n tj\u00e4nsteleverant\u00f6rens sida<\/h2>\n<p>\nServerl\u00f6sa ber\u00e4kningar erbjuds vanligtvis av molntj\u00e4nstleverant\u00f6rer. De kallas p\u00e5 olika s\u00e4tt: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Vi kommer att anv\u00e4nda tj\u00e4nsten via konsolen eller tj\u00e4nsteleverant\u00f6rens personliga konto. Koden f\u00f6r funktionerna kan laddas upp p\u00e5 ett av f\u00f6ljande s\u00e4tt:<\/p>\n<ul>\n<li>skapa kod i inbyggda editorer via webbkonsolen,<\/li>\n<li>ladda upp ett arkiv med koden,<\/li>\n<li>arbeta med offentliga eller privata git-repositorier.<\/li>\n<\/ul>\n<p>\nH\u00e4r konfigurerar vi h\u00e4ndelser som utl\u00f6ser funktionen. Olika leverant\u00f6rer kan ha olika upps\u00e4ttningar av h\u00e4ndelser.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless i stycken\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Leverant\u00f6ren har byggt och automatiserat en Function as a Service (FaaS) system p\u00e5 sin infrastruktur:<\/p>\n<ol>\n<li>Funktionernas kod lagras p\u00e5 leverant\u00f6rens sida.<\/li>\n<li>N\u00e4r en h\u00e4ndelse intr\u00e4ffar startas automatiskt containrar med en f\u00f6rberedd milj\u00f6 p\u00e5 servern. Varje instans av funktionen har sin egen isolerade container.<\/li>\n<li>Fr\u00e5n lagringen skickas funktionen till containern, ber\u00e4knas och ger ett resultat.<\/li>\n<li>Antalet parallella h\u00e4ndelser \u00f6kar \u2013 antalet containrar \u00f6kar. Systemet skalas automatiskt. Om anv\u00e4ndare inte anropar funktionen kommer den att vara inaktiv.<\/li>\n<li>Leverant\u00f6ren st\u00e4ller in tidsgr\u00e4nsen f\u00f6r containrarna \u2013 om funktioner inte dyker upp i containern under denna tid kommer den att raderas.<\/li>\n<\/ol>\n<p>\nP\u00e5 s\u00e5 s\u00e4tt f\u00e5r vi Serverless \"out-of-the-box\". Vi betalar f\u00f6r tj\u00e4nsten enligt pay-as-you-go-modellen och endast f\u00f6r de funktioner som anv\u00e4nds, och endast f\u00f6r den tid de anv\u00e4ndes.<\/p>\n<p>F\u00f6r att introducera utvecklare till tj\u00e4nsten erbjuder leverant\u00f6rer upp till 12 m\u00e5naders gratis testning, men begr\u00e4nsar den totala ber\u00e4kningstiden, antalet f\u00f6rfr\u00e5gningar per m\u00e5nad, belopp eller den effekt som anv\u00e4nds.<\/p>\n<p>Den st\u00f6rsta f\u00f6rdelen med att arbeta med en leverant\u00f6r \u00e4r m\u00f6jligheten att slippa oroa sig f\u00f6r infrastrukturen (servrar, virtuella maskiner, containrar). Fr\u00e5n sin sida kan leverant\u00f6ren implementera FaaS b\u00e5de med egna l\u00f6sningar och med hj\u00e4lp av open-source verktyg. Om detta ska vi prata l\u00e4ngre fram.<\/p>\n<h2>Fr\u00e5n sidan av open source<\/h2>\n<p>\nDe senaste ett par \u00e5ren har open-source gemenskapen aktivt arbetat med verktyg f\u00f6r Serverless. Stora marknadsakt\u00f6rer bidrar ocks\u00e5 till utvecklingen av serverl\u00f6sa plattformar:<\/p>\n<ul>\n<li><strong>Google<\/strong> erbjuder utvecklare sitt open-source verktyg \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. I utvecklingen deltog IBM, RedHat, Pivotal och SAP;<\/li>\n<li><strong>IBM<\/strong> har arbetat med Serverless-plattformen <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, som senare blev ett projekt under Apache Foundation;<\/li>\n<li><strong>Microsoft<\/strong> har delvis \u00f6ppnat koden f\u00f6r plattformen <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nUtveckling p\u00e5g\u00e5r ocks\u00e5 inom omr\u00e5det serverless-ramverk. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> installeras inuti f\u00f6rberedda Kubernetes-kluster, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> fungerar b\u00e5de med Kubernetes och Docker Swarm. Ramverket fungerar som en speciell kontroller - p\u00e5 beg\u00e4ran f\u00f6rbereder det en k\u00f6rmilj\u00f6 inuti klustret och startar sedan funktionen d\u00e4r.<\/p>\n<p>Ramverken ger utrymme f\u00f6r att konfigurera verktyget efter sina behov. S\u00e5 i Kubeless kan utvecklaren st\u00e4lla in timeout f\u00f6r funktionen (standardv\u00e4rdet \u00e4r 180 sekunder). Fission f\u00f6rs\u00f6ker l\u00f6sa problemet med kallstart genom att h\u00e5lla en del av containrarna alltid p\u00e5slagna (\u00e4ven om det inneb\u00e4r kostnader f\u00f6r resurser). OpenFaaS erbjuder en m\u00e4ngd olika triggeralternativ: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs och flera andra.<\/p>\n<p>Instruktionerna f\u00f6r att komma ig\u00e5ng kan hittas i den officiella dokumentationen f\u00f6r ramverken. Att arbeta med dem kr\u00e4ver n\u00e5got fler f\u00e4rdigheter \u00e4n med en leverant\u00f6r - minst att kunna k\u00f6ra en Kubernetes-kluster via CLI. Som mest, inkludera andra open-source verktyg (som k\u00f6hanteraren Kafka).<\/p>\n<p>Oavsett vilken metod vi anv\u00e4nder f\u00f6r att arbeta med Serverless - genom en leverant\u00f6r eller med open-source - kommer vi att f\u00e5 en rad f\u00f6rdelar och nackdelar med Serverless-ansatsen.<\/p>\n<h2>Ur perspektivet av f\u00f6rdelar och nackdelar<\/h2>\n<p>\nServerless bygger vidare p\u00e5 id\u00e9erna om containerinfrastruktur och mikrotj\u00e4nstansats, d\u00e4r team kan arbeta i ett flerspr\u00e5kigt l\u00e4ge utan att binda sig till en plattform. Byggandet av systemet f\u00f6renklas och det blir l\u00e4ttare att \u00e5tg\u00e4rda fel. Mikrotj\u00e4nstarkitekturen m\u00f6jligg\u00f6r snabbare till\u00e4gg av ny funktionalitet till systemet j\u00e4mf\u00f6rt med ett monolitiskt program.<\/p>\n<p><strong>Serverless minskar utvecklingstiden ytterligare,<\/strong> vilket g\u00f6r att utvecklaren kan fokusera enbart p\u00e5 aff\u00e4rslogik och kodskrivning. F\u00f6ljaktligen minskar tiden f\u00f6r att f\u00e5 ut utvecklingarna p\u00e5 marknaden.<\/p>\n<p><strong>Som en bonus f\u00e5r vi automatisk skalning under belastning,<\/strong> och vi betalar endast f\u00f6r de resurser som anv\u00e4nds och endast n\u00e4r de anv\u00e4nds.<\/p>\n<p>Som med all teknik har Serverless nackdelar.<\/p>\n<p><em>Till exempel kan en s\u00e5dan nackdel vara kallstarttiden (i genomsnitt upp till 1 sekund f\u00f6r spr\u00e5k som JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>\u00c5 ena sidan beror kallstarttiden i praktiken p\u00e5 m\u00e5nga variabler: programmeringsspr\u00e5ket som funktionen \u00e4r skriven i, antalet bibliotek, kodvolymen och kommunikationen med extra resurser (som databaser eller autentiseringstj\u00e4nster). Eftersom utvecklaren kan hantera dessa variabler kan han minska starttiden. Men \u00e5 andra sidan kan utvecklaren inte p\u00e5verka tids\u00e5tg\u00e5ngen f\u00f6r att starta containern \u2013 det beror helt p\u00e5 leverant\u00f6ren.<\/p>\n<p>Kallstart kan bli en varm start n\u00e4r funktionen \u00e5teranv\u00e4nder en container som tidigare k\u00f6rdes av en h\u00e4ndelse. Denna situation uppst\u00e5r i tre fall:<\/p>\n<ul>\n<li>om kunderna ofta anv\u00e4nder tj\u00e4nsten och antalet anrop till funktionen \u00f6kar;<\/li>\n<li>om leverant\u00f6ren, plattformen eller ramverket till\u00e5ter att vissa containrar h\u00e5lls alltid ig\u00e5ng;<\/li>\n<li>om utvecklaren k\u00f6r funktioner p\u00e5 en timer (s\u00e4g var tredje minut).<\/li>\n<\/ul>\n<p>\nF\u00f6r m\u00e5nga applikationer utg\u00f6r kallstart inte ett problem. H\u00e4r beh\u00f6ver man ta h\u00e4nsyn till typen och syftet med tj\u00e4nsten. En f\u00f6rdr\u00f6jning p\u00e5 en sekund \u00e4r inte alltid kritisk f\u00f6r en aff\u00e4rsapplikation, men kan bli kritisk f\u00f6r medicinska tj\u00e4nster. F\u00f6rmodligen passar inte en serverl\u00f6s strategi i s\u00e5dana fall l\u00e4ngre.<\/p>\n<p><em>Den n\u00e4sta nackdelen med Serverless \u00e4r den korta livscykeln f\u00f6r funktionen (timeout, som anger hur l\u00e4nge funktionen m\u00e5ste k\u00f6ras).<\/em><\/p>\n<p>Men om man planerar att arbeta med l\u00e5ngvariga uppgifter kan man anv\u00e4nda en hybridarkitektur \u2013 kombinera Serverless med en annan teknologi.<\/p>\n<p><em>Inte alla system kan fungera enligt Serverless-modellen.<\/em><\/p>\n<p>Vissa applikationer kommer fortfarande att lagra data och tillst\u00e5nd under k\u00f6rning. Vissa arkitekturer kommer att f\u00f6rbli monolitiska, medan vissa funktioner kommer att ha l\u00e5ng livsl\u00e4ngd. Men precis som med molnteknologier och sedan containrar, har Serverless en ljus framtid.<\/p>\n<p>I det h\u00e4r sammanhanget skulle jag vilja smidigt \u00f6verg\u00e5 till fr\u00e5gan om till\u00e4mpningen av Serverless-ansatsen.<\/p>\n<h2>N\u00e4r det g\u00e4ller till\u00e4mpning<\/h2>\n<p>\nUnder 2018 \u00f6kade andelen anv\u00e4ndning av Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">med en och en halv g\u00e5ng<\/a><\/noindex>. Bland f\u00f6retag som redan har implementerat teknologin i sina tj\u00e4nster finns marknadsj\u00e4ttar som Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Samtidigt m\u00e5ste man f\u00f6rst\u00e5 att Serverless inte \u00e4r en universall\u00f6sning utan ett verktyg f\u00f6r att l\u00f6sa en viss m\u00e4ngd problem:<\/p>\n<ul>\n<li><strong>Minska resurssl\u00f6seriet.<\/strong> Det \u00e4r inte n\u00f6dv\u00e4ndigt att st\u00e4ndigt ha en virtuell maskin f\u00f6r tj\u00e4nster med f\u00e5 f\u00f6rfr\u00e5gningar.<\/li>\n<li><strong>Behandla data \"on-the-fly\".<\/strong> Komprimera bilder, ta bort bakgrunder, \u00e4ndra videokodning, arbeta med IoT-sensorer, utf\u00f6ra matematiska operationer.\n<\/li>\n<li><strong>\"Koppla ihop\" andra tj\u00e4nster.<\/strong> Git-repositorium med interna program, en chattbot i Slack kopplad till Jira och kalendern.<\/li>\n<li><strong>Lastbalansera.<\/strong> H\u00e4r stannar vi f\u00f6r att g\u00e5 in mer i detalj.<\/li>\n<\/ul>\n<p>\nL\u00e5t oss s\u00e4ga att det finns en tj\u00e4nst som f\u00e5r 50 bes\u00f6kare. Den \u00e4r knuten till en virtuell maskin med svag h\u00e5rdvara. Periodvis \u00f6kar belastningen p\u00e5 tj\u00e4nsten flera g\u00e5nger. D\u00e5 klarar inte den svaga h\u00e5rdvaran av det.<\/p>\n<p>Det \u00e4r m\u00f6jligt att inkludera en lastbalanserare i systemet som distribuerar belastningen, l\u00e5t oss s\u00e4ga, p\u00e5 tre virtuella maskiner. I det h\u00e4r skedet kan vi inte exakt f\u00f6ruts\u00e4ga belastningen, s\u00e5 vi h\u00e5ller ett antal resurser ig\u00e5ng \"som reserv\". Och vi betalar \u00f6verpris f\u00f6r inaktivitet. <\/p>\n<p>I en s\u00e5dan situation kan vi optimera systemet med en hybridmetod: kvarl\u00e4mna en virtuell maskin bakom lastbalanseraren och s\u00e4tta en l\u00e4nk till Serverless Endpoint med funktioner. Om belastningen \u00f6verskrider en viss niv\u00e5 startar lastbalanseraren instanser av funktioner som tar hand om en del av f\u00f6rfr\u00e5gningarna.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless i stycken\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00e5 s\u00e5 s\u00e4tt kan Serverless anv\u00e4ndas d\u00e4r det \u00e4r n\u00f6dv\u00e4ndigt att intensivt bearbeta ett stort antal f\u00f6rfr\u00e5gningar, \u00e4ven om det inte \u00e4r s\u00e5 ofta. I det fallet \u00e4r det mer f\u00f6rdelaktigt att k\u00f6ra flera funktioner under 15 minuter \u00e4n att hela tiden ha en virtuell maskin eller server ig\u00e5ng.<\/p>\n<p>Trots alla f\u00f6rdelar med serverl\u00f6sa ber\u00e4kningar \u00e4r det viktigt att f\u00f6rst utv\u00e4rdera logiken i applikationen och f\u00f6rst\u00e5 vilka uppgifter Serverless kan l\u00f6sa i det specifika fallet. <\/p>\n<h2>Serverless och Selectel<\/h2>\n<p>\nHos Selectel har vi redan <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\">f\u00f6renklat arbetet med Kubernetes<\/a><\/noindex> genom v\u00e5r kontrollpanel. Nu bygger vi en egen FaaS-plattform. Vi vill att utvecklare ska kunna l\u00f6sa sina uppgifter med hj\u00e4lp av Serverless genom ett bekv\u00e4mt, flexibelt gr\u00e4nssnitt.<\/p>\n<p>Om du har id\u00e9er om hur den perfekta FaaS-plattformen ska se ut och hur du vill anv\u00e4nda Serverless i dina projekt, dela dem g\u00e4rna i kommentarerna. Vi kommer att beakta dina \u00f6nskem\u00e5l vid utvecklingen av plattformen.<br \/>\n\u00a0<br \/>\nMaterial som anv\u00e4nts i artikeln:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">Anv\u00e4ndningen av Serverless har \u00f6kat med en och en halv g\u00e5ng (fullst\u00e4ndig rapport fr\u00e5n RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Hur den kalla starttiden beror p\u00e5 applikationsspr\u00e5ket<\/a><\/noindex><\/li>\n<\/ul>\n<p>K\u00e4lla: <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\/sv\/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=\"sv_SE\" \/>\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\/sv\/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 i punkter | ProHoster","description":"Serverless handlar inte om fysisk avsaknad av servrar.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}