Cloud Computing Teil 2 (Infrastructure/Platform/Software as a Service, Serverless und Edge Computing) – Anwendungsentwickler-Podcast #119

Nach der Einleitung ins Thema Cloud Computing beim letzten Mal geht es heute um die zentralen „Buzzwords“ XaaS, Serverless und Edge Computing in der einhundertneunzehnten Episode des Anwendungsentwickler-Podcasts.

Probeabo bei Audible (Affiliate)

Inhalt

  • Infrastructure as a Service (IaaS)
    • Um den Wartungsaufwand für den Endkunden zu reduzieren, kamen IaaS-Anbieter wie Amazon EC2 oder Microsoft Azure auf die Idee, komplette VMs inkl. Betriebssystemen anzubieten.
    • Vorteile
      • Sehr leicht zu skalieren.
      • Wenig/kein Wartungsaufwand.
      • Kann komplett ohne eigene Hardware in der Cloud betrieben werden.
      • Geringe Anfangsinvestition.
    • Nachteile
      • Abhängigkeit vom konkreten Anbieter.
      • Nicht offline nutzbar.
      • Betriebssystem ist ggfs. vorgegeben bzw. nicht alle Betriebssysteme möglich.
    • Beispiele: Amazon Web Services, Microsoft Azure
  • Platform as a Service (PaaS)
    • In vielen Fällen liefert die eigene Konfiguration der Infrastruktur keinen Mehrwert für den Endkunden oder die Entwickler der Anwendung. Wer einfach nur die Plattform zur Ausführung seiner Anwendung braucht, und sich nicht um die Technik darunter kümmern will, der kann sich direkt die nötige Plattform mieten.
    • Vorteile
      • Sehr einfach skalierbar.
      • Keinerlei Administration des Betriebssystems nötig.
      • Fokus auf die Entwicklung der eigentlichen Anwendung möglich.
    • Nachteile
      • Anwendung muss Architekturkonzept der Plattform unterstützen.
      • Es können nur die angebotenen Infrastruktur-Dienste verwendet werden.
    • Beispiele: Microsoft Azure, Amazon Elastic Beanstalk.
  • Container
    • Um die Konfiguration der Laufzeitumgebung und auch der verschiedenen Komponenten wie Datenbank, Messaging usw. zu vereinfachen, kann man Container-Dienste wie Docker nutzen.
    • Vorteile
      • Beschreibung der Laufzeitumgebung als ausführbare Datei (Infrastructure as Code).
      • Komplett automatisierbar.
      • Sehr einfach skalierbar.
    • Nachteile
      • Initial hoher Aufwand.
      • Nicht für alle Anwendungen geeignet.
    • Beispiele: Docker.
  • Software as a Service (SaaS)
    • Wer auch die Anwendung selbst nicht mehr entwickeln will, kann sich fertige Applikationen mieten.
    • Vorteile
      • Einfaches Abrechnungsmodell.
      • Keinerlei Administration mehr nötig.
      • Fokus auf die Fachlickeit.
    • Nachteile
      • Kaum Möglichkeiten der individuellen Anpassung.
      • Starke Bindung an den SaaS-Anbieter.
      • Ggfs. Datenschutz-Probleme.
    • Beispiele: Google Docs, Office 365, Gmail, Salesforce.
  • Function as a Service (FaaS, Serverless Computing)
    • Wer seine eigene Anwendung aus kleinen funktionalen Bausteinen erstellen möchte, die individuell skalierbar sind, ist mit einem FaaS-Anbieter gut bedient.
    • Vorteile
      • Sogar einzelne Teile der Anwendung sind individuell skalierbar.
      • Neue Anwendungsfälle können schnell aus bestehenden Diensten zusammengebaut werden.
      • Transparente Abrechnung nach konkreter Nutzung.
    • Nachteile
      • Sehr starke Abhängigkeit vom FaaS-Anbieter.
      • Evtl. komplizierte Architektur.
    • Beispiele: Amazon Lambda, Azure Functions.
  • Edge Computing
    • Gerade das aktuell stark wachsende Internet der Dinge produziert eine enorme Menge an Daten. Wenn diese komplett in die Cloud transferiert werden müssten, um dort verarbeitet zu werden, würde es schnell zu Latenzproblemen kommen. Daher wandert die (Vor-)Verarbeitung dieser Datenströme zurück ins eigene Netz. Die Daten werden „am Rand“ (=Edge) des Netzwerkes aggregiert und erst danach in die Cloud geladen (z.B. zur dauerhaften Speicherung oder als Datenbasis für Anwendungen).

Links

Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

1 comment on “Cloud Computing Teil 2 (Infrastructure/Platform/Software as a Service, Serverless und Edge Computing) – Anwendungsentwickler-Podcast #119

  1. Ingo sagt:

    Kurz angemerkt:

    In der letzten Episode des „Talking Kotlin“ Podcast mit Hadi Hariri

         http://talkingkotlin.com/Going-serverless-with-marcos-placona/

    geht es um’s Thema „Going Serverless“, mit Marcos Placona, Google Developer Expert (GDE) @TWILIO.

    Zwar ist „Talking Kotlin“ ein Podcast, der sich diesen Themen aus der Perspektive von Kotlin Developern widmet, allerdings ist ganz vieles in dieser Episode so allgemeinverständlich bzw. generisch, dass es IMHO prima zum aktuellen Thema „Cloud Computing“ dieses feinen Podcasts passt. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax