{"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 im Detail","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless im Detail\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless bedeutet nicht, dass es keine Server gibt. Es ist kein \"M\u00f6rder\" f\u00fcr Container und auch kein kurzlebiger Trend. Es handelt sich um einen neuen Ansatz zur Erstellung von Systemen in der Cloud. In diesem Artikel werden wir die Architektur von Serverless-Anwendungen betrachten, die Rolle des Serverless-Dienstanbieters und Open-Source-Projekte beleuchten. Am Ende sprechen wir \u00fcber die Anwendungsfragen von Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIch m\u00f6chte den Backend-Bereich einer Anwendung (sogar eines Online-Shops) schreiben. Das kann ein Chat, ein Content-Ver\u00f6ffentlichungsdienst oder ein Load-Balancer sein. In jedem Fall wird es einige Herausforderungen geben: Du musst die Infrastruktur vorbereiten, die Abh\u00e4ngigkeiten der Anwendung definieren und dir Gedanken \u00fcber das Betriebssystem des Hosts machen. Dann musst du kleine Komponenten aktualisieren, die die Funktionalit\u00e4t des restlichen Monolithen nicht beeintr\u00e4chtigen. Und das Skalieren unter Last sollten wir auch nicht vergessen.<\/p>\n<p>Was w\u00e4re, wenn wir fl\u00fcchtige Container verwenden, in denen die ben\u00f6tigten Abh\u00e4ngigkeiten bereits vorinstalliert sind und die Container voneinander sowie vom Host-Betriebssystem isoliert sind? Wir zerteilen das Monolith in Mikrodienste, die unabh\u00e4ngig voneinander aktualisiert und skaliert werden k\u00f6nnen. Indem ich den Code in einen solchen Container packe, kann ich ihn auf jeder Infrastruktur ausf\u00fchren. Das klingt schon besser. <\/p>\n<p>Und was, wenn ich keine Container einrichten m\u00f6chte? Ich m\u00f6chte nicht \u00fcber die Skalierung der Anwendung nachdenken. Ich m\u00f6chte nicht f\u00fcr unt\u00e4tige Container zahlen, wenn die Auslastung des Dienstes minimal ist. Ich will einfach nur Code schreiben. Mich auf die Gesch\u00e4ftslogik konzentrieren und Produkte im Handumdrehen auf den Markt bringen. <\/p>\n<p>Diese \u00dcberlegungen f\u00fchrten mich zu serverlosen Computing. Serverless bedeutet in diesem Fall <em>nicht die physische Abwesenheit von Servern, sondern keine Kopfschmerzen beim Management der Infrastruktur.<\/em><\/p>\n<p>Die Idee besteht darin, die Logik der Anwendung in unabh\u00e4ngige Funktionen zu zerlegen. Diese haben eine ereignisgesteuerte Struktur. Jede Funktion f\u00fchrt eine \"Mikroaufgabe\" aus. Alles, was vom Entwickler verlangt wird, ist, die Funktionen in die von dem Cloud-Anbieter bereitgestellte Konsole hochzuladen und sie mit Ereignisquellen zu verkn\u00fcpfen. Der Code wird auf Anfrage in einem automatisch vorbereiteten Container ausgef\u00fchrt, und ich bezahle nur f\u00fcr die Ausf\u00fchrungszeit. <\/p>\n<p>Lassen Sie uns kl\u00e4ren, wie der Entwicklungsprozess f\u00fcr die Anwendung nun aussehen wird.<\/p>\n<h2>Vom Standpunkt des Entwicklers<\/h2>\n<p>\nFr\u00fcher haben wir \u00fcber eine Anwendung f\u00fcr einen Online-Shop gesprochen. Im traditionellen Ansatz wird die Hauptlogik des Systems von einer monolithischen Anwendung erf\u00fcllt. Der Server mit der Anwendung l\u00e4uft st\u00e4ndig, selbst wenn keine Last vorhanden ist.<\/p>\n<p><strong>Um zu serverless zu wechseln, zerlegen wir die Anwendung in Mikroaufgaben.<\/strong> F\u00fcr jede von ihnen schreiben wir unsere eigene Funktion. Die Funktionen sind unabh\u00e4ngig voneinander und speichern keine Informationen \u00fcber den Zustand (stateless). Sie k\u00f6nnen sogar in verschiedenen Sprachen geschrieben sein. Wenn eine von ihnen \"ausf\u00e4llt\", stoppt die gesamte Anwendung nicht. Die Architektur der Anwendung wird folgenderma\u00dfen aussehen:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless im Detail\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDie Funktionsteilung in Serverless \u00e4hnelt der Arbeit mit Mikroservices. Doch ein Mikroservice kann mehrere Aufgaben \u00fcbernehmen, w\u00e4hrend eine Funktion idealerweise eine einzige Aufgabe erf\u00fcllt. Stellen wir uns vor, es gilt, Statistiken zu sammeln und diese auf Anfrage des Benutzers auszugeben. Im mikroservicebasierten Ansatz wird dies von einem einzelnen Service mit zwei Eingabepunkten erledigt: f\u00fcr das Schreiben und f\u00fcr das Lesen. In der serverlosen Architektur w\u00e4ren das zwei voneinander unabh\u00e4ngige Funktionen. Der Entwickler spart Rechenressourcen, wenn beispielsweise die Statistiken h\u00e4ufiger aktualisiert werden als ausgegeben. <\/p>\n<p>Serverless-Funktionen m\u00fcssen innerhalb eines kurzen Zeitrahmens (Timeout) ausgef\u00fchrt werden, der vom Dienstanbieter vorgegeben wird. Bei AWS betr\u00e4gt das Timeout beispielsweise 15 Minuten. Das bedeutet, dass langlebige Funktionen (long-lived) an diese Anforderungen angepasst werden m\u00fcssen \u2013 genau das unterscheidet Serverless von anderen derzeit beliebten Technologien (Containern und Platform as a Service).<\/p>\n<p><strong>Jeder Funktion weisen wir ein Ereignis zu.<\/strong> Ein Ereignis ist ein Trigger f\u00fcr eine Aktion:<\/p>\n<p><strong>Ereignis<\/strong><br \/>\n<strong>Aktion, die die Funktion ausf\u00fchrt<\/strong><\/p>\n<p>Ein Bild des Produkts wurde in den 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 auf die Karten laden<\/p>\n<p>Der Kunde bezahlt das Produkt<br \/>\nZahlungsverarbeitung starten<\/p>\n<p>Ereignisse k\u00f6nnen HTTP-Anfragen, Streaming-Daten, Nachrichtenwarteschlangen und mehr sein. Die Ereignisquellen sind \u00c4nderungen oder das Auftreten von Daten. Zus\u00e4tzlich k\u00f6nnen Funktionen nach Zeitplan ausgef\u00fchrt werden.<\/p>\n<p>Die Architektur wurde ausgearbeitet, und die Anwendung ist fast serverlos geworden. Als n\u00e4chstes gehen wir zum Dienstanbieter \u00fcber.<\/p>\n<h2>Vom Anbieter aus<\/h2>\n<p>\nNormalerweise bieten cloudbasierte Dienstanbieter serverlose Berechnungen an. Sie werden unterschiedlich bezeichnet: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Wir werden den Dienst \u00fcber die Konsole oder das pers\u00f6nliche Dashboard des Anbieters nutzen. Den Code f\u00fcr die Funktionen kann man auf verschiedene Arten hochladen:<\/p>\n<ul>\n<li>Code in den integrierten Editor \u00fcber die Web-Konsole schreiben,<\/li>\n<li>ein Archiv mit dem Code hochladen,<\/li>\n<li>mit \u00f6ffentlichen oder privaten Git-Repositories arbeiten.<\/li>\n<\/ul>\n<p>\nHier konfigurieren wir die Ereignisse, die die Funktion ausl\u00f6sen. Die Ereignismengen k\u00f6nnen je nach Anbieter unterschiedlich sein.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless im Detail\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Der Anbieter hat auf seiner Infrastruktur ein automatisiertes System f\u00fcr Function as a Service (FaaS) aufgebaut:<\/p>\n<ol>\n<li>Der Funktionscode gelangt in den Speicher des Anbieters.<\/li>\n<li>Wenn ein Ereignis auftritt, werden auf dem Server automatisch Container mit einer vorbereiteten Umgebung 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 das Ergebnis zur\u00fcckgegeben.<\/li>\n<li>Die Anzahl der parallelen Ereignisse w\u00e4chst \u2013 damit w\u00e4chst auch die Anzahl der Container. Das System skalieret automatisch. Wenn keine Benutzer auf die Funktion zugreifen, bleibt sie inaktiv.<\/li>\n<li>Der Anbieter legt die Zeitspanne f\u00fcr die Container fest \u2013 wenn innerhalb dieses Zeitrahmens keine Funktionen im Container erscheinen, wird er zerst\u00f6rt.<\/li>\n<\/ol>\n<p>\nSo erhalten wir Serverless \"out of the box\". Wir zahlen nach dem Modell pay-as-you-go, und zwar nur f\u00fcr die Funktionen, die genutzt werden, und nur f\u00fcr die Zeit, in der sie genutzt wurden.<\/p>\n<p>Um die Entwickler mit dem Dienst vertraut zu machen, bieten Anbieter bis zu 12 Monate kostenfreies Testen an, begrenzen jedoch die gesamte Rechenzeit, die Anzahl der Anfragen pro Monat, die finanziellen Mittel oder die verbrauchte Leistung.<\/p>\n<p>Der Hauptvorteil der Zusammenarbeit mit einem Anbieter ist die M\u00f6glichkeit, sich keine Sorgen um die Infrastruktur (Server, virtuelle Maschinen, Container) machen zu m\u00fcssen. Von Seiten des Anbieters kann FaaS sowohl auf eigenen Entwicklungen als auch mit Hilfe von Open-Source-Tools realisiert werden. Dar\u00fcber werden wir gleich sprechen.<\/p>\n<h2>Von der Seite der Open Source<\/h2>\n<p>\nIn den letzten Jahren hat die Open-Source-Community intensiv an Serverless-Tools gearbeitet. Dabei tragen auch die gr\u00f6\u00dften Akteure des Marktes zur Entwicklung von serverlosen Plattformen bei:<\/p>\n<ul>\n<li><strong>Google<\/strong> bietet Entwicklern ihr Open-Source-Tool an \u2015 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. An seiner Entwicklung haben IBM, RedHat, Pivotal und SAP mitgewirkt;<\/li>\n<li><strong>IBM<\/strong> haben an der Serverless-Plattform <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>gearbeitet, die sp\u00e4ter zum Projekt der Apache Foundation wurde;<\/li>\n<li><strong>Microsoft<\/strong> haben 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>\noffen gelegt. Die Entwicklungen im Bereich der Serverless-Frameworks gehen weiter. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> werden innerhalb zuvor vorbereiteter Kubernetes-Cluster bereitgestellt, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> funktioniert sowohl mit Kubernetes als auch mit Docker Swarm. Das Framework dient als eine Art Controller \u2015 auf Anfrage bereitet es innerhalb des Clusters eine Ausf\u00fchrungsumgebung vor und startet anschlie\u00dfend die Funktion dort.<\/p>\n<p>Frameworks bieten M\u00f6glichkeiten zur Anpassung des Tools an die eigenen Bed\u00fcrfnisse. So kann der Entwickler in Kubeless die Timeout-Einstellung f\u00fcr die Ausf\u00fchrung der Funktion anpassen (Standardwert \u2013 180 Sekunden). Fission versucht, das Problem des Cold Starts zu l\u00f6sen, indem einige Container immer aktiv gehalten werden (was jedoch zus\u00e4tzliche Kosten f\u00fcr ungenutzte Ressourcen mit sich bringt). OpenFaaS bietet eine Reihe von Triggern in verschiedenen Variationen: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs und weitere.<\/p>\n<p>Einstiegsanleitungen finden Sie in der offiziellen Dokumentation der Frameworks. Die Arbeit mit ihnen erfordert etwas mehr F\u00e4higkeiten als bei der Verwendung eines Anbieters \u2013 mindestens die F\u00e4higkeit, einen Kubernetes-Cluster \u00fcber die CLI zu starten. Im besten Fall sollten zus\u00e4tzliche Open-Source-Tools (zum Beispiel ein Queue-Manager wie Kafka) in die Arbeit einbezogen werden.<\/p>\n<p>Unabh\u00e4ngig davon, ob wir mit Serverless \u00fcber einen Anbieter oder mit Open-Source arbeiten, profitieren wir von einer Reihe von Vor- und Nachteilen des Serverless-Ansatzes.<\/p>\n<h2>Aus der Perspektive der Vor- und Nachteile<\/h2>\n<p>\nServerless f\u00f6rdert Konzepte der Container-Infrastruktur und des Microservices-Ansatzes, bei dem Teams in einer multilingualen Umgebung arbeiten k\u00f6nnen, ohne an eine bestimmte Plattform gebunden zu sein. Der Aufbau von Systemen wird vereinfacht und die Fehlerbehebung wird leichter. Die Microservice-Architektur erm\u00f6glicht es, neue Funktionen deutlich schneller hinzuzuf\u00fcgen als bei monolithischen Anwendungen.<\/p>\n<p><strong>Serverless reduziert die Entwicklungszeit noch weiter,<\/strong> da der Entwickler sich ausschlie\u00dflich auf die Gesch\u00e4ftslogik der Anwendung und das Schreiben von Code konzentrieren kann. Infolgedessen wird die Markteinf\u00fchrungszeit der Entwicklungen verk\u00fcrzt.<\/p>\n<p><strong>Ein zus\u00e4tzlicher Vorteil ist die automatische Skalierung unter Last,<\/strong> wobei wir nur f\u00fcr genutzte Ressourcen zahlen und das auch nur zu Zeiten ihrer Nutzung.<\/p>\n<p>Wie jede Technologie hat auch Serverless seine Nachteile.<\/p>\n<p><em>Ein Beispiel f\u00fcr einen Nachteil kann die Kaltstartzeit 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 kalten Starts von vielen Variablen ab: der Sprache, in der die Funktion geschrieben ist, der Anzahl der Bibliotheken, dem Umfang des Codes und der Interaktion mit zus\u00e4tzlichen Ressourcen (wie Datenbanken oder Authentifizierungsservern). Da der Entwickler diese Variablen steuern kann, hat er die M\u00f6glichkeit, die Startzeit zu verk\u00fcrzen. Andererseits kann der Entwickler jedoch die Startzeit des Containers nicht beeinflussen \u2013 hier h\u00e4ngt alles vom Anbieter ab.<\/p>\n<p>Ein kalter Start kann zu einem warmen Start werden, wenn die Funktion einen zuvor von einem Ereignis gestarteten Container wiederverwendet. Dies kann in drei F\u00e4llen auftreten:<\/p>\n<ul>\n<li>wenn Kunden den Dienst h\u00e4ufig nutzen und die Anzahl der Aufrufe der Funktion steigt;<\/li>\n<li>wenn der Anbieter, die Plattform oder das Framework es erm\u00f6glichen, dass Teile der Container st\u00e4ndig laufen;<\/li>\n<li>wenn der Entwickler Funktionen nach einem Timer ausf\u00fchrt (zum Beispiel alle 3 Minuten).<\/li>\n<\/ul>\n<p>\nF\u00fcr viele Anwendungen ist der Cold Start kein Problem. Hier sollte man sich am Typ und den Zielen des Dienstes orientieren. Eine Startverz\u00f6gerung von einer Sekunde ist nicht immer kritisch f\u00fcr eine gesch\u00e4ftliche Anwendung, k\u00f6nnte jedoch f\u00fcr medizinische Dienste entscheidend sein. In diesem Fall w\u00e4re ein serverloser Ansatz wahrscheinlich nicht 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>Sollten langfristige Aufgaben anstehen, kann eine hybride Architektur verwendet werden \u2013 Serverless mit einer anderen Technologie kombinieren.<\/p>\n<p><em>Nicht alle Systeme werden im Serverless-Modell funktionieren k\u00f6nnen.<\/em><\/p>\n<p>Einige Anwendungen werden weiterhin Daten und Status w\u00e4hrend der Ausf\u00fchrung speichern. Einige Architekturen bleiben monolithisch, und einige Funktionen werden langlebig sein. Doch \u00e4hnlich wie einst Cloud-Technologien und sp\u00e4ter Container, hat Serverless eine vielversprechende Zukunft.<\/p>\n<p>In diesem Zusammenhang m\u00f6chte ich gerne zum Thema der Anwendung des Serverless-Ansatzes \u00fcberleiten.<\/p>\n<h2>Aus der Perspektive der Anwendung<\/h2>\n<p>\nIm Jahr 2018 ist der Anteil der Serverless-Nutzung <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">auf anderthalb Mal gestiegen<\/a><\/noindex>. Zu den Unternehmen, die diese Technologie bereits in ihren Dienstleistungen implementiert haben, geh\u00f6ren gro\u00dfe Marktteilnehmer wie Twitter, PayPal, Netflix, T-Mobile und Coca-Cola. Dabei ist zu beachten, dass Serverless kein Allheilmittel ist, sondern ein Werkzeug zur L\u00f6sung bestimmter Aufgabenstellungen:<\/p>\n<ul>\n<li><strong>Ressourcenausf\u00e4lle reduzieren.<\/strong> Es ist nicht notwendig, eine virtuelle Maschine f\u00fcr Dienste aufrechtzuerhalten, die selten genutzt werden.<\/li>\n<li><strong>Daten \"on-the-fly\" verarbeiten.<\/strong> Bilder komprimieren, Hintergr\u00fcnde zuschneiden, Videocodecs \u00e4ndern, mit IoT-Sensoren arbeiten, mathematische Operationen ausf\u00fchren.\n<\/li>\n<li><strong>\"Verkn\u00fcpfen\" Sie verschiedene Dienste miteinander.<\/strong> Ein Git-Repository mit internen Programmen, ein Chatbot in Slack mit Jira und einem Kalender.<\/li>\n<li><strong>Lastenausgleich durchf\u00fchren.<\/strong> Hier bleiben wir genauer darauf eingehen.<\/li>\n<\/ul>\n<p>\nAngenommen, es gibt einen Dienst, der 50 Besucher hat. F\u00fcr diesen l\u00e4uft eine virtuelle Maschine mit schwacher Hardware. Periodisch steigt die Last auf den Dienst exponentiell. In diesem Fall kann die schwache Hardware nicht mithalten.<\/p>\n<p>Sie k\u00f6nnen ein Load-Balancer-System aktivieren, das die Last beispielsweise auf drei virtuelle Maschinen verteilt. In dieser Phase k\u00f6nnen wir die Last nicht genau vorhersagen, weshalb wir einen Teil der Ressourcen f\u00fcr \u201eNotf\u00e4lle\u201c bereit halten. Und dadurch zahlen wir auch f\u00fcr Unt\u00e4tigkeit. <\/p>\n<p>In dieser Situation k\u00f6nnen wir das System durch einen hybriden Ansatz optimieren: Hinter dem Load-Balancer belassen wir eine virtuelle Maschine und verlinken sie mit einem Serverless Endpoint, der Funktionen bereitstellt. Wenn die Last den Schwellenwert \u00fcberschreitet, startet der Load-Balancer Funktionsinstanzen, die einen Teil der Anfrageverarbeitung \u00fcbernehmen.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless im Detail\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAuf diese Weise kann Serverless in Szenarien eingesetzt werden, in denen nicht sehr h\u00e4ufig, aber intensiv eine gro\u00dfe Anzahl an Anfragen bearbeitet werden muss. In diesem Fall ist es vorteilhafter, mehrere Funktionen f\u00fcr 15 Minuten zu starten, als eine virtuelle Maschine oder einen Server st\u00e4ndig laufen zu lassen.<\/p>\n<p>Trotz aller Vorteile von Serverless-Computing sollte vor der Implementierung zuerst die Logik der Anwendung bewertet und verstanden werden, 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 Control Panel. Wir entwickeln nun unsere eigene FaaS-Plattform. Unser Ziel ist es, Entwicklern eine einfache und flexible Schnittstelle zu bieten, um ihre Aufgaben mit Serverless zu l\u00f6sen.<\/p>\n<p>Wenn Sie Ideen haben, wie die ideale FaaS-Plattform aussehen sollte und wie Sie Serverless in Ihren Projekten einsetzen m\u00f6chten, teilen Sie diese bitte in den Kommentaren mit. Wir werden Ihre Anregungen in die Entwicklung der Plattform einflie\u00dfen lassen.<br \/>\n\u00a0<br \/>\nVerwendete Materialien in dem 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 anderthalb Mal gestiegen (kompletter Bericht von RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Wie die Kaltstartzeit 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 4.9.10 - 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. \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).\" \/>\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) 4.9.10\" \/>\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. \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).\" \/>\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 Schritt f\u00fcr Schritt | ProHoster","description":"Serverless bedeutet nicht, dass es keine Server gibt. Es ist kein \"Killer\" der Container und kein vor\u00fcbergehender Trend. Es ist ein neuer Ansatz zum Aufbau von Systemen in der Cloud. In diesem Artikel werden wir die Architektur von Serverless-Anwendungen diskutieren, die Rolle des Serverless-Dienstanbieters und Open-Source-Projekte betrachten. Am Ende werden wir \u00fcber die Anwendung von Serverless sprechen. Ich m\u00f6chte den Backend-Bereich einer Anwendung (sogar eines Onlineshops) schreiben.","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. \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).","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"},"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}]}}