Der Code im Nichts?

Die Serverless Cloud – eine Einführung (Teil 3): Eine Ökonomie des Teilens

Bart Blommaerts

© Shutterstock / vs148

In dem dritten Teil seiner Serverless-Cloud-Serie, schaut JAX-Redner Bart Blommaerts auf Serverless als Enabler eine Ökonomie des Teilens.

Dieser Artikel wurde ursprünglich in englischer Sprache auf Bart Blommaerts Blog Daggie.be veröffentlicht. Zudem hielt Bart auf der diesjährigen JAX London den thematisch passenden Vortrag „The Serverless Cloud“.

Im ersten Teil der Serie habe ich den Serverless-Architekturstil vorgestellt. Im zweiten Teil habe ich alle wichtigen Serverless Provider verglichen. In dritten und letzten Teil werde ich mich auf das Serverless-Konzept als den Enabler einer Ökonomie des Teilens fokussieren.

Was bedeutet Ökonomie des Teilens?

Benita Matofska: Die Sharing Economy ist ein sozioökonomisches Ökosystem, aufgebaut auf der gemeinsamen Nutzung von menschlichen, physischen und intellektuellen Ressourcen.

Es beinhaltet die gemeinsame Erschaffung, Produktion, Verteilung sowie den Handel und Konsum von Gütern und Dienstleistungen zwischen verschiedenen Personen und Organisationen.

Der letzte Teil von Benitas Zitat „gemeinsame Erschaffung, Produktion von Dienstleistungen zwischen verschiedenen Personen und Organisationen“ ist ein schöner Anwendungsfall für den Serverless-Stil für das Bauen von Anwendungen.

Deine Daten

In der heutigen Zeit sind alle Firmen zu IT-Firmen geworden. Dies bedeutet, dass irgendwo viele Daten gesammelt und gelagert werden. Oftmals wandelt sich die Nutzung von verfügbaren Daten mit der Zeit. Wenn Daten nicht für den Vorteil des Unternehmens oder seiner Angestellten genutzt werden, wie behalten sie dann ihren Wert? Wäre es nicht schön, wenn wir Kosten in Profit umwandeln könnten?

Dank seines Kosten-Modells („Pay-per-execution“), dem Fokus auf Skalierbarkeit (kein Risiko einer Überprovisionierung) und Resilience ermöglicht Serverless, Firmen damit zu experimentieren, ihre Daten offenzulegen:

  • Ein API anbieten, das andere nutzen können
  • Existierende APIs mit ihren eigenen Daten verbessern

Deine Ideen

Serverless ist auch sinnvoll für diejenigen Firmen, die ihre Daten nicht offenlegen möchten und stattdessen tolle oder neue Konzepte haben, die Daten von anderen zu nutzen:

  • Die Daten von mehreren Providern miteinander kombinieren
  • Data filtern und transformieren
  • Neue Geschäftsmöglichkeiten jenseits des ursprünglichen API

Ein Beispiel

Ich habe eine kleine und simple Applikation implementiert, die Daten von verschiedenen Serverless-Cloud-Anbietern konsumieren wird. Jeder „hop“ im System wird seinen Input parsen und einige neue Daten hinzufügen.

Abb. 1: Die Komponenten der Serverless-Anwendung

Die Erklärung

Jeder Klient kann eine JSON zu der ersten Funktion posten, erstellt mit einem Auth0 Webtask. Der Body des Post-Requests ist dann einfach:

{"temp":"42"}

Die WebTask wird den Input parsen, eigenen hinzufügen und einen Request an eine IBM OpenWhisk-Aktion posten.

{
  "hops": [
    {
      "provider": "Auth 0 Webtask",
      "start": "2016-08-24T20:32:03.629Z",
      "temperature": "42",
      "stop": "2016-08-24T20:32:03.629Z"
    }
  ]
}

Um die Kette fortzuführen, wird IBM OpenWhisk den geparsten JSON an eine Funktion auf der AWS Lambda-Plattform posten nachdem ein neuer „hop“ hinzugekommen ist.

{
  "hops": [
    {
      "provider": "Auth 0 Webtask",
      "start": "2016-08-26T18:38:25.021Z",
      "temperature": "44",
      "stop": "2016-08-26T18:38:25.021Z"
    },
    {
      "provider": "IBM OpenWhisk",
      "start": "2016-08-26T18:38:35.024Z",
      "temperature": "42",
      "stop": "2016-08-26T18:38:35.024Z"
    }
  ]
}

Das Lambda, erstellt mit der Serverless V1.0 Beta 2, wird den Input erneut parsen und ein Item in einer AWS DynamoDB erstellen:

Abb. 2: AWS-DynamoDB-Tabelle

Die AWS DynamoDB-Tabelle wird das Event an einen anderen AWS Lamdba streamen, das wiederum den Content des Events auf dem Log des AWS CloudWatch protokollieren wird.

Abb. 3: Log von AWS CloudWatch

Der Sourcecode für all diese Komponenten ist auf GitHub verfügbar.

Best Practice

Natürlich würde ich niemandem empfehlen, für jede Funktion einen anderen Cloud-Anbieter zu nutzen. Den richtigen auszuwählen, hängt von den spezifischen Anforderungen, Zielen und der gegenwärtig verwendeten Cloud-Landschaft ab. In dem vorherigen Teil dieser Serie lassen sich Tipps für die richtige Entscheidung finden.

Danksagung

Ich möchte mich bei meinem Ordina-Kollegen Ken Coenen bedanken, der vor einigen Monaten mit mir gemeinsam an einer Kollaborativen Ökonomie gearbeitet hat.

Verwandte Themen:

Geschrieben von
Bart Blommaerts
Bart Blommaerts
Bart ist leidenschaftlicher Architekt von Apps. Er glaubt, es ist essentiell die Lücke der Model-Codes zu schließen, um schnelle, agile Deliveries nachhaltig zu machen. Bart hat einen starken Focus auf API Design, Wiederverwertung, Automatisierung und Sicherheit. Er ist ständig auf der Suche nach technischen Herausforderungen. Außerdem ist Bart im Aufsichtsrat von verschiedenen JWorks Competence Center Leads bei Ordina.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: