Zum Inhalt springen
en
Drei Endgeräte verbunden mit einer Wolke | SPIRIT/21
Von Team SPIRIT/21 am 09.06.2020

Applikationen mit cloudnativen Technologien

In den vergangenen Jahrzehnten gab es mehrere Evolutionen im Serverbereich. Vom Betrieb der Applikationen und zugehöriger Infrastruktur direkt auf dem Server (“Bare Metal”) ging man dazu über, virtualisierte Server oder Containertechnologien zu nutzen. Virtualisierte Umgebungen und Container stellen aber trotzdem im Wesentlichen nur eine Evolution aus dem ursprünglichen Bare-Metal Modell dar, bei der sämtlicher Betriebsaufwand beim Nutzer verbleibt. Zum Betriebsaufwand gehören dabei Routineaufgaben wie Updates, Performanceoptimierungen, aber auch Skalierung. Dies inkludiert gegebenenfalls die Bestellung und Neueinrichtung von neuer Hardware genauso wie das ständige Monitoring und Backup durch die IT.

Function as a Service (FaaS)

Mit der Einführung von AWS Lambda 2014 gab es einen wesentlichen Umbruch: Anwendungen konnten jetzt als Function as a Service (FaaS) betrieben werden. Bei dieser Dienstleistung kümmert sich der Cloudanbieter, also beispielsweise Amazon Web Services (AWS), Microsoft, IBM, Google oder Oracle, um die skalierbare Bereitstellung der definierten Funktionen in Form von mehreren logischen Einheiten.

Die Besonderheit dabei ist, dass im Gegensatz zu permanent laufenden Technologien wie Containern die Funktionslogik nur gestartet wird, wenn beispielsweise HTTP-Anfragen eingehen. Dabei können auch andere Ereignisquellen, wie beispielsweise MQTT-Middlewares verwendet werden. Diese Agilität erlaubt es den Cloudanbietern, dem Nutzer nur die Kosten für den Aufruf und die verbrauchten Ressourcen (Hauptspeicher und Rechenzeit) in Rechnung zu stellen.

Im Vergleich zur nutzungsbasierten Abrechnung entstehen bei Containern oder traditionellen Servern in der Nacht und in bedarfsärmeren Zeiten Kosten, weil diese kontinuierlich laufen.

Die Vorteile von Function as a Service

Vorteile der FaaS Dienstleistung ergeben sich zum einen durch die nutzungsbasierte Abrechnung. Zum anderen können sich Entwicklerteams mit dem Wegfall des operativen Aufwands zur Aktualisierung und kontinuierlichen Wartung der Systeme auch auf das Erstellen und Weiterentwickeln der notwendigen Software fokussieren und die dabei anfallende Daten wie z.B. Logs selber sichten. Dies erlaubt den Entwicklerteams auch eine wesentlich höhere Iterationsgeschwindigkeit, da Änderungen schnell ausgerollt werden können.

Ebenso ergeben sich immense Kostenvorteile, dadurch dass der Cloudanbieter die automatische Skalierung der Ressourcen komplett elastisch nach Bedarf abwickelt, ohne zusätzliche Nutzeraktion. So können Firmen die Provisionierung neuer Server an den Serviceanbieter auslagern. Die Cloudanbieter bieten auch feste Service Level Agreements an, in welchen sie die Verfügbarkeit der Dienste garantieren.

Die Besonderheiten von Function as a Service

In Kundenprojekten hat sich gezeigt, dass größere Anpassungen an der Logik sowie der Architektur notwendig werden, wenn eine Bestandsapplikation für den Betrieb bei einem FaaS Anbieter bereit gemacht werden soll. So werden beispielsweise HTTP(S) Anfragen von einem API Gateway entgegengenommen und im JSON Format an die Funktionslogik weitergeleitet. Diese muss natürlich die Fähigkeit besitzen, dieses spezielle Format weiter verarbeiten zu können.

In der Logik sind auch weitere Anpassungen erforderlich, da die beste Systemleistung dann erreicht wird, wenn die Applikationslogik in möglichst kleine Einheiten (Microservices) heruntergebrochen wird, welche fehlertolerant und unabhängig (skalierbar) mit den anderen Microservices kommunizieren können. Auch die Datenbankhandhabung muss verändert werden. Um die Verbindungen zur Datenbank effizient aufrechterhalten zu können, muss beispielsweise auf optimierte Connection Pools zurückgegriffen werden.

In Punkto Sicherheit sollten verschiedene Besonderheiten der Cloud beachtet werden. So ist beispielsweise darauf zu achten, dass die einzelnen Komponenten genau zugeschnittene Berechtigungen haben, sicher miteinander kommunizieren und die verarbeiteten und gespeicherten Daten bestmöglich geschützt werden.

Durch Migration bestehender Anwendungen oder durch Neuarchitektur können Sie erhebliche Kosteneinsparungen für Ihre Organisation nutzbar machen. Unser erfahrenes Team aus zertifizierten Cloudarchitekten und Entwicklern steht Ihnen dabei gerne zur Seite.

Team SPIRIT/21

Das SPIRIT/21-Team berät Sie gerne rund um Ihre IT-Aufgabenstellungen von der Beratung über die Implementierung bis hin zum Betrieb einzelner Services und kompletter IT-Infrastrukturen. Wir liefern Lösungen, die funktionieren. Wir freuen uns auf Ihre Nachricht.

Team SPIRIT/21