
Report zu cloudnativer Entwicklung
Der Report zum Thema cloudnative Entwicklung gibt einen detaillierten Überblick darüber, wie Unternehmen cloudnative Applikationen entwickeln und wie Low-Code-Plattformen wie OutSystems dabei helfen können.
Serverless Computing ist ein Ausführungsmodell, bei dem Entwickler Code schreiben und bereitstellen können, ohne sich Gedanken über die Infrastruktur zu machen, auf der der Code läuft. Um die Verwaltung, Bereitstellung und Wartung der Server kümmert sich ein Cloud-Service-Anbieter, der nach einem Pay-for-Compute-Modell abrechnet.
An dieser Stelle sei erwähnt, dass der Begriff „Serverless Computing“ irreführend ist: Auch wenn der Benutzer selbst keinen Server besitzt, werden in einem Cloud-Computing-Modell natürlich Server verwendet, um maschinelle Ressourcen nach Bedarf bereitzustellen.
Entdecken Sie die Zukunft von Cloud-Native und erfahren Sie, wie Sie mit Low-Code Ihre Transformationsziele erreichen.
Jetzt registrierenDer Kern des Serverless-Modells besteht darin, dass Entwickler Applikationen in kleinen Codeteilen erstellen, die vom Cloud-Service-Provider als Functions-as-a-Service (FaaS) ausgeführt werden. FaaS bietet eine ereignisgesteuerte Architektur, in der Funktionen unter anderem durch bestimmte Ereignisse wie HTTP-Anforderungen, Nachrichtenwarteschlangen, Sensordaten oder einen Mausklick ausgelöst werden. Dieses Modell eignet sich gut für Microservices, bei denen sich der Code bereits auf kleine Teile von Funktionen konzentriert, die über APIs kommunizieren.
Serverless-Computing-Anbieter verwenden ein Pay-for-Compute-Modell, das es Kunden ermöglicht, Applikationen bei Bedarf schnell zu skalieren. Sobald eine Applikation nicht mehr benötigt wird, wird ihre Nutzung eingestellt. Sie wird sofort herunterskaliert und nicht im Volatile Memory gehalten.
Sobald Applikationsressourcen nicht mehr gebraucht werden, werden sie auf null herunterskaliert und die Applikation wird nicht mehr ausgeführt. Der Kunde zahlt nur für die benötigten Ressourcen – und nur dann, wenn sie tatsächlich benötigt werden. Auf diese Weise können Kunden auf große Mengen an Rechenleistung zugreifen, ohne die Verantwortung für die Ressourcenverwaltung zu tragen.
Serverless-Computing-Funktionen sind im Wesentlichen zustandslos und speichern keine Daten von früheren Instanzen. Wenn die Latenz für Applikationen ein Problem darstellt, sollten Unternehmen abwägen, ob Serverless Computing wirklich die richtige Wahl ist. Denn bis Instanzen nach einem Kaltstart hochfahren, kann es einige Sekunden dauern.
Die Zustandslosigkeit bedeutet auch, dass alle persistenten Daten, die für die Applikation erforderlich sind, anderswo gespeichert werden müssen. Alle großen Cloud-Anbieter von Serverless Computing bieten auch Datenbanken und Speicherdienste an, die durch Softwarefunktionen ausgelöst werden können.
Serverless Computing, Microservices und Container gelten zusammen als das Herzstück von cloudnativen Applikationsentwicklungstechnologien.
FaaS ist ein Teilbereich von Serverless Computing und bildet im Wesentlichen dessen Kern. FaaS ermöglicht Entwicklern das Schreiben von Code, der als Reaktion auf ein Ereignis ausgeführt wird. Der Code befasst sich nur mit der Geschäftslogik. Die komplexe Infrastruktur hingegen wird vom Cloud-Service-Anbieter verwaltet.
Die gesamte typische Back-Infrastruktur zum Hosten und Starten einer Applikation über das Internet – die physische Hardware, die Serververwaltung, die Bereitstellung, das Webhosting und das Virtual-Machine-Betriebssystem – werden vollständig vom Cloud-Service-Provider verwaltet. Im Rahmen des FaaS-Modells können Entwickler modularen Code erstellen, der in Form kleiner ausführbarer Codestücke verwaltet wird. Um eine schnelle Reaktion zu ermöglichen, kann der Code am Netzwerk-Edge verwaltet werden.
FaaS bietet viele überzeugende Eigenschaften:
Backend-as-a-Service (BaaS) ist ein Servicemodell, das den Zugriff auf Dienste und Apps von Drittanbietern für Aktivitäten wie Benutzerauthentifizierung, Push-Benachrichtigung, zusätzliche Verschlüsselung oder in der Cloud verfügbare Datenbanken umfasst. Dadurch können Entwickler sich darauf konzentrieren, den Frontend-Code für Applikationen zu erstellen. Alle Backend- und hinter den Kulissen ausgeführten Prozesse von Mobil- und Web-Applikationen werden an den Cloud-Service-Provider ausgelagert.
In BaaS werden Serverless-Funktionen normalerweise über APIs aufgerufen. Im Gegensatz zu Serverless Computing sind BaaS-Applikationen nur dann skalierbar, wenn der Anbieter diese Möglichkeit vorsieht und der Entwickler den Code entsprechend schreibt.
Platform-as-a-Service (PaaS) ist ein Modell, bei dem Entwickler alle Tools, die zum Entwickeln und Bereitstellen von Applikationen erforderlich sind, vom Anbieter einer Cloud-Plattform mieten. Dazu gehören auch die Betriebssysteme und die erforderliche Middleware. PaaS-Applikationen skalieren nicht automatisch, sondern nur, wenn sie dafür programmiert sind. Im Gegensatz zu serverlosen Applikationen, die sofort starten, müssen PaaS-Applikationen die meiste Zeit laufen, um bei Bedarf sofort verfügbar zu sein.
Vorteile:
Nachteile:
Mit der Eigenschaft, unregelmäßige und unvorhersehbare Nachfragespitzen zu bewältigen und asynchrone, zustandslose Applikationen bereitzustellen, die einen sofortigen Start verlangen, gibt es eine Reihe von Anwendungsfällen, für die Serverless Computing gut geeignet ist.
Dazu gehören Microservices, mobile Backends, Stream-Verarbeitung im großen Maßstab, Multimedia-Verarbeitung, geplante Batch-Aufgaben, Geschäftslogik, Datenströme und Chatbots.
Serverless Computing wurde 2014 von Amazon Web Services erfolgreich kommerzialisiert. Seither bieten alle großen Cloud-Service-Provider und eine Reihe kleinerer Anbieter Serverless-Computing-Plattformen an.
Dazu gehören AWS Lambda, CloudFlare Workers, Google Cloud Functions, IBM Cloud Functions und Microsoft Azure Functions.
In unserem Report Cloudnative Entwicklung: Bereit oder nicht? haben wir mehr als 500 IT-Professionals und Entwickler weltweit befragt, um die Ansichten, Bedenken und Pläne von Unternehmen bezüglich cloudnativer Technologien besser zu verstehen.
Laden Sie den Report herunter, um einen tieferen Einblick in die Art und Weise zu erhalten, wie Unternehmen cloudnative Applikationen einsetzen und inwiefern Low-Code-Plattformen wie OutSystems die entsprechenden Strategien erfolgreich ergänzen.