42 Serverless Computing Cloud & Infrastruktur 4/2017 com! professional S erverless Computing – das klingt wie Atmen ohne Luft, Singen ohne Ton oder Braten ohne Fett. „Serverless im- pliziert das gänzliche Fehlen von Maschinen“, sagt Manuela Rink, Technical Evangelist – Mobile Platform bei der Mi- crosoft Deutschland GmbH, „aber ganz so einfach ist es nicht.“ Natürlich kommt auch Serverless Computing nicht wirklich ohne Rechenressourcen aus – der Anwender küm- mert sich nur nicht mehr darum. „Im Gegensatz zu anderen Cloud-Bereitstellungsmodellen besteht bei Serverless nicht die Notwendigkeit, selbst Infrastruktur aufzusetzen, das übernimmt vollständig der verwaltete Service“, erklärt Sascha Möllering, Solutions Architect bei der Amazon Web Services Germany GmbH (AWS), das Prinzip. Warum Serverless Computing das Zeug zum nächsten großen Cloud-Trend hat. Serverless Computing treibt die Cloud voran Function as a Service Function as a Service Mit Serverless Computing – auch als Function as a Service (FaaS) – bezeichnet, erreicht Cloud-Computing nach Infra- structure as a Service (IaaS) und Platform as a Service (PaaS) die nächste Abstraktionsebene. „Die Einheit, die bereitge- stellt wird, ist eine Funktion, keine Applikation wie bei PaaS oder ein Server wie bei IaaS“, sagt Jens Kuehlers, Cloud Plat- form Solutions Engineer bei Google. Anders als bei Software as a Service (SaaS) ist der Kunde bei FaaS aber nicht auf vorgefertigte Pakete angewiesen, sondern stellt sich mit selbst geschriebenen oder auch vom Provider beziehungsweise aus der Open-Source-Community stammenden Komponenten seinen eigenen Workflow zu- Foto: Fotolia / Maxim Kzmin
6
Embed
Foto: Fotolia / Maxim Kzmin · 42 Serverless Computing Cloud & Infrastruktur 4/2017 com! professional Serverless Computing – das klingt wie Atmen ohne Luft, Singen ohne Ton oder
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
42
Serverless Computing
Cloud & Infrastruktur
4/2017 com! professional
Serverless Computing – das klingt wie Atmen ohne Luft,
Singen ohne Ton oder Braten ohne Fett. „Serverless im-
pliziert das gänzliche Fehlen von Maschinen“, sagt Manuela
Rink, Technical Evangelist – Mobile Platform bei der Mi-
crosoft Deutschland GmbH, „aber ganz so einfach ist es
nicht.“ Natürlich kommt auch Serverless Computing nicht
wirklich ohne Rechenressourcen aus – der Anwender küm-
mert sich nur nicht mehr darum. „Im Gegensatz zu anderen
Cloud-Bereitstellungsmodellen besteht bei Serverless nicht
die Notwendigkeit, selbst Infrastruktur aufzusetzen, das
übernimmt vollständig der verwaltete Service“, erklärt
Sascha Möllering, Solutions Architect bei der Amazon Web
Services Germany GmbH (AWS), das Prinzip.
Warum Serverless Computing das Zeug zum nächsten großen Cloud-Trend hat.
Serverless Computing treibt die Cloud voran
Function as a Service
Function as a ServiceMit Serverless Computing – auch als Function as a Service
(FaaS) – bezeichnet, erreicht Cloud-Computing nach Infra-
structure as a Service (IaaS) und Platform as a Service (PaaS)
die nächste Abstraktionsebene. „Die Einheit, die bereitge-
stellt wird, ist eine Funktion, keine Applikation wie bei PaaS
oder ein Server wie bei IaaS“, sagt Jens Kuehlers, Cloud Plat-
form Solutions Engineer bei Google.
Anders als bei Software as a Service (SaaS) ist der Kunde
bei FaaS aber nicht auf vorgefertigte Pakete angewiesen,
sondern stellt sich mit selbst geschriebenen oder auch vom
Provider beziehungsweise aus der Open-Source-Community
stammenden Komponenten seinen eigenen Workflow zu-
Fo
to: F
oto
lia
/ M
axi
m K
zmin
sammen. „Beim Betreiben einer Serverless-
Computing-Architektur wird eine Anwendung
in einzelne Funktionen wie Benutzer-Registrie-
rung, Login oder Passwort-Erinnerung auf-
geteilt,“ sagt Philipp Müns, Senior Software
Engineer bei Serverless, Inc., dem Entwickler
des ersten Serverless Application Frameworks.
„Diese Funktionen werden anschließend beim
Cloud-Provider hochgeladen und mit Infra-
strukturkomponenten wie Datenbanken oder
Speicher verknüpft.“
Business-Logik im FokusLaut Sascha Möllering von AWS kommt der
Anwender auf diese Weise schneller zu funkti-
onsfähigen Applikationen und kann sich bes-
ser auf die eigentliche Business-Logik dahinter
konzentrieren: „Es besteht nicht mehr die Not-
wendigkeit, sich über das Sizing, die Hochver-
fügbarkeit und das Monitoring von Servern
Gedanken zu machen.“
Außerdem werden Prognosen darüber, ob,
wann und wie viele Nutzer auf eine Applika tion zugreifen,
überflüssig, sagt Philipp Müns von Serverless: „Es ist kein
Problem, von jetzt auf gleich eine Million mehr Anfragen zu
beantworten.“ Bezahlen muss der Kunde nur, wenn eine
Funktion auch wirklich ausgeführt wird. „Diese Art der Ar-
chitektur ist damit deutlich kosteneffizienter“, erklärt Mölle-
ring. Der AWS-Solutions-Architekt weist allerdings darauf
hin, dass sich „Serverless“ nicht mit „NoOps“ gleichsetzen
lässt: „Operations bedeutet deutlich mehr als nur die Admi-
nistration von Servern. Monitoring, Deployment und Networ-
king bleiben als Aufgaben im Software-Betrieb erhalten.“
Durch die extreme Modularisierung einer Serverless-Ap-
plikation können Software-Teams zudem sehr viel unabhän-
giger voneinander arbeiten. Das geht sogar so weit, dass die
Code-Basis auf Funktionsebene verschieden sein kann. „Ist
eine andere Programmiersprache als die sonst im Projekt ver-
wendete für eine bestimmte Aufgabe besser geeignet, kann
das verantwortliche Team sie einfach nutzen, ohne das vor-
her mit der gesamten Entwicklermannschaft absprechen zu
müssen“, so Müns.
Stärkerer Vendor-Lock-inBei Serverless Computing setzt sich ein Trend fort, den man
aus den anderen Bereitstellungsmodellen bereits kennt: Je
mehr man sich von der eigentlichen Infrastruk-
tur entfernt, desto abhängiger wird man vom
jeweiligen Cloud-Provider.
Lassen sich beispielsweise virtuelle Maschi-
nen noch recht einfach von einem IaaS-Ange-
bot auf ein anderes verschieben, so wird der
Umzug einer Applikation bei PaaS bereits
schwieriger und ist bei FaaS mit ganz erheb-
lichem Aufwand verbunden. „Baut man eine
Anwendung innerhalb einer Plattform, lässt
sich nicht ohne Weiteres der Anbieter wechseln
oder die Applikation beliebig woanders hos-
ten“, sagt Manuela Rink von Microsoft.
René Büst, Director Market Research & Tech-
nology Evangelism beim KI-Spezialisten Ara-
go, sieht im Vendor-Lock-in allerdings nicht
notwen digerweise ein Problem: „Wer sich oh-
nehin für eine Cloud-Umgebung wie AWS oder
Microsoft Azure entschieden hat, um dort eine
Microservice-Architektur aufzubauen, der wird
auch nicht vor Serverless Computing zurück-
schrecken.“ Statt sich um Abhängigkeiten Sor-
gen zu machen, sollte man lieber die vielen vorgefertigten
Services optimal nutzen, die solche Plattformen zur Verfü-
gung stellen, rät Büst. „So bekommt man seine Applikation
sehr viel schneller lauffähig, als wenn man alles selbst entwi-
ckeln müsste.“
Aber auch wenn man sich ganz auf einen Anbieter verlas-
sen will, gibt es auf dem Weg zu einer Serverless-Infrastruk-
tur einige Hürden. Noch ist die Technologie neu, vielfach
fehlt das Know-how. „Entwickler, die ausreichend Erfahrung
in diesem Bereich sammeln konnten, sind aktuell nicht leicht
zu finden“, sagt Philipp Müns.
Experimentierfreude und eine gewisse Frustrationstoleranz
sollte man deshalb schon mitbringen, wenn man sich auf Ser-
verless einlässt. Erfolge stellen sich aber relativ schnell ein,
weiß Michael Muckel, Vice President of Engineering bei der
ProSiebenSat1-Tochter glomex, aus eigener Erfahrung: „Die
Lernkurve ist sehr steil.“ (siehe dazu auch das Interview auf
Seite 48).
Ideal für neue ProjekteFür erste Gehversuche mit Serverless Computing eignen sich
deshalb vor allem neue Projekte. Sie sollten überschaubar
und relevant, aber nicht geschäftskritisch für ein Unterneh-
men sein. Ein gutes Beispiel für ein solches Projekt ist die in
mehreren Ländern durchgeführte „Face of Kinder“-Kampa-
gne des Süßwarenherstellers Ferrero, bei der Eltern Porträt-
fotos ihrer Sprösslinge auf eine Internetplattform hochladen
können. Dort wird dann per Voting über das Gesicht ent-
schieden, das künftig als „Face of Kinder“ in der jeweiligen
Region auf der Schokoladenpackung zu sehen ist.
Basierte die erste, in Brasilien durchgeführte Aktion noch
auf einer eher klassischen Cloud-Infrastruktur, so setzte der
Hersteller für Folgeprojekte in Ungarn, Mexiko und Israel
den Serverless-Dienst AWS Lambda ein. Mit dieser Entschei-
dung ließ sich nicht nur die Dauer des Rollouts auf weni-
43
Cloud & InfrastrukturServerless Computing
com! professional 4/2017
▶
„Im Gegensatz zu
anderen Cloud-Modellen
besteht bei Serverless
nicht die Notwendigkeit,
selbst Infrastruktur
aufzusetzen.“
Sascha Möllering
Solutions Architect Amazon
Web Services
https://aws.amazon.
com/de
Fo
to: A
WS
„Beim Betreiben einer Server-
less-Computing-Architektur wird
eine Anwendung in einzelne
Funktionen (…) aufgeteilt.“
Philipp Müns
Senior So'ware Engineer
Serverless Inc.
https://serverless.com
Fo
to: S
erv
erl
ess
Inc.
ge Wochen reduzieren, auch die Gesamtkosten
für den Betrieb sanken um 75 Prozent, da kei-
ne Infrastruktur vorgehalten werden musste,
sondern nur Kosten anfielen, wenn Anwender
die Funktionen auch tatsächlich nutzten.
Das Ferrero-Projekt ist noch aus weiteren
Gründen sehr gut für die Umsetzung mit Ser-
verless Computing geeignet: Es ist zeitlich be-
grenzt, weshalb es wenig sinnvoll ist, eine kom-
plexe Infrastruktur dafür aufzubauen und zu
unterhalten. Außerdem lässt sich die Nachfra-
ge kaum abschätzen, vor allem aber schwankt
sie extrem: „Immer wenn ein Radio- oder Fern-
sehspot die Aktion bewirbt, steigen die Up-
load-Zahlen innerhalb von Sekunden enorm
an“, sagt Dieter Berz-Vöge, Geschäftsführer
beim Dienstleister Storm Reply, der sich auf die
Umsetzung von Kundenprojekten auf der Ama-
zon-Plattform AWS spezialisiert hat und unter
anderem die Internetauftritte der meisten Fer-
rero-Marken betreut.
Diese Verkehrsspitzen ließen sich mit AWS Lambda sehr
gut abfangen, so Berz-Vöge weiter. „Unsere Erfahrungen zei-
gen, dass Serverless-Services linear skalieren.“ Beim Einsatz
von Autoskalierungsmechanismen oder Docker-Systemen
könne es dagegen in der Aufwärmphase zu Verzögerungen
und Leistungseinbußen kommen.
Im Umkehrschluss wird klar, für welche Szenarien sich Ser-
verless Computing zumindest derzeit noch nicht eignet: Kom-
plexe, geschäftskritische Applikationen, die womöglich noch
auf einer herkömmlichen Software-Architektur basieren und
viele Abhängigkeiten von proprietären Systemen aufweisen,
sollte man sicher nicht als erstes Serverless-Computing-Pro-
jekt auswählen. Bestimmte Aufgaben lassen sich aber auch
in solchen Umgebungen gut als Function as a
Service auslagern, so zum Beispiel ETL-Prozes-
se (Extract, Transform, Load) oder andere For-
men von Data-Pipelines.
Wenig sinnvoll ist eine Migration auch bei re-
lativ statischen Plattformen, bei denen das Traf-
fic-Aufkommen vorhersehbar ist. „Hierbei ist es
meist einfacher, die Applikation wie bisher zu
entwickeln und auf einen üblichen Server hoch-
zuladen“, sagt Philipp Müns von Serverless.
Die Serverless-AngeboteAuch wenn Serverless Computing vor allem in
Entwicklerkreisen auf großes Interesse stößt,
ist das Angebot noch überschaubar.
Eine relativ große Zahl an Anwendern, die
Serverless Computing tatsächlich produktiv
einsetzen, kann der Amazon-Service AWS
Lambda vorweisen. Der Dienst, 2014 auf der
AWS-Konferenz re:invent vorgestellt, wird be-
reits von Unternehmen wie Coca Cola, Ferrero, Thomson
Reuters, Periscope und Associated Press oder auch der Pro-
SiebenSat1-Tochter glomex produktiv eingesetzt.
AWS Lambda kann aus verschiedenen anderen AWS-Ser-
vices wie Amazon S3, DynamoDB, Kinesis oder Cognito auf-
gerufen werden. Lädt ein Nutzer beispielsweise ein Bild in ei-
nen definierten S3-Bucket, so lässt sich aus diesem Ereignis
automatisch eine Lambda-Funktion anstoßen, die das Bild
bearbeitet. Über Amazon Echo beziehungsweise Lex kann
der Entwickler seine Funktion sprachgesteuert triggern. Ei-
gene Aufrufe lassen sich über das Amazon API Gateway per
HTTPS definieren. Es ist auch möglich, eine Lambda-Funkti-
on direkt aus einer Applikation anzustoßen, ohne dass eine
Event-Quelle definiert werden muss.
44
Serverless Computing
Cloud & Infrastruktur
4/2017 com! professional
Diese Argumente sprechen für oder gegen den Einsatz von Function as a Service:
☑ Kein Verwaltungsaufwand. Der Provider stellt die für die
Ausführung der Funktionen notwendige Cloud-Umgebung
zur Verfügung.
☑ Skalierbarkeit. Funktionen können beliebig o' aufgerufen
werden, ohne dass bei der Entwicklung oder im Betrieb
Skalierungsmechanismen definiert werden müssen.
☑ Kostenflexibilität. Der Kunde bezahlt nur, wenn eine Funk-
tion auch tatsächlich genutzt wird.
☑ Schnelligkeit. Da sich Entwickler ganz auf die funktionalen
Aspekte eines Projekts konzentrieren können, lassen sich
Lösungen schneller auf den Markt bringen.
☑ Unabhängigkeit. Einzelne Funktion sind unabhängig von-
einander lau+ähig und können sogar in unterschiedlichen