Mit Serverless Computing Zeit schaffen für Neues

Die grossen Public Cloud-Anbieter bieten ein enormes Spektrum an Services an. Eines davon ist das Serverless Computing, welches ermöglicht eine Anwendung zu erstellen und auszuführen ohne dabei den Server selbst verwalten zu müssen. Der nachstehende Beitrag beschreibt wie man die Basis für Serverless-Dienste mittels CloudFormation bei AWS bereitstellt.

Was ist Serverless Computing?

Serverless (Serverlos) Computing heisst nicht, dass es keine Server mehr braucht, sondern dass die Serverinfrastruktur vom Cloud-Anbieter selbst betreut und verwaltet wird. Man kann sich auf die Datenverwaltung, Codebereitstellung und Integration von Anwendungen konzentrieren und muss sich nicht mehr um die Server selbst kümmern.

FaaS und SaaS gehören zu den beiden Serverless Servicemodellen der Public Cloud Provider. (Quelle: CAS CPM HSLU)

AWS bietet Serverless-Dienste für folgende drei Ebenen

Vorteile von Serverless

  • Da Serverless die Umstellung auf DevOps vorantreibt, führt dies für höhere Entwicklerproduktivität und geringere Betriebskosten.
  • Es minimiert die Routineaufgaben, da die Infrastruktur vom Cloud-Anbieter verwaltet wird.
  • Ein weiterer Vorteil ist die Minimierung der Betriebskosten. Man bezahlt nur noch die Nutzung des Service (pay-as-you-use). Falls der Service in der Nacht nicht genutzt wird, zahlt man auch nicht dafür.
  • Der Serverless-Anbieter kümmert sich um die automatische Fehlertoleranz und Skalierung des Services.

Nachteile von Serverless

  • Es besteht eine Serviceabhängigkeit zum Cloud-Anbieter und könnte unerwartete Kosten bei einer Migration mitbringen. (Vendor Lock-in)
  • Man verliert die Kontrolle und Verantwortung, was wiederum das Debugging erschweren kann.
  • Die Funktion der Serverless Services können nicht geändert werden.

Ein kleines Praxis Beispiel zum nachbauen

Falls du noch keinen AWS Account hast erstelle dir nach folgender Anleitung einen. 

Basis Serverless Stack mit S3 Bucket
Als erstes erstellen wir ein Stack in AWS CloudFormation mittels Template welches ich auf github hochgeladen habe.

  1. Melde dich an und navigiere zu CloudFormation
  2. Erstelle ein neuen Stack (Mit neuen Ressourcen)
  3. Lade das zusammengestellte Template von mir hoch (github)
  4. Fülle die Stack Details entsprechend mit deinen eigenen Werten aus
StackDefinition
Textfelder für die Definition des Stacks und S3 Bucket. (Quelle: eigener Screenshot)
  1. Als letztes kommt die Konfiguration der Stack Optionen. Fülle die Tags ein oder erweitere diese beliebig.
StackTagging
Textfelder für das Tagging (Quelle: eigener Screenshot)

Das Ergebnis ist unter «Amazon S3» zu finden. Dort sieht man nun unseren S3 Bucket mit dem Namen «blogging».

S3Bucket
S3 Bucket Management Einstellungen (Quelle: eigener Screenshot)

Der erstelle S3 Bucket hat eine Regel, welche die Daten nach 90 Tagen auslaufen und nach weiteren 90 Tagen gelöscht werden. Für ein tieferes Learning empfehle ich mein Template mit den Informationen auf der Weboberfläche zu vergleichen.

Weiterführende Links
https://aws.amazon.com/de/serverless/
https://www.redhat.com/de/topics/cloud-native-apps/what-is-serverless
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html

Beitrag teilen

Mathieu Ineichen

Mathieu Ineichen ist System Engineer & Deputy Head of Cloud Solutions bei der a&f systems ag und bloggt aus dem Unterricht des CAS Cloud und Plattform Manager.

Alle Beiträge ansehen von Mathieu Ineichen →

Schreibe einen Kommentar