{"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\/de\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless nach Racks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless nach Racks\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless bedeutet nicht, dass es physisch keine Server gibt. Es ist kein \u201eKiller\u201c f\u00fcr Container und kein vor\u00fcbergehender Trend. Es ist ein neuer Ansatz zur Entwicklung von Cloud-Systemen. In diesem Artikel werden wir die Architektur von Serverless-Anwendungen behandeln, die Rolle des Serverless-Dienstanbieters und Open-Source-Projekte beleuchten. Am Ende sprechen wir \u00fcber die Anwendungsm\u00f6glichkeit von Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIch m\u00f6chte den Serverteil der Anwendung schreiben (zum Beispiel eines Onlineshops). Das kann ein Chat sein, ein Dienst zur Ver\u00f6ffentlichung von Inhalten oder ein Lastverteiler. In jedem Fall wird es einige Kopfschmerzen geben: Ich muss die Infrastruktur vorbereiten, die Abh\u00e4ngigkeiten der Anwendung definieren und \u00fcber das Betriebssystem des Hosts nachdenken. Anschlie\u00dfend muss ich kleine Komponenten aktualisieren, die die Funktionalit\u00e4t des restlichen Monolithen nicht beeintr\u00e4chtigen. Und wir sollten das Skalieren unter Last nicht vergessen.<\/p>\n<p>Was, wenn wir fl\u00fcchtige Container verwenden, in denen die erforderlichen Abh\u00e4ngigkeiten bereits vorinstalliert sind, und die Container zudem voneinander und vom Host-Betriebssystem isoliert sind? Den Monolith zerlegen wir in Mikrodienste, die unabh\u00e4ngig voneinander aktualisiert und skaliert werden k\u00f6nnen. Indem ich den Code in einen solchen Container lege, kann ich ihn auf jeder Infrastruktur ausf\u00fchren. Das klingt schon besser. <\/p>\n<p>Was ist, wenn ich keine Container konfigurieren m\u00f6chte? Wenn ich nicht \u00fcber das Skalieren der Anwendung nachdenken m\u00f6chte? Wenn ich nicht f\u00fcr die Leerlaufzeit der gestarteten Container bezahlen m\u00f6chte, wenn die Last auf den Dienst minimal ist? Ich m\u00f6chte Code schreiben. Mich auf die Gesch\u00e4ftslogik konzentrieren und Produkte mit Lichtgeschwindigkeit auf den Markt bringen. <\/p>\n<p>Diese Gedanken f\u00fchrten mich zu serverlosen Berechnungen. Serverless bedeutet in diesem Fall <em>nicht das physische Fehlen von Servern, sondern das Fehlen von Kopfschmerzen bei der Verwaltung der Infrastruktur.<\/em><\/p>\n<p>Die Idee ist, dass die Logik der Anwendung in unabh\u00e4ngige Funktionen aufgeteilt wird. Diese haben eine ereignisgesteuerte Struktur. Jede Funktion erf\u00fcllt eine \u201eMikroaufgabe\u201c. Alles, was vom Entwickler gefordert wird, ist, die Funktionen in der von dem Cloud-Anbieter bereitgestellten Konsole hochzuladen und sie mit den Ereignisquellen zu verkn\u00fcpfen. Der Code wird auf Anfrage in einem automatisch vorbereiteten Container ausgef\u00fchrt, und ich zahle nur f\u00fcr die Ausf\u00fchrungszeit. <\/p>\n<p>Lass uns anschauen, wie der Entwicklungsprozess f\u00fcr die Anwendung jetzt aussehen wird.<\/p>\n<h2>Aus Sicht des Entwicklers<\/h2>\n<p>\nFr\u00fcher haben wir \u00fcber eine Anwendung f\u00fcr den Online-Shop gesprochen. In einem traditionellen Ansatz wird die Hauptlogik des Systems von einer monolithischen Anwendung ausgef\u00fchrt. Und der Server mit der Anwendung l\u00e4uft st\u00e4ndig, auch wenn keine Last vorhanden ist.<\/p>\n<p><strong>Um zu serverless zu wechseln, zerlegen wir die Anwendung in Mikrotasks.<\/strong> F\u00fcr jede von ihnen schreiben wir eine eigene Funktion. Die Funktionen sind unabh\u00e4ngig voneinander und speichern keine Zustandsinformationen (stateless). Sie k\u00f6nnen sogar in verschiedenen Sprachen geschrieben werden. Wenn eine von ihnen \u201eausf\u00e4llt\u201c, wird die gesamte Anwendung nicht gestoppt. Die Architektur der Anwendung sieht dann so aus:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless nach Racks\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDie Aufteilung in Funktionen im Serverless \u00e4hnelt der Arbeit mit Mikrodiensten. Doch ein Mikrodienst kann mehrere Aufgaben erf\u00fcllen, w\u00e4hrend eine Funktion idealerweise nur eine Aufgabe erf\u00fcllen sollte. Stellen wir uns vor, es gibt die Aufgabe, Statistiken zu sammeln und auf Anfrage des Benutzers auszugeben. Im mikrodienstlichen Ansatz erledigt ein Dienst diese Aufgabe \u00fcber zwei Eingabepunkte: einen f\u00fcr das Schreiben und einen f\u00fcr das Lesen. In der serverlosen Architektur sind dies zwei separate Funktionen, die nicht miteinander verbunden sind. Der Entwickler spart Rechenressourcen, wenn beispielsweise die Statistik h\u00e4ufiger aktualisiert wird, als sie abgerufen wird. <\/p>\n<p>Serverless-Funktionen m\u00fcssen innerhalb eines kurzen Zeitrahmens (timeout), der vom Dienstanbieter festgelegt wird, ausgef\u00fchrt werden. Zum Beispiel betr\u00e4gt der Timeout f\u00fcr AWS 15 Minuten. Das bedeutet, dass langlebige Funktionen (long-lived) an diese Anforderungen angepasst werden m\u00fcssen \u2013 so unterscheidet sich Serverless von anderen heute beliebten Technologien (Containern und Platform as a Service).<\/p>\n<p><strong>Jeder Funktion weisen wir ein Ereignis zu.<\/strong> Ein Ereignis ist ein Ausl\u00f6ser f\u00fcr eine Aktion:<\/p>\n<p><strong>Ereignis<\/strong><br \/>\n<strong>Die Aktion, die die Funktion ausf\u00fchrt<\/strong><\/p>\n<p>Ein Bild des Produkts wurde im Speicher hochgeladen<br \/>\nBild komprimieren und in das Verzeichnis hochladen<\/p>\n<p>Die Adresse des physischen Gesch\u00e4fts wurde in der Datenbank aktualisiert<br \/>\nNeuen Standort in Karten laden<\/p>\n<p>Der Kunde bezahlt das Produkt<br \/>\nZahlungsverarbeitung starten<\/p>\n<p>Ereignisse k\u00f6nnen HTTP-Anfragen, Streaming-Daten, Warteschlangen f\u00fcr Nachrichten usw. sein. Die Quellen der Ereignisse sind \u00c4nderungen oder das Auftreten von Daten. Dar\u00fcber hinaus k\u00f6nnen Funktionen auch nach einem Timer gestartet werden.<\/p>\n<p>Die Architektur wurde erarbeitet und die Anwendung ist fast serverlos geworden. Jetzt gehen wir zum Dienstanbieter \u00fcber.<\/p>\n<h2>Vom Anbieter aus<\/h2>\n<p>\nNormalerweise bieten Cloud-Dienstanbieter serverless Computing an. Sie werden unterschiedlich benannt: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Wir werden den Dienst \u00fcber die Konsole oder das pers\u00f6nliche Konto des Anbieters nutzen. Den Funktionscode k\u00f6nnen wir auf eine der folgenden Arten hochladen:<\/p>\n<ul>\n<li>den Code in eingebetteten Editoren \u00fcber die Webkonsole schreiben,<\/li>\n<li>ein Archiv mit dem Code hochladen,<\/li>\n<li>oder mit \u00f6ffentlichen oder privaten Git-Repositories arbeiten.<\/li>\n<\/ul>\n<p>\nHier konfigurieren wir auch die Ereignisse, die die Funktion aufrufen. Bei verschiedenen Anbietern k\u00f6nnen die Ereignissets unterschiedlich sein.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless nach Racks\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Der Anbieter hat auf seiner Infrastruktur ein System f\u00fcr Function as a Service (FaaS) aufgebaut und automatisiert:<\/p>\n<ol>\n<li>Der Funktionscode gelangt in ein Speicher auf der Seite des Anbieters.<\/li>\n<li>Wenn ein Ereignis auftritt, werden automatisch Container mit der vorbereiteten Umgebung auf dem Server bereitgestellt. Jeder Instanz der Funktion steht ein eigener isolierter Container zur Verf\u00fcgung.<\/li>\n<li>Aus dem Speicher wird die Funktion in den Container gesendet, berechnet und gibt das Ergebnis zur\u00fcck.<\/li>\n<li>Die Anzahl der parallelen Ereignisse w\u00e4chst \u2013 die Anzahl der Container w\u00e4chst. Das System skaliert automatisch. Wenn keine Nutzer auf die Funktion zugreifen, bleibt sie inaktiv.<\/li>\n<li>Der Anbieter legt die Leerlaufzeit der Container fest \u2013 wenn innerhalb dieser Zeit keine Funktionen im Container erscheinen, wird er zerst\u00f6rt.<\/li>\n<\/ol>\n<p>\nAuf diese Weise erhalten wir Serverless \u201eout of the box\u201c. Wir zahlen f\u00fcr den Dienst nach dem Modell pay-as-you-go und nur f\u00fcr die Funktionen, die genutzt werden, und nur f\u00fcr die Zeit, in der sie genutzt wurden.<\/p>\n<p>Um Entwicklern den Dienst vorzustellen, bieten die Anbieter bis zu 12 Monate kostenlose Testphase an, schr\u00e4nken jedoch die gesamte Rechenzeit, die Anfragen pro Monat, die finanziellen Mittel oder die verbrauchten Ressourcen ein.<\/p>\n<p>Der gr\u00f6\u00dfte Vorteil der Zusammenarbeit mit einem Anbieter ist die M\u00f6glichkeit, sich keine Gedanken \u00fcber die Infrastruktur (Server, virtuelle Maschinen, Container) machen zu m\u00fcssen. Der Anbieter kann FaaS sowohl mit eigenen Entwicklungen als auch mit Open-Source-Tools umsetzen. Dar\u00fcber werden wir gleich sprechen.<\/p>\n<h2>Auf der Seite von Open Source<\/h2>\n<p>\nHat die Open-Source-Community in den letzten paar Jahren aktiv an Serverless-Tools gearbeitet. Unter anderem haben die gr\u00f6\u00dften Akteure des Marktes zur Entwicklung von serverlosen Plattformen beigetragen:<\/p>\n<ul>\n<li><strong>Google<\/strong> bietet den Entwicklern sein Open-Source-Tool an \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. An seiner Entwicklung waren IBM, RedHat, Pivotal und SAP beteiligt;<\/li>\n<li><strong>IBM<\/strong> arbeitete an der Serverless-Plattform <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, die dann ein Projekt der Apache Foundation wurde;<\/li>\n<li><strong>von Microsoft<\/strong> hat teilweise den Code der Plattform <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nEntwicklungen erfolgen auch im Bereich der Serverless-Frameworks. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission entwickelt wird<\/a><\/noindex> die innerhalb von zuvor vorbereiteten Kubernetes-Clustern bereitgestellt werden, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> funktioniert sowohl mit Kubernetes als auch mit Docker Swarm. Das Framework agiert als eine Art Controller \u2013 auf Anfrage bereitet es innerhalb des Clusters eine Laufzeitumgebung vor und startet dann die Funktion.<\/p>\n<p>Frameworks bieten Spielraum f\u00fcr die Konfiguration des Tools nach eigenen Bed\u00fcrfnissen. So kann im Kubeless der Entwickler das Timeout f\u00fcr die Ausf\u00fchrung der Funktion einstellen (Standardwert: 180 Sekunden). Fission versucht, das Problem des Cold Starts zu l\u00f6sen, indem es einige Container st\u00e4ndig laufen l\u00e4sst (obwohl dies Kosten f\u00fcr ungenutzte Ressourcen verursacht). OpenFaaS bietet eine Vielzahl von Triggern f\u00fcr jeden Geschmack: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs und weitere.<\/p>\n<p>Anleitungen zum Einstieg sind in der offiziellen Dokumentation der Frameworks zu finden. Die Arbeit mit ihnen erfordert etwas mehr F\u00e4higkeiten als die Arbeit mit einem Anbieter \u2013 das mindestens beinhaltet, einen Kubernetes-Cluster \u00fcber die CLI zu starten. Im besten Fall werden andere Open-Source-Tools (zum Beispiel einen Kafka-Queue-Manager) integriert.<\/p>\n<p>Unabh\u00e4ngig davon, ob wir mit Serverless \u00fcber einen Anbieter oder mithilfe von Open-Source arbeiten, erhalten wir eine Reihe von Vor- und Nachteilen des Serverless-Ansatzes.<\/p>\n<h2>Aus der Perspektive von Vor- und Nachteilen<\/h2>\n<p>\nentwickelt Serverless die Ideen der Container-Infrastruktur und des Mikroservice-Ansatzes weiter, bei denen Teams in einem mehrsprachigen Modus arbeiten k\u00f6nnen, ohne an eine Plattform gebunden zu sein. Der Aufbau des Systems wird vereinfacht, und das Beheben von Fehlern wird leichter. Die mikroservicebasierte Architektur erm\u00f6glicht das Hinzuf\u00fcgen neuer Funktionalit\u00e4ten zum System wesentlich schneller als bei einer monolithischen Anwendung.<\/p>\n<p><strong>Serverless verk\u00fcrzt die Entwicklungszeit noch weiter,<\/strong> indem es dem Entwickler erm\u00f6glicht, sich ausschlie\u00dflich auf die Gesch\u00e4ftslogik der Anwendung und das Schreiben von Code zu konzentrieren. Als Folge davon verk\u00fcrzt sich die Time-to-Market der Entwicklungen.<\/p>\n<p><strong>Als Bonus erhalten wir automatisches Scaling unter Last,<\/strong> und zahlen nur f\u00fcr die genutzten Ressourcen und nur in der Zeit, in der sie genutzt werden.<\/p>\n<p>Wie jede Technologie hat auch Serverless Nachteile.<\/p>\n<p><em>Ein solcher Nachteil kann die Zeit des kalten Starts sein (im Durchschnitt bis zu 1 Sekunde f\u00fcr Sprachen wie JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>Einerseits h\u00e4ngt die tats\u00e4chliche Zeit des Kaltstarts von vielen Variablen ab: der Programmiersprache, in der die Funktion geschrieben ist, der Anzahl der Bibliotheken, dem Codeumfang und der Kommunikation mit zus\u00e4tzlichen Ressourcen (wie Datenbanken oder Authentifizierungsservern). Da der Entwickler diese Variablen steuern kann, kann er die Startzeit verk\u00fcrzen. Andererseits kann der Entwickler jedoch nicht die Zeit steuern, die zum Start des Containers ben\u00f6tigt wird \u2013 hier h\u00e4ngt alles vom Anbieter ab.<\/p>\n<p>Ein Kaltstart kann zu einem Warmstart werden, wenn die Funktion den zuvor von einem Event betriebenen Container wiederverwendet. Diese Situation tritt in drei F\u00e4llen auf:<\/p>\n<ul>\n<li>wenn die Kunden den Service h\u00e4ufig nutzen und die Anzahl der Funktionsaufrufe steigt;<\/li>\n<li>wenn der Anbieter, die Plattform oder das Framework es erlauben, dass Teile der Container st\u00e4ndig laufen;<\/li>\n<li>wenn der Entwickler Funktionen nach einem Timer (zum Beispiel alle 3 Minuten) startet.<\/li>\n<\/ul>\n<p>\nF\u00fcr viele Anwendungen ist ein Kaltstart kein Problem. Hier kommt es auf die Art und die Aufgaben des Dienstes an. Eine Startverz\u00f6gerung von einer Sekunde ist nicht immer kritisch f\u00fcr eine biznesanwendung, kann jedoch f\u00fcr medizinische Dienste entscheidend sein. Wahrscheinlich w\u00e4re in diesem Fall der serverlose Ansatz nicht mehr geeignet.<\/p>\n<p><em>Ein weiterer Nachteil von Serverless ist die kurze Lebensdauer der Funktion (Timeout, innerhalb dessen die Funktion ausgef\u00fchrt werden muss).<\/em><\/p>\n<p>Wenn man jedoch mit langanhaltenden Aufgaben arbeiten muss, kann eine hybride Architektur verwendet werden \u2013 eine Kombination aus Serverless und einer anderen Technologie.<\/p>\n<p><em>Nicht alle Systeme k\u00f6nnen nach dem Serverless-Modell betrieben werden.<\/em><\/p>\n<p>Einige Anwendungen werden weiterhin Daten und Zust\u00e4nde w\u00e4hrend der Ausf\u00fchrung speichern. Manche Architekturen bleiben monolithisch, w\u00e4hrend einige Funktionen langanhaltend sein werden. Doch (wie einst Cloud-Technologien und sp\u00e4ter Container) ist Serverless eine Technologie mit einer gro\u00dfen Zukunft.<\/p>\n<p>In diesem Zusammenhang m\u00f6chte ich sanft \u00fcber die Anwendung des Serverless-Ansatzes \u00fcberleiten.<\/p>\n<h2>Aus der Anwendungsperspektive<\/h2>\n<p>\nIm Jahr 2018 wuchs der Anteil der Nutzung von Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">um das 1,5-fache<\/a><\/noindex>. Zu den Unternehmen, die die Technologie bereits in ihre Dienste integriert haben, geh\u00f6ren Marktgiganten wie Twitter, PayPal, Netflix, T-Mobile und Coca-Cola. Dabei muss man verstehen, dass Serverless kein Allheilmittel ist, sondern ein Werkzeug zur L\u00f6sung bestimmter Aufgaben:<\/p>\n<ul>\n<li><strong>Die Stillstandszeiten der Ressourcen zu reduzieren.<\/strong> Es ist nicht notwendig, die virtuelle Maschine f\u00fcr Dienste, die selten genutzt werden, st\u00e4ndig am Laufen zu halten.<\/li>\n<li><strong>Daten \"in Echtzeit\" verarbeiten.<\/strong> Bilder komprimieren, Hintergr\u00fcnde ausschneiden, Video-Codierungen \u00e4ndern, mit IoT-Sensoren arbeiten, mathematische Operationen ausf\u00fchren.\n<\/li>\n<li><strong>\"Verkn\u00fcpfen\" Sie andere Dienste miteinander.<\/strong> Git-Repository mit internen Programmen, Chatbot in Slack mit Jira und Kalender.<\/li>\n<li><strong>Lastverteilung vornehmen.<\/strong> Hier bleiben wir detaillierter.<\/li>\n<\/ul>\n<p>\nAngenommen, es gibt einen Dienst, der von 50 Personen genutzt wird. Daf\u00fcr gibt es eine virtuelle Maschine mit schwacher Hardware. Gelegentlich steigt die Last auf den Dienst um ein Vielfaches. Dann kann die schwache Hardware nicht mithalten.<\/p>\n<p>Man kann einen Lastverteiler in das System einf\u00fcgen, der die Last beispielsweise auf drei virtuelle Maschinen verteilt. In dieser Phase k\u00f6nnen wir die Last nicht genau vorhersagen, daher halten wir einige Ressourcen \"auf Vorrat\" in Betrieb und zahlen zu viel f\u00fcr Leerlauf. <\/p>\n<p>In dieser Situation k\u00f6nnen wir das System \u00fcber einen hybriden Ansatz optimieren: Hinter dem Lastverteiler lassen wir eine virtuelle Maschine laufen und setzen einen Link zu einem Serverless Endpoint mit Funktionen. Wenn die Last den Schwellenwert \u00fcberschreitet, startet der Lastverteiler Instanzen von Funktionen, die einen Teil der Anfrageverarbeitung \u00fcbernehmen.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless nach Racks\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAuf diese Weise kann Serverless dort eingesetzt werden, wo man nicht allzu h\u00e4ufig, aber intensiv eine gro\u00dfe Anzahl von Anfragen verarbeiten muss. In diesem Fall ist es g\u00fcnstiger, mehrere Funktionen f\u00fcr 15 Minuten zu starten, anstatt st\u00e4ndig eine virtuelle Maschine oder einen Server am Laufen zu halten.<\/p>\n<p>Trotz aller Vorteile von serverlosen Berechnungen sollte vor der Implementierung zun\u00e4chst die Logik der Anwendung bewertet werden, um zu verstehen, welche Aufgaben Serverless in diesem speziellen Fall l\u00f6sen kann. <\/p>\n<h2>Serverless und Selectel<\/h2>\n<p>\nBei Selectel haben wir bereits <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\">die Arbeit mit Kubernetes vereinfacht<\/a><\/noindex> \u00fcber unser Bedienfeld. Jetzt bauen wir unsere eigene FaaS-Plattform. Wir m\u00f6chten, dass Entwickler ihre Aufgaben mithilfe von Serverless \u00fcber eine benutzerfreundliche, flexible Schnittstelle l\u00f6sen k\u00f6nnen.<\/p>\n<p>Wenn Sie Ideen haben, wie eine ideale FaaS-Plattform aussehen sollte und wie Sie Serverless in Ihren Projekten nutzen m\u00f6chten, teilen Sie uns Ihre Gedanken in den Kommentaren mit. Wir werden Ihre W\u00fcnsche bei der Entwicklung der Plattform ber\u00fccksichtigen.<br \/>\n\u00a0<br \/>\nVerwendete Materialien im Artikel:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">Der Anteil der Nutzung von Serverless ist um das Eineinhalbfache gestiegen (kompletter Bericht von RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Wie die Zeit des kalten Starts von der Programmiersprache abh\u00e4ngt<\/a><\/noindex><\/li>\n<\/ul>\n<p>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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 in kleinen Schritten | ProHoster","description":"Serverless \u2013 das bedeutet nicht das physische Fehlen von Servern.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}