{"id":55881,"date":"2020-01-31T00:00:00","date_gmt":"2020-01-30T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij"},"modified":"2020-02-18T14:04:02","modified_gmt":"2020-02-18T11:04:02","slug":"sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"Tipps und Informationsquellen zur Erstellung von serverlosen Anwendungen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tipps und Informationsquellen zur Erstellung von serverlosen Anwendungen\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nObwohl serverlose Technologien in den letzten Jahren schnell an Popularit\u00e4t gewonnen haben, sind nach wie vor viele Missverst\u00e4ndnisse und Bedenken damit verbunden. Abh\u00e4ngigkeit vom Anbieter, Tools, Kostenmanagement, Kaltstart, Monitoring und Lebenszyklus der Entwicklung \u2013 all diese Themen werden intensiv diskutiert, wenn es um serverlose Technologien geht. In diesem Artikel werden wir einige der genannten Themen aufgreifen und Tipps sowie Links zu n\u00fctzlichen Informationsquellen bereitstellen, mit deren Hilfe Neulinge leistungsstarke, flexible und kosteneffiziente serverlose Anwendungen erstellen k\u00f6nnen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Missverst\u00e4ndnisse \u00fcber serverlose Technologien<\/h2>\n<p>\nViele glauben, dass Serverlosigkeit und serverlose Datenverarbeitung (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) nahezu dasselbe sind. Das bedeutet, dass der Unterschied nicht allzu gro\u00df ist und es sich lohnt, die neue Technologie einzuf\u00fchren. Obwohl AWS Lambda einer der \u201eStars\u201c des Aufschwungs der serverlosen Technologien und ein beliebtes Element der serverlosen Architektur war, stellt diese Architektur jedoch mehr dar als nur FaaS.<\/p>\n<p>Das grundlegende Prinzip serverloser Technologien besteht darin, dass Sie sich nicht um das Management und die Skalierung der Infrastruktur k\u00fcmmern m\u00fcssen; Sie zahlen nur f\u00fcr das, was Sie verwenden. Viele Dienste entsprechen diesen Kriterien \u2013 AWS DynamoDB, S3, SNS oder SQS, Graphcool, Auth0, Now, Netlify, Firebase und viele andere. Im Allgemeinen impliziert Serverlosigkeit die Nutzung aller M\u00f6glichkeiten des Cloud-Computings, ohne die Infrastruktur verwalten und optimieren zu m\u00fcssen, um sie zu skalieren. Dies bedeutet auch, dass die Sicherheit auf Infrastrukturebene nicht mehr Ihr Problem ist, was ein enormes Vorteil ist, angesichts der Schwierigkeiten und Komplexit\u00e4ten, die mit der Einhaltung von Sicherheitsstandards verbunden sind. Schlie\u00dflich m\u00fcssen Sie keine Infrastruktur kaufen, die Ihnen zur Verf\u00fcgung gestellt wird.<\/p>\n<p>Serverlosigkeit kann als \u201eZustand des Geistes\u201c betrachtet werden: eine bestimmte Mentalit\u00e4t bei der Gestaltung von L\u00f6sungen. Vermeiden Sie Ans\u00e4tze, die die Wartung irgendeiner Infrastruktur erfordern. Bei einem serverlosen Ansatz verbringen wir die Zeit mit der L\u00f6sung von Aufgaben, die sich direkt auf das Projekt auswirken und unseren Nutzern Vorteile bringen: Wir schaffen nachhaltige Gesch\u00e4ftslogik, entwickeln Benutzeroberfl\u00e4chen und gestalten anpassungsf\u00e4hige und zuverl\u00e4ssige APIs.<\/p>\n<p>Zum Beispiel, wenn es m\u00f6glich ist, die Verwaltung und den Support einer Plattform f\u00fcr die Volltextsuche zu vermeiden, dann werden wir genau das tun. Dieser Ansatz zur Erstellung von Anwendungen kann die Markteinf\u00fchrungszeit erheblich verk\u00fcrzen, da Sie sich nicht mehr um die Verwaltung einer komplexen Infrastruktur k\u00fcmmern m\u00fcssen. Befreien Sie sich von Verpflichtungen und Kosten f\u00fcr die Infrastrukturverwaltung und konzentrieren Sie sich darauf, Anwendungen und Dienste zu entwickeln, die Ihre Kunden ben\u00f6tigen. Patrick Debois nannte diesen Ansatz <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/jedi4ever\/from-serverless-to-service-full-how-the-role-of-devops-is-evolving?ref=https:\/\/twitter.com\/i\/cards\/tfw\/v1\/736144044112384000?cardname=player&amp;earned=true&amp;lang=en&amp;card_height=130\">'servicefull'<\/a><\/noindex>, dieser Begriff wird in der serverlosen Gemeinschaft verwendet. Funktionen sollten als Bindeglied f\u00fcr Dienste in Form von bereitstellbaren Modulen betrachtet werden (anstatt eine ganze Bibliothek oder Webanwendung bereitzustellen). Dies erm\u00f6glicht eine unglaubliche Granularit\u00e4t in der Verwaltung von Bereitstellungen und \u00c4nderungen in der Anwendung. Wenn Sie Funktionen nicht auf diese Weise bereitstellen k\u00f6nnen, k\u00f6nnte das darauf hinweisen, dass die Funktionen zu viele Aufgaben erf\u00fcllen und refaktoriert werden m\u00fcssen.<\/p>\n<p>Einige sind durch die Abh\u00e4ngigkeit von Anbietern bei der Entwicklung von Cloud-Anwendungen verunsichert. Dasselbe gilt f\u00fcr serverlose Technologien, und es ist kaum ein Irrtum. Nach unseren Erfahrungen formen die Erstellung serverloser Anwendungen auf AWS, kombiniert mit der F\u00e4higkeit von AWS Lambda, andere AWS-Dienste zu integrieren, teilweise die Vorteile serverloser Architekturen. Dies ist ein gutes Beispiel f\u00fcr Synergie, bei der das Ergebnis der Kombination gr\u00f6\u00dfer ist als die blo\u00dfe Summe der Einzelteile. Wenn Sie versuchen, die Abh\u00e4ngigkeit von Anbietern zu vermeiden, k\u00f6nnen Sie auf noch gr\u00f6\u00dfere Probleme sto\u00dfen. Bei der Arbeit mit Containern ist es einfacher, Ihre eigene Abstraktionsebene zwischen Cloud-Anbietern zu steuern. Wenn es jedoch um serverlose L\u00f6sungen geht, werden die Bem\u00fchungen nicht rentabel sein, insbesondere wenn Sie von Anfang an die Wirtschaftlichkeit ber\u00fccksichtigen. Stellen Sie sicher, wie die Anbieter die Dienstleistung bereitstellen. Einige spezialisierte Dienste h\u00e4ngen von Integrationspunkten mit anderen Anbietern ab und k\u00f6nnen von Haus aus eine Plug-and-Play-Verbindung bieten. Es ist einfacher, Lambda aus einem API-Gateway-Endpunkt aufzurufen, als eine Anfrage an einen Container oder eine EC2-Instanz zu proxyen. Graphcool bietet eine einfache Konfiguration mit Auth0, was einfacher ist, als Drittanbieter-Authentifizierungsmittel zu nutzen.<\/p>\n<p>Die Wahl des richtigen Anbieters f\u00fcr Ihre serverlose Anwendung ist eine architektonische Entscheidung. Bei der Erstellung einer Anwendung rechnen Sie nicht damit, eines Tages zur Verwaltung von Servern zur\u00fcckzukehren. Die Wahl des Cloud-Anbieters unterscheidet sich nicht von der Wahl der Verwendung von Containern oder einer Datenbank oder sogar einer Programmiersprache. <\/p>\n<p>\u00dcberlegen Sie:<\/p>\n<ul>\n<li>Welche Dienste ben\u00f6tigen Sie und warum. \n<\/li>\n<li>Welche Dienste bieten die Cloud-Anbieter an und wie k\u00f6nnen Sie diese mit dem gew\u00e4hlten FaaS-L\u00f6sung kombinieren. \n<\/li>\n<li>Welche Programmiersprachen werden unterst\u00fctzt (mit dynamischer oder statischer Typisierung, kompiliert oder interpretiert, welche Benchmarks gibt es, wie ist die Leistung beim Kaltstart, wie steht es um das Open-Source-\u00d6kosystem usw.).\n<\/li>\n<li>Wie lauten Ihre Sicherheitsanforderungen (SLA, 2FA, OAuth, HTTPS, SSL usw.).\n<\/li>\n<li>Wie verwalten Sie Ihr CI\/CD und die Softwareentwicklungzyklen.\n<\/li>\n<li>Von welchen Infrastruktur-als-Code-L\u00f6sungen k\u00f6nnen Sie profitieren.\n<\/li>\n<\/ul>\n<p>\nWenn Sie eine bestehende Anwendung erweitern und schrittweise serverlose Funktionen hinzuf\u00fcgen, kann dies die verf\u00fcgbaren M\u00f6glichkeiten etwas einschr\u00e4nken. Dennoch bieten fast alle serverlosen Technologien einige APIs (\u00fcber REST oder Nachrichtenwarteschlangen), die es erm\u00f6glichen, Erweiterungen unabh\u00e4ngig vom Kern der Anwendung und mit einfacher Integration zu erstellen. Suchen Sie nach Diensten mit klaren APIs, guter Dokumentation und einer starken Community, und Sie werden nicht falsch liegen. Die Einfachheit der Integration kann oft eine entscheidende Kennzahl sein und ist wahrscheinlich einer der Hauptgr\u00fcnde f\u00fcr den Erfolg von AWS seit der Einf\u00fchrung von Lambda im Jahr 2015.<\/p>\n<h2>Wann ist Serverlosigkeit n\u00fctzlich?<\/h2>\n<p>\nServerlose Technologien k\u00f6nnen praktisch \u00fcberall eingesetzt werden. Ihre Vorteile beschr\u00e4nken sich jedoch nicht nur auf Anwendungsbereiche. Die Einstiegsh\u00fcrde f\u00fcr Cloud-Computing ist heute dank serverloser Technologien so niedrig. Wenn Entwickler eine Idee haben, aber nicht wissen, wie sie die Cloud-Infrastruktur verwalten und Kosten optimieren k\u00f6nnen, brauchen sie keinen Ingenieur daf\u00fcr zu suchen. Wenn ein Start-up eine Plattform entwickeln m\u00f6chte, aber bef\u00fcrchtet, dass die Kosten au\u00dfer Kontrolle geraten k\u00f6nnten, kann es problemlos auf serverlose L\u00f6sungen zur\u00fcckgreifen.<\/p>\n<p>Dank der Kosteneinsparungen und der einfachen Skalierbarkeit sind serverlose L\u00f6sungen sowohl f\u00fcr interne als auch f\u00fcr externe Systeme anwendbar, bis hin zu Webanwendungen mit Millionen von Nutzern. Die Rechnungen werden eher in Cent als in Euro gemessen. Die Miete f\u00fcr das einfachste AWS EC2-Modell (t1.micro) kostet f\u00fcr einen Monat 15 \u20ac, selbst wenn Sie damit nichts machen (wer hat nicht schon mal vergessen, es auszuschalten?!). Zum Vergleich: Um denselben Kostenpunkt innerhalb des gleichen Zeitraums zu erreichen, m\u00fcssten Sie eine Lambda-Funktion mit 512 MB etwa 3 Millionen Mal f\u00fcr 1 Sekunde ausf\u00fchren. Wenn Sie diese Funktion jedoch nicht nutzen, zahlen Sie nichts.<\/p>\n<p>Da die serverlose Technologie haupts\u00e4chlich von Ereignissen abh\u00e4ngt, kann die serverlose Infrastruktur relativ einfach in alte Systeme integriert werden. Zum Beispiel k\u00f6nnen Sie mit AWS S3, Lambda und Kinesis einen Analysedienst f\u00fcr ein altes Einzelhandelssystem erstellen, der Daten \u00fcber eine API sammeln kann.<\/p>\n<p>Die meisten serverlosen Plattformen unterst\u00fctzen verschiedene Sprachen. Am h\u00e4ufigsten sind dies Python, JavaScript, C#, Java und Go. In der Regel gibt es in allen Sprachen keine Einschr\u00e4nkungen bei der Nutzung von Bibliotheken, sodass Sie Ihre bevorzugten Open-Source-Bibliotheken verwenden k\u00f6nnen. Es ist jedoch ratsam, Abh\u00e4ngigkeiten nicht \u00fcberm\u00e4\u00dfig zu nutzen, damit Ihre Funktionen optimal ausgef\u00fchrt werden und die Vorteile der enormen Skalierbarkeit Ihrer serverlosen Anwendungen nicht verloren gehen. Je mehr Pakete in den Container geladen werden m\u00fcssen, desto l\u00e4nger dauert der Kaltstart.<\/p>\n<p>Ein Kaltstart ist, wenn der Container, die Ausf\u00fchrungsumgebung und der Fehlerhandler zun\u00e4chst initialisiert werden m\u00fcssen, bevor sie verwendet werden k\u00f6nnen. Dadurch kann die Ausf\u00fchrungsverz\u00f6gerung von Funktionen bis zu 3 Sekunden betragen, was f\u00fcr ungeduldige Nutzer nicht ideal ist. Kaltstarts treten jedoch beim ersten Zugriff nach mehreren Minuten Inaktivit\u00e4t der Funktion auf. Daher betrachten viele dies als eine geringf\u00fcgige Unannehmlichkeit, die durch regelm\u00e4\u00dfiges Pingen der Funktion umgangen werden kann, um sie im Leerlauf zu halten. Oder sie ignorieren diesen Aspekt ganz.<\/p>\n<p>Obwohl AWS<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> die serverlose SQL-Datenbank Serverless Aurora<\/a><\/noindex>, sind SQL-Datenbanken f\u00fcr solche Anwendungen nicht ideal, da sie bei der Ausf\u00fchrung von Transaktionen von Verbindungen abh\u00e4ngen, die bei hohem Datenverkehr auf AWS Lambda schnell zu einem Engpass werden k\u00f6nnen. Ja, die Entwickler verbessern kontinuierlich Serverless Aurora, und Sie sollten mit ihr experimentieren, jedoch sind heute NoSQL-L\u00f6sungen wie<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>sehr viel besser geeignet f\u00fcr serverlose Systeme. Es ist jedoch unbestreitbar, dass sich diese Situation bald \u00e4ndern wird.<\/p>\n<p>Die Werkzeuge bringen ebenfalls viele Einschr\u00e4nkungen mit sich, insbesondere im Bereich des lokalen Testens. Obwohl es L\u00f6sungen wie Docker-Lambda, DynamoDB Local und LocalStack gibt, erfordern diese jedoch sorgf\u00e4ltige Arbeit und einen erheblichen Konfigurationsaufwand. Dennoch entwickeln sich all diese Projekte aktiv weiter, und es ist nur eine Frage der Zeit, bis die Werkzeuge das notwendige Niveau erreichen.<\/p>\n<h2>Einfluss serverloser Technologien auf den Entwicklungszyklus<\/h2>\n<p>\nDa Ihre Infrastruktur einfach eine Konfiguration darstellt, k\u00f6nnen Sie Code \u00fcber Skripte bereitstellen und bereitstellen, beispielsweise \u00fcber Shell-Skripte. Alternativ k\u00f6nnen Sie L\u00f6sungen der Klasse Configuration-as-Code wie <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Obwohl dieser Service nicht f\u00fcr alle Bereiche eine Konfiguration bereitstellt, erm\u00f6glicht er dennoch die Definition spezifischer Ressourcen zur Verwendung als Lambda-Funktionen. Das hei\u00dft, dort, wo CloudFormation versagt, k\u00f6nnen Sie Ihre eigene Ressource (Lambda-Funktion) schreiben, die diese L\u00fccke schlie\u00dft. So k\u00f6nnen Sie alles M\u00f6gliche tun, sogar Abh\u00e4ngigkeiten au\u00dferhalb Ihrer AWS-Umgebung konfigurieren.<\/p>\n<p>Da all dies nur Konfiguration ist, k\u00f6nnen Sie Ihre Bereitstellungsskripte f\u00fcr bestimmte Umgebungen, Regionen und Benutzer parametrisieren, insbesondere wenn Sie L\u00f6sungen der Kategorie Infrastructure-as-Code wie CloudFormation verwenden. Zum Beispiel k\u00f6nnen Sie eine Kopie der Infrastruktur f\u00fcr jeden Branch im Repository bereitstellen, um diese vollst\u00e4ndig isoliert w\u00e4hrend der Entwicklung zu testen. Dies beschleunigt die R\u00fcckmeldung f\u00fcr Entwickler erheblich, wenn sie verstehen m\u00f6chten, ob ihr Code in einer Live-Umgebung ordnungsgem\u00e4\u00df funktioniert. F\u00fchrungskr\u00e4fte m\u00fcssen sich keine Gedanken \u00fcber die Kosten f\u00fcr die Bereitstellung zahlreicher Umgebungen machen, da nur die tats\u00e4chliche Nutzung bezahlt wird.<\/p>\n<p>DevOps haben weniger Sorgen, da sie lediglich sicherstellen m\u00fcssen, dass die Entwickler die korrekte Konfiguration haben. Es ist nicht mehr n\u00f6tig, Instanzen, Load Balancer oder Sicherheitsgruppen zu verwalten. Daher wird der Begriff NoOps immer h\u00e4ufiger verwendet, obwohl es dennoch wichtig ist, die Infrastruktur konfigurieren zu k\u00f6nnen, insbesondere wenn es um IAM-Konfigurationen und die Optimierung von Cloud-Ressourcen geht.<\/p>\n<p>Es gibt sehr leistungsstarke Werkzeuge zur \u00dcberwachung und visuellen Darstellung wie Epsagon, Thundra, Dashbird und IOPipe. Sie erm\u00f6glichen es, den aktuellen Zustand serverloser Anwendungen zu \u00fcberwachen, bieten Logs und Tracing, erfassen Leistungskennzahlen und Architekturengp\u00e4sse, f\u00fchren Analysen und Kostenprognosen durch und vieles mehr. Sie geben nicht nur DevOps-Ingenieuren, Entwicklern und Architekten einen umfassenden \u00dcberblick \u00fcber die Funktionsweise von Anwendungen, sondern erm\u00f6glichen auch F\u00fchrungskr\u00e4ften, die Situation in Echtzeit zu verfolgen, mit sekundengenauen Ausgaben f\u00fcr Ressourcen und Kostenprognosen. Solch eine Organisation ist mit verwalteter Infrastruktur viel schwieriger.<\/p>\n<p>Es ist deutlich einfacher, serverlose Anwendungen zu entwerfen, da Sie keine Webserver bereitstellen, virtuelle Maschinen oder Container verwalten, Server, Betriebssysteme oder Internet-Gateways patchen m\u00fcssen usw. Die Abstrahierung von all diesen Aufgaben erm\u00f6glicht es der serverlosen Architektur, sich auf das Wesentliche zu konzentrieren \u2013 das L\u00f6sen der Bed\u00fcrfnisse von Unternehmen und Kunden.<\/p>\n<p>Obwohl das Toolset besser sein k\u00f6nnte (es verbessert sich t\u00e4glich), k\u00f6nnen sich die Entwickler auf die Implementierung der Gesch\u00e4ftslogik und die optimale Verteilung der Komplexit\u00e4t der Anwendung auf verschiedene Dienste innerhalb der Architektur konzentrieren. Das Management serverloser Anwendungen erfolgt ereignisgesteuert und ist vom Cloud-Anbieter abstrahiert (z. B. SQS, S3-Ereignisse oder DynamoDB-Streams). Daher m\u00fcssen die Entwickler lediglich die Gesch\u00e4ftslogik f\u00fcr die Reaktion auf bestimmte Ereignisse schreiben und sich keine Sorgen machen, wie sie Datenbanken und Nachrichtenwarteschlangen am besten implementieren oder wie sie die optimale Datenverarbeitung in bestimmten Hardware-Speichern organisieren.<\/p>\n<p>Code kann lokal ausgef\u00fchrt und debuggt werden, wie bei jedem Entwicklungsprozess. Das modulare Testen bleibt unver\u00e4ndert. Die M\u00f6glichkeit, eine gesamte Anwendungsinfrastruktur mit einer konfigurierbaren Stack-Konfiguration bereitzustellen, erm\u00f6glicht es Entwicklern, schnell wertvolles Feedback zu erhalten, ohne sich Gedanken \u00fcber die Testkosten oder die Auswirkungen auf teure verwaltete Umgebungen machen zu m\u00fcssen.<\/p>\n<h2>Werkzeuge und Methoden zum Erstellen serverloser Anwendungen<\/h2>\n<p>\nEs gibt keinen spezifischen Ansatz zur Erstellung serverloser Anwendungen. Ebenso wenig wie es ein festes Set von Diensten f\u00fcr diese Aufgabe gibt. F\u00fchrend unter den leistungsstarken serverlosen L\u00f6sungen ist derzeit AWS, aber beachten Sie auch <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/gcp\">Google Cloud<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/zeit.co\/\"> Zeit<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Wenn Sie AWS verwenden, wird als Ansatz zur Anwendungserstellung empfohlen <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Serverless Application Model<\/a><\/noindex> (SAM), insbesondere bei der Verwendung von C#, da Visual Studio hervorragende Werkzeuge bietet. SAM CLI kann alles tun, was auch Visual Studio kann, sodass Sie nichts verlieren, wenn Sie zu einer anderen IDE oder einem Texteditor wechseln. Nat\u00fcrlich funktioniert SAM auch mit anderen Sprachen.<\/p>\n<p>Wenn Sie in anderen Sprachen schreiben, ist das Serverless Framework ein hervorragendes Open-Source-Tool, mit dem Sie alles mit sehr leistungsstarken YAML-Konfigurationsdateien konfigurieren k\u00f6nnen. Das Serverless Framework unterst\u00fctzt auch verschiedene Cloud-Dienste, daher empfehlen wir es allen, die nach einer Multi-Cloud-L\u00f6sung suchen. Es hat eine riesige Community, die eine Vielzahl von Plugins f\u00fcr alle Bed\u00fcrfnisse erstellt hat. <\/p>\n<p>F\u00fcr lokale Tests eignen sich Open-Source-Tools wie Docker-Lambda, Serverless Local, DynamoDB Local und LocalStack gut. Serverlose Technologien befinden sich noch in einem fr\u00fchen Entwicklungsstadium, ebenso wie die Werkzeuge daf\u00fcr, daher m\u00fcssen Sie sich bei der Anpassung an komplexe Testszenarien anstrengen. Es ist jedoch unglaublich kosteng\u00fcnstig, einfach einen Stack in einer Umgebung bereitzustellen und dort zu testen. Und Sie m\u00fcssen keine exakt lokale Kopie der Cloud-Umgebungen erstellen.<\/p>\n<p>Verwenden Sie AWS Lambda Layers, um die Gr\u00f6\u00dfe der bereitgestellten Pakete zu verringern und die Ladegeschwindigkeit zu erh\u00f6hen. <\/p>\n<p>Verwenden Sie f\u00fcr spezifische Aufgaben die richtigen Programmiersprachen. Verschiedene Sprachen haben ihre eigenen Vor- und Nachteile. Es gibt viele Benchmarks, aber JavaScript, Python und C# (.NET Core 2.1+) sind in Bezug auf die Leistung von AWS Lambda f\u00fchrend. Neu in AWS Lambda ist die Runtime API, die es erm\u00f6glicht, die gew\u00fcnschte Sprache und Laufzeit anzugeben, also experimentieren Sie.<\/p>\n<p>Halten Sie die Paketgr\u00f6\u00dfe f\u00fcr die Bereitstellung klein. Je kleiner sie sind, desto schneller werden sie geladen. Vermeiden Sie es, gro\u00dfe Bibliotheken zu verwenden, insbesondere wenn Sie nur einige Funktionen daraus nutzen. Wenn Sie in JavaScript programmieren, nutzen Sie Tools wie Webpack, um den Build zu optimieren und nur das einzuschlie\u00dfen, was Sie wirklich ben\u00f6tigen. In .NET Core 3.0 gibt es QuickJit und Tiered Compilation, die die Leistung verbessern und bei kalten Starts erheblich helfen.<\/p>\n<p>Die Abh\u00e4ngigkeit von serverlosen Funktionen von Ereignissen kann anf\u00e4nglich die Koordination der Gesch\u00e4ftslogik erschweren. In diesem Zusammenhang k\u00f6nnen Warteschlangen und endliche Automaten \u00e4u\u00dferst n\u00fctzlich sein. Lambda-Funktionen k\u00f6nnen sich gegenseitig aufrufen, tun Sie dies jedoch nur, wenn Sie nicht mit einer Antwort rechnen (\"abgeschossen und vergessen\") \u2013 Sie m\u00f6chten ja keine Rechnung f\u00fcr das Warten auf den Abschluss einer anderen Funktion erhalten. Warteschlangen sind n\u00fctzlich, um Teile der Gesch\u00e4ftslogik zu isolieren, Engp\u00e4sse in Anwendungen zu verwalten und Transaktionen (mithilfe von FIFO-Warteschlangen) zu verarbeiten. AWS Lambda-Funktionen k\u00f6nnen SQS-Warteschlangen zugeordnet werden, die als Warteschlangen f\u00fcr \"h\u00e4ngende\" Nachrichten fungieren und fehlgeschlagene Nachrichten f\u00fcr eine sp\u00e4tere Analyse nachverfolgen. AWS Step Functions (endliche Automaten) sind sehr hilfreich f\u00fcr das Management komplexer Prozesse, die die Erstellung von Funktionsketten erfordern. Anstatt dass eine Lambda-Funktion eine andere Funktion aufruft, k\u00f6nnen Step-Funktionen den Zustand\u00fcbergang koordinieren, Daten zwischen Funktionen \u00fcbermitteln und den globalen Zustand der Funktionen verwalten. Dies erm\u00f6glicht die Definition von Bedingungen f\u00fcr Wiederholungsversuche oder was im Falle eines bestimmten Fehlers zu tun ist \u2013 unter bestimmten Bedingungen ein \u00e4u\u00dferst leistungsf\u00e4higes Werkzeug.<\/p>\n<h2>Fazit<\/h2>\n<p>\nIn den letzten Jahren entwickeln sich serverlose Technologien in einem nie da gewesenen Tempo. Mit diesem Paradigmenwechsel sind bestimmte Missverst\u00e4ndnisse verbunden. Durch die Abstraktion von Infrastruktur und das Management von Skalierung bieten serverlose L\u00f6sungen erhebliche Vorteile: von der Vereinfachung der Entwicklungs- und DevOps-Prozesse bis hin zu erheblichen Einsparungen bei den Betriebskosten.<br \/>\nObwohl der serverlose Ansatz nicht ohne Nachteile ist, gibt es jedoch zuverl\u00e4ssige Entwurfsmuster, mit denen Sie robuste serverlose Anwendungen erstellen oder serverlose Elemente in bestehende Architekturen integrieren k\u00f6nnen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nix\/blog\/486180\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u044e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c, \u0441 \u043d\u0438\u043c\u0438 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0438 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439. \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c\u0438, \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0438 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0435\u043c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u043e \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55881","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=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\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\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\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\udd47\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\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=\"2020-01-30T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:02+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\udd47Tipps und Informationsquellen zur Erstellung serverloser Anwendungen | ProHoster","description":"Obwohl serverlos.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","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\udd47\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster","og:description":"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","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":"2020-01-30T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55881","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:35:40","updated":"2022-10-07 20:58:46","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\/55881","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=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}