Innovation

Freiheit den Entwicklern – Serverless für alle!

Als verhältnismäßig neue und bis vor kurzem wenig bekannte Architektur ist das Konzept von Serverless Computing noch erklärungsbedürftig. Fakt ist, dass es das Thema bis vor drei Jahren bestenfalls als Idee gab. Aber was bedeutet es eigentlich konkret?

Wie der Name schon vermuten lässt, gibt es bei “Serverless Infrastructure” keinen direkten Einsatz von Servern. Als physikalischer Host oder virtuelle Ressource arbeiten sie jedoch weiterhin im Hintergrund, um Programmcode und Daten zu speichern und zu betreiben.

Serverless bedeutet aus Sicht eines Entwicklers schlicht, dass das zeitintensive Aufsetzen und Managen von Serverkapazitäten wegfällt. Dies war bisher notwendig, um die eigene Anwendung zum Laufen zu bringen. Stattdessen kommt der Cloud-Service eines Anbieters in Form einer “Blackbox” zum Einsatz. Wenn der Entwickler einen Code hochlädt, übernimmt der Cloud-Service die vollständige Administration der dafür benötigten Serverinfrastruktur einschließlich der Server- und Betriebssystemwartung.

Serverless bedeutet also nicht, dass klassische Server obsolet werden. Sie sind nach wie vor als physikalische Hosts oder virtuelle Ressourcen notwendig, um die notwendigen Daten zu speichern und Anwendungen – oder genauer gesagt den Programmcode – auszuführen.

Aber mit dem Serverless-Konzept brauchen sich Entwickler nicht mehr darum zu kümmern, ob sie genügend Rechenkapazitäten haben oder anderen Anforderungen an Server-Architektur oder Updates nachgekommen sind. Sie können sich stattdessen auf ihre eigentliche Aufgabe konzentrieren: schnelle, stabile und innovative Anwendungen schreiben.

Ein weiterer Vorteil: Als Entwickler muss man bei Serverless nicht mehr unterschiedlichste Services und Entwicklungsumgebungen wie beispielsweise Apache, ngnix, postfix oder php kennen und einrichten. Natürlich schadet es nicht, über den bekannten Tellerrand hinauszuschauen. Aber einfach die Sprachen und Entwicklungsumgebungen nutzen zu können, mit denen man vertraut ist, hilft, schneller zu guten Ergebnissen zu kommen.

Schnell, einfache Handhabung mit Serverless – und geringere Kosten

Wie wird aber das Konzept in der Praxis um- und eingesetzt? Da es neu ist, ist es eher bei Cloudbasierten Anwendungen und entsprechenden Micro Services beheimatet als in den traditionellen, oft statischen IT-Umgebungen.

Ein besonders gutes Einsatzgebiet ist die Entwicklung von Programmierschnittstellen, so genannten APIs (application programming interface), die es zwei oder mehr Anwendungen ermöglicht, Daten auszutauschen. Mit Serverless können Entwickler schnell entsprechende APIs programmieren, ohne sich um all die Details zu kümmern, die im Hintergrund der Anwendungen ablaufen und normalerweise mitberücksichtigt werden müssen. Wer also beispielsweise Benutzeroberflächen auf Basis von Java Script entwickelt, macht mit Serverless genau das und nichts anderes, was Zeit, Energie und mitunter auch Nerven kostet.

Neben der Vereinfachung bei der Entwicklung von APIs spielt das Konzept seine Stärken auch bei den Kosten aus: Eine erfolgreiche Anwendung ist eine, die häufig genutzt wird. Dabei ist es schwierig vorherzusagen, wie stark sie wann ausgelastet ist. Nehmen wir als Beispiel den Anbieter von Eintrittskarten für Sport- und Kulturveranstaltungen. Manche Veranstaltungen sind aufgrund aktueller Ereignisse auf einmal stärker nachgefragt als zu erwarten war – sei es, dass die Heimmannschaft unerwartet im Finale steht, der Künstler vor kurzem mit einem Preis ausgezeichnet worden ist oder angekündigt hat, dass es seine letzte Tour sein wird. Resultat: Die Anwendung für den Verkauf der Tickets läuft einige Tage unter Volllast. Gut, wenn die Serverkapazitäten in dem Moment ausreichen. Und noch besser, wenn sie dynamisch der auch wieder fallenden Nachfrage angepasst werden – denn das spart bares Geld: Ein Unternehmen, das eine API nutzt, die Serverless entwickelt wurde, zahlt dem Cloud Provider nur die Kosten die entstehen, wenn die Schnittstelle genutzt wird.

Aufgrund seiner geringeren Kosten für die IT-Administration und dem gängigen Bezahlmodell im Cloud-Umfeld ist Serverless auch ideal für Startups, weil erst dann Kosten entstehen, wenn ihre Anwendung entsprechend genutzt wird. Aber auch jenseits der Gründerszene schauen sich Unternehmen nach Möglichkeiten um, APIs kosteneffizient, schnell und mit verhältnismäßig geringen Aufwand und Risiko zu entwickeln – und finden in Serverless genau das, was sie gesucht haben.

Open Source-Plattformen ermöglichen notwendige Innovationen

Ein Problem für Entwickler, dass auch Serverless bisher nicht lösen konnte, war ihre Abhängigkeit von der jeweiligen Cloud-Plattform, die sie sich für ihre Anwendung ausgesucht haben. Mit der Entscheidung für eine Plattform mussten sie ihre Programmierung auch für diese Cloud optimieren. Ein Wechsel in eine andere Umgebung barg immer die Gefahr, dass die Anwendung nicht mehr rund lief und damit an Attraktivität verloren hat. Daher hofften immer mehr Entwickler in den vergangenen zwei Jahren darauf, dass aus der Open Source-Gemeinde eine entsprechende Lösung kommt. Mit Apache OpenWhisk und den entsprechenden IBM Cloud Functions steht jetzt eine Serverless Open Source Cloud-Plattform zur Verfügung, die es erlaubt, eine Art „Serverless Engine“ auf jeder beliebigen Cloud-Infrastruktur einzurichten.

Dieses Angebot aus der Open Source Community hat einen Nerv getroffen: Unternehmen aller Größen haben in den letzten Monaten begonnen, auf der Plattform zu arbeiten.  Gemeinsam mit Partnern wie Adobe oder Redhat erweitert IBM kontinuierlich die Angebotspalette. Dazu gehören neben der Unterstützung von Programmiersprachen wie Java, NodeJS, PHP, Python oder Swift auch Programmierparadigmen wie beispielsweise das so genannte Sequencing, dass das Verbinden mehrerer SServerless-Funktionen beschreib. Das ist wichtig, um die Wiederverwendbarkeit mehrerer Funktionen, die unter Umständen sogar von verschiedenen Teams und in verschiedenen Sprachen umgesetzt wurden, möglich zu machen.

Andere Serverless-Erweiterungen sind bereits im Entstehen. Dazu gehört beispielsweise auch IBM Composer, der Entwicklern die Möglichkeit gibt, komplexere Serverless-Anwendungen, die aus mehreren Funktionen bestehen und über typische Kontrollstrukturen (und Zustände) miteinander verbunden werden, zu entwickeln. So können beispielsweise Bedingungen oder so genannte Schleifenkonstrukte „Serverless“ umgesetzt werden. Bei einer if-Bedingung könnte dann die Bedingung selbst wie auch der „true“ und der „false“ Fall durch drei unterschiedliche Serverless-Funktionen abgebildet werden.  Diese Erweiterungen werden nachhaltig die Anwendungsentwicklung in der Cloud beschleunigen.

Anwendungsbeispiele für Serverless

Unternehmen nutzen IBM Cloud Functions in ganz unterschiedlichen Bereichen: Das beginnt bei den ganz grundlegenden Funktionen einer IT-Infrastruktur wie den so genannten Backends – wenn man so will, den Grundpfeilern, auf denen ein IT-System aufgebaut ist und das der Anwender nie zu sehen bekommt.

Daneben kommt das Konzept auch bei mobilen Anwendungen zum Einsatz. Weather Gods, eine iOS Wetter App ist ein gutes Beispiel: Die Entwickler haben eine App auf den Markt gebracht, die die Wettervorhersage auf eine grafisch neue Art präsentieren. Sie haben als eine der ersten das notwendige Backend für ihr Angebot Serverless entwickelt.

Ein anderes Anwendungsgebiet sind Multimediadaten. SiteSpirit ist ein niederländischer Anbieter einer großen Bilddatenbank für die Reisebranche. Diese Unternehmen brauchen oft kurzfristig unterschiedliche Bilder in verschiedenen Größen für ihre Marketing-Kampagnen. Nutzer laden die Bilder hoch, woraufhin diese durch mehrere Serverless-Funktionen den Kundenanforderungen entsprechend angepasst werden. Mit Hilfe von IBM Cloud Functions konnte das Unternehmen seine Kosten um 90 Prozent reduzieren und gleichzeitig den Datendurchsatz deutlich erhöhen.

Auch große Unternehmen sind an dem Thema dran. Eines davon ist Santander. Die spanische Bank hat mit Hilfe von Serverless ein Bilderkennungssystem für Banken-Checks entwickelt, das den bisher manuellen Prozess ersetzt und gleichzeitig dafür sorgt, dass am Monatsende die Anzahl der eingereichten Lohnschecks das IT- System nicht überfordert.

Ein großes Thema ist auch die Einbindung von künstlicher Intelligenz in Unternehmensprozesse mit Hilfe von Serverless. Eine solche Lösung bietet Skylink: Eine Drohne macht während eines Überflugs über ein Gebiet laufend Bilder. Die werden anschließend in eine IBM Datenbank, Cloudant, geladen, die dann wiederum einen IBM Watson Service anstößt, der die Bilder analysiert. Dieses Konzept können beispielsweise Versicherungsgesellschaften einsetzen, um nach einem Unwetter schnell einen Überblick über Schäden an Dächern zu erlangen, ohne Sachverständige vor Ort schicken zu müssen.

Und nicht zuletzt bietet IoT oder das Internet der Dinge eine Menge Potential für Serverless: Abilisense beispielsweise bietet eine vollautomatische Sicherheitslösung auf Basis von Audiodaten an, die zu Hause über Sensoren aufgezeichnet und anschließend sofort analysiert werden, um im Bedarfsfall Alarm auslösen, wenn das Geräusch von brechenden Glas zu hören ist.

Die Zukunft: Serverless für die Entwicklergemeinde

Aktuell arbeitet IBM daran, weitere Services und Technologien zu integrieren und es so Entwicklern zukünftig noch einfacher zu machen, einen Überblick über ihren Code und dessen Betrieb zu behalten und mehr Serverless-Funktionen in komplexe cloudbasierte Anwendungen zu integrieren. Unter anderem der bereits angesprochene IBM Composer wird hierfür bald weitere Funktionen bereitstellen.

Je mehr sich Serverless und seine Funktionen verbessert und die ihnen zugrundeliegenden Parameter sich erweitern, desto populärer wird der Ansatz in der Entwicklergemeinde werden – einfach, weil es Zeit und Kosten spart. In wenigen Jahren wird Serverless DER Standard für die Entwicklung von cloudbasierten Anwendungen sein.

Über das Thema Cloud hat der IBM THINK Blog bereits unter ganz verschiedenen Aspekten berichtet, unter anderem Datenschutz und Sicherheit in der Cloud.

Add Comment
No Comments

Leave a Reply

Your email address will not be published.Required fields are marked *

More Innovation Stories

App für Jugendliche und moderner Begleiter durch den Ernährungsdschungel: Food Jungle

Zwischen 2015 und 2017 ist die weltweite Anzahl der App-Downloads um 60 Prozent gestiegen; gleichzeitig ist auch die Nutzungsdauer von Apps um 30 Prozent angewachsen. Somit verbringt jeder Nutzer laut App Annie durchschnittlich etwa 43 Tage jährlich mit Apps. Besonders Jugendliche finden Apps attraktiv. In Verbindung mit einem spielerischen Ansatz (Gamification) eignen sich Apps für Jugendliche […]

Wie (privat) muss die Cloud sein?

Cloud-Technologien haben sich in den vergangenen Jahren etabliert – laut Bitkom Cloud Monitor 2017 nutzen mittlerweile 65 Prozent der Unternehmen in Deutschland Cloud-Technologien. Nicht nur Startups profitieren von der Flexibilität von Cloud-Infrastrukturen zur Entwicklung neuer Anwendungen, auch im Enterprise Umfeld sind sie längst Standard geworden. Microservices stärken die Innovationkraft der Cloud Lag in der Vergangenheit […]

Wearables im Gesundheitswesen – Chancen durch kognitive Technologien

Individuelle Anpassungen von Therapien und neue Möglichkeiten, dem demografischen Wandel zu begegnen – Wearables im Gesundheitswesen haben im Verbund mit kognitiven Technologien großes Potenzial. Ärzte können durch die kognitive Einbindung tragbarer Sensoren aus kontinuierlich ermittelten, medizinisch relevanten Messwerten individuelle Therapieanpassungen ableiten. Dadurch lässt sich die Qualität der medizinischen Versorgung für den einzelnen Patienten verbessern. Gleichzeitig […]