Am 25.1. war Niko Köbler bei der Java User Group in Frankfurt und hat einer Vortrag mit dem Titel „Weniger ist mehr! – Serverless Cloud Architectures“ gehalten.
Los ging es mit einer Motivation warum Serverless Sinn machen kann, aber dass es auch nicht die „Silver Bullet“ ist.
Anschliessend ist Niko auf das „Serverless compute Manifesto durchgegangen und hat erklärt, was man unter Serverless generell versteht.
Wobei die wichtigsten Punkte dabei sind, dass
– Funktionen die Deploymenteinheit sind.
– die benutze Technologie (VMs,Hardware, Docker) transparent ist.
– Um die Persistenz kümmert man sich woanders
– Um die Skalierung muss sich der User/Programmierer nicht kümmern.
– Man zahlt nur für benutzte Rechenzeit
– Gerade durch die genannten Punkte, ist das System fehlertolerant, weil eine Funktion überall ausgeführt werden kann und an keinen speziellen Ort oder Hardware gebunden ist.
– Man verwendet seinen eigenen Code und ist selbst dafür verantwortlich.
– Metriken und Logging sind ein Grundbestandteil, damit es überhaupt möglich ist die Ausführung zu überwachen und ggf. Fehler zu finden.
Anschließend hat Niko das Konzept gegen PaaS abgegrenzt.
Also PaaS vs. FaaS verhält sich, wie DevOps zu NoOps, um dann zu Lambda und der AWS von Amazon überzuleiten.
Bei der Amazon AWS hat er die Ideen (Event-basiert) dahinter beschrieben, die unterstützten Sprachen aufgezählt und das Bezahlmodell erklärt.
Nach zwei kurzen Beispielen (NodeJS und Java), hat Niko einige Events aufgezählt und ist danach auf das API-Gateway eingegangen und hat am Beispiel von Netflix beschrieben, was sich dahinter verbirgt.
Weiter ging es dann mit einem Beispiel, bei dem ein REST-Service deployed wurde, der DynamoDB verwendet, um Daten zu persistieren. Dabei kam auch das Kostenmodell von von DynamoDB zur Sprache. Im Anschluss hat Niko an verschiedenen Beispielen gezeigt, wie die einzelnen Bausteine, die Amazon liefert, kombiniert werden können, um „bekannte“ Architekturen mit Amazon-Mitteln nachzubauen (z.B. 3-Schichten Web-Anwendung)
Das Thema Testen darf natürlich auch nicht fehlen, wobei einzelne Funktionen sehr leicht zu testen sind. Schwieriger wird es erst, wenn Integrationstests durchgeführt werden soll. Aber auch da hat man die Möglichkeit diese direkt bei Amazon durchzuführen, weil man normalerweise keine Amazon-Cloud im Keller stehen hat. ;-)
Anschliessend hat Niko noch die Konkurrenten von Amazon aufgezählt und ist jeweils kurz auf sie eingegangen (Google, Microsoft, IBM)
Abschliessend hat Niko auch noch die Nachteile oder Probleme beschrieben, die bei Serverless auftreten können und Tipps gegeben, wie man selbst mit dem Serverless-Framework starten kann.
Während des gesamten Vortrags gab es immer wieder interessante Diskussionen über einzelne Punkte (beispielsweise das Bezahlmodell oder auch die SLAs)
Insgesamt war es ein sehr schöner Überblick darüber, was sich hinter Serverless verbirgt und wie man es nutzen kann, um schnell eine Idee umzusetzen ohne erstmal in eigene Hardware investieren zu müssen.
Vielen Dank an Niko für den Vortrag!
Wer mehr über das Thema wissen möchte, der sei auf das Buch von Niko hingewiesen, welches gerade entsteht und voraussichtlich Mitte des Jahres bei Entwickler.press veröffentlicht wird.