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.
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.VorteileSehr leicht zu skalieren.Wenig/kein Wartungsaufwand.Kann komplett ohne eigene Hardware in der Cloud betrieben werden.Geringe Anfangsinvestition.NachteileAbhängigkeit vom konkreten Anbieter.Nicht offline nutzbar.Betriebssystem ist ggfs. vorgegeben bzw. nicht alle Betriebssysteme möglich.Beispiele: Amazon Web Services, Microsoft AzurePlatform 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.VorteileSehr einfach skalierbar.Keinerlei Administration des Betriebssystems nötig.Fokus auf die Entwicklung der eigentlichen Anwendung möglich.NachteileAnwendung muss Architekturkonzept der Plattform unterstützen.Es können nur die angebotenen Infrastruktur-Dienste verwendet werden.Beispiele: Microsoft Azure, Amazon Elastic Beanstalk.ContainerUm die Konfiguration der Laufzeitumgebung und auch der verschiedenen Komponenten wie Datenbank, Messaging usw. zu vereinfachen, kann man Container-Dienste wie Docker nutzen.VorteileBeschreibung der Laufzeitumgebung als ausführbare Datei (Infrastructure as Code).Komplett automatisierbar.Sehr einfach skalierbar.NachteileInitial 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.VorteileEinfaches Abrechnungsmodell.Keinerlei Administration mehr nötig.Fokus auf die Fachlickeit.NachteileKaum 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.VorteileSogar einzelne Teile der Anwendung sind individuell skalierbar.Neue Anwendungsfälle können schnell aus bestehenden Diensten zusammengebaut werden.Transparente Abrechnung nach konkreter Nutzung.NachteileSehr starke Abhängigkeit vom FaaS-Anbieter.Evtl. komplizierte Architektur.Beispiele: Amazon Lambda, Azure Functions.Edge ComputingGerade 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
Permalink zu dieser Podcast-EpisodeRSS-Feed des PodcastsEdge ComputingLäutet Fog Computing das Ende der Cloud ein?Amazon Elastic Beanstalk Tutorial – The ULTIMATE GuideServerless FaaS with AWS Lambda and JavaServerlos durch die Nacht: Wie gehen Funktionen ohne Server?