Wenn Sie im Jahr 2022 eine Big-Data-Anwendung entwickeln, werden Sie sich höchstwahrscheinlich zwischen einer traditionellen Cloud-Architektur auf Basis von Containern und einer serverlosen Architektur entscheiden müssen. In diesem Blogbeitrag untersucht K&C Big Data & AI Consulting and Development, warum serverlose Architekturen für Anwendungen und Plattformen, die mit Big Data arbeiten, immer beliebter werden.
Sowohl Serverless als auch Container bieten im Vergleich zu ihren Vorgängern enorme Kostenvorteile. Vor dem Zeitalter kostengünstiger, skalierbarer öffentlicher Cloud-Plattformen (man vergisst leicht, dass AWS erst 2006 eingeführt wurde und mehrere Jahre brauchte, um sich durchzusetzen) waren die Erkenntnisse aus der Big-Data-Analyse aufgrund der damit verbundenen Infrastrukturkosten praktisch auf große Unternehmen beschränkt. Außerdem gab es insgesamt viel weniger Daten, da die vernetzten Geräte, die heute so viele Daten produzieren, ebenfalls eine Folge der Cloud-Computing-Revolution sind.
Die Cloud-Entwicklung führte zur Entstehung von Containern, wodurch Anwendungen in kleinste unabhängige Module unterteilt werden konnten, was sinnvoll war und die Geschwindigkeit, Effizienz und Zuverlässigkeit verbesserte. Bei Big-Data-Projekten bestand der Vorteil von Containern, die in VMs ausgeführt werden, gegenüber den zuvor verwendeten containerlosen VMs auch darin, dass sie Big-Data-Anwendungen hardware- und GPU-unabhängig machten und die Effizienz der GPU-Nutzung verbesserten.
Serverless geht noch einen Schritt weiter und bietet Containers-as-a-Service, wodurch die Einrichtung und Verwaltung der zugrunde liegenden VM-Infrastruktur entfällt. Das Softwareentwicklungsteam muss nur mit dem Container interagieren.
Die Experten von K&C sind der Meinung, dass eine serverlose Architektur zwar noch nicht immer die richtige Lösung für Big-Data-basierte KI-Anwendungen ist, die Technologie sich jedoch in diese Richtung entwickelt.
In diesem Artikel untersuchen wir, warum Serverless so gut für die Verarbeitung von Big Data geeignet ist. Und warum die Serverless-Architektur generell zu einem so beliebten Ansatz für die App-Entwicklung wird.
Die Entwicklung der Big-Data-Infrastruktur – von Hadoop zur Cloud und von Containern zu Serverless
Im Jahr 2012 veröffentlichte Forbes einen Gastbeitrag über den Aufstieg von Big Data, verfasst von John Bantleman, CEO des Datenbanksoftwareunternehmens Rainstor. Das „Zeitalter von Big Data” wurde eingeläutet. Bantleman schrieb:
„Wir sind in das Zeitalter von Big Data eingetreten, in dem jeden Tag neue Geschäftsmöglichkeiten entdeckt werden, da innovative Datenmanagement-Technologien es Unternehmen nun ermöglichen, alle Arten von Daten zu analysieren.“
Bantleman warnte jedoch schnell davor, dass die Geschäftsmöglichkeiten, die Big Data eröffnete, mit Kosten verbunden seien, die noch nicht abgeschätzt werden könnten. Das Sammeln, Speichern, Verarbeiten und Verwenden von KI-/Maschinellen Lernalgorithmen zur Analyse der riesigen Mengen an semi- und unstrukturierten Daten, die generiert werden, erfordert enorme Rechenressourcen.
Herausforderungen der Big-Data-Architektur
Die Infrastruktur jeder Anwendung, die für die Verarbeitung von Big Data entwickelt wurde, muss die folgenden Fragen beantworten und die folgenden Herausforderungen bewältigen:
- Welches Datenvolumen muss oder könnte Ihre Anwendung verarbeiten müssen?
- Wie viel Rechenleistung benötigen Sie?
- Um wie viel Prozent wird das Datenvolumen voraussichtlich zunehmen?
- Ist es wahrscheinlich, dass der Datenfluss ungleichmäßig ist, mit Spitzen oder Einbrüchen im Datenverkehr zu verschiedenen Tageszeiten und/oder saisonal?
- Daten, die aus mehreren Quellen stammen und in inkonsistenten Formaten vorliegen, z. B. strukturiert und unstrukturiert, und die Anomalien enthalten oder bei denen unnötige „Stördaten“ entfernt werden müssen.
Bevor Cloud und Serverless Speicher- und Rechenressourcen als Dienstleistung anboten, bedeutete die Verarbeitung von Big Data den Aufbau und die Wartung der dafür erforderlichen Serverinfrastruktur. Diese musste groß genug sein, um auch gelegentliche Spitzen im Datenfluss bewältigen zu können.
Gerade Anomalien wie Spitzen und Tiefpunkte im Datenfluss liefern oft die wertvollsten wissenschaftlichen oder kommerziellen Erkenntnisse. Eine Anwendung, die gelegentliche Spitzen bewältigen kann, erforderte jedoch die Anschaffung und Wartung einer teuren Infrastruktur, die die meiste Zeit über redundant war.
Zuerst Hadoop und dann Cloud Computing haben das geändert. Durch die Verteilung von Big-Data-Sätzen auf viele günstige „Commodity-Server“-Knoten, die sich zu einer Rechenressource verbinden, die riesige Datensätze speichern und verarbeiten kann, hat Hadoop die Kosten für skalierbare Bare-Metal-Infrastruktur deutlich gesenkt.
Der Artikel von Bantleman Forbes aus dem Jahr 2012 schätzte die Kosten für einen Hadoop-Cluster und eine Verteilungsanlage für Big Data auf etwa 1 Million US-Dollar, verglichen mit 10 bis 100 Millionen US-Dollar für Unternehmensdatenbanken. Aber natürlich ist 1 Million US-Dollar immer noch kein Kleingeld und stellte eine Eintrittsbarriere dar, die die meisten von Big-Data-Anwendungen fernhielt.
Als Nächstes kamen Cloud Computing und Container. Cloud-Anbieter wie AWS verwandelten Rechenleistung in eine Dienstleistung – wodurch keine großen Vorabinvestitionen in die Hardware-Infrastruktur mehr erforderlich waren. Das nutzungsabhängige und flexibel skalierbare Modell öffentlicher Cloud-Plattformen wie AWS öffnete die Tür für Experimente und Innovationen, die zu einem reichhaltigen Open-Source-Entwicklungsökosystem führten.
Dadurch konnten auch viele junge Unternehmen, die Big Data nutzen, wachsen und florieren, die sonst mit viel größeren Markteintrittsbarrieren zu kämpfen gehabt hätten.
Cloud Computing bedeutete keine Vorabinvestitionen und nur die Bezahlung der Rechenleistung, die für unregelmäßige Datenverkehrsspitzen benötigt wurde, wenn diese auftraten.
Big Data-gestützte KI gibt der Menschheit das Wissen, um die Welt zu verändern.
Die Demokratisierung von Big Data durch Cloud Computing kann als Katalysator für eine neue technologische Revolution angesehen werden. Eine Revolution, die digitale Technologie und Biotechnologie umfasst. Revolutionen, die in der Medizin, Pharmazie, Finanzwirtschaft, im Handel, in der Landwirtschaft, Lebensmitteltechnologie und so ziemlich jedem anderen Bereich, den man sich vorstellen kann, an Fahrt gewinnen, finden statt, weil Start-ups und KMUs es sich nun leisten können, Big-Data-Anwendungen zu entwickeln und zu betreiben.
Das maschinelle Lernen, das sich auf bisher nicht erkennbare Muster konzentriert, beschleunigt plötzlich neue Entdeckungen.
Innerhalb weniger Jahrzehnte wird die Welt, in der wir leben, nicht mehr wiederzuerkennen sein. Ja, die Technologie hat sich in den vergangenen Jahrzehnten rasant weiterentwickelt. Aber was Cloud-basierte Big Data und KI in den nächsten Jahren leisten werden, wird einen Paradigmenwechsel bedeuten.
Wir werden wahrscheinlich die meisten bisher unheilbaren Krankheiten und Leiden heilen können. Das menschliche Genom und die Genome anderer Lebensformen werden entschlüsselt werden. Autonome Fahrzeuge werden die Wirtschaft und unseren Lebensstil stärker verändern, als sich die meisten Menschen heute vorstellen können. E-Commerce wird zu einer wirklich personalisierten Erfahrung werden. Die Liste ließe sich fortsetzen.
Cloud Computing hat Big Data in Bezug auf die Kosten demokratisiert – Serverlose Datenbanken senken die Einstiegshürde.
Doch so sehr Cloud Computing auch die Einstiegshürden für Big Data und die darauf basierende KI beseitigt hat, gibt es dennoch einen Engpass. Die Cloud hat die Kosten erheblich gesenkt, und Container-Orchestratoren wie Kubernetes haben dazu beigetragen, Anwendungen effizienter und flexibler zu machen.
Die Einrichtung und Wartung der Cloud-Infrastruktur, auf der containerisierte Big-Data-Anwendungen laufen, ist jedoch nach wie vor sehr schwierig. Die Hauptvorteile liegen in der Geschwindigkeit und der Zeit, die für die Wartung der Architektur benötigt wird. Container erfordern jedoch Spezialisten mit sehr spezifischen Fähigkeiten, die nicht leicht zu erwerben sind. Diese Spezialisten sind teuer, sowohl bei der Einstellung als auch bei der Investition in Weiterbildungen, und zudem Mangelware.
Die explosionsartige Verbreitung des IoT in nahezu allen denkbaren Branchen bedeutet eine enorme Nachfrage nach Cloud-Architekten und DevOps-Ingenieuren, die in der Lage sind, Container-Infrastrukturen einzurichten. Alle fischen im selben kleinen Teich, und die Schwierigkeit und die Kosten, die mit der Einstellung der für die Verwaltung von Container-Infrastrukturen erforderlichen Fachkräfte verbunden sind, sind zu einem strategischen Problem geworden.
Serverless reduziert die Komplexität und Kosten von Big-Data-Anwendungen.
Der Hauptvorteil von Serverless Computing gegenüber herkömmlichen cloudbasierten oder serverzentrierten Infrastrukturen besteht darin, dass Entwickler sich nicht mehr um den Kauf, die Bereitstellung und die Verwaltung von Backend-Servern kümmern müssen, was zu einer schnelleren Markteinführung und einem geringeren laufenden Wartungsaufwand führt. Dies reduziert die Entwicklungskosten, und Serverless kann unter den richtigen Umständen oft auch die Cloud-Kosten senken, da die Abrechnung vollständig auf den tatsächlich genutzten Ressourcen basiert und keine Kosten für die Wartung ungenutzter Kapazitäten anfallen.

Abgesehen von den Cloud-Kosten ermöglichen serverlose Architekturen eine schnellere Bereitstellung und Aktualisierung von Anwendungen, da kein Code auf Servern bereitgestellt oder Backends neu konfiguriert werden müssen, um eine funktionierende Version zu veröffentlichen. Und da es sich bei der Anwendung um eine Sammlung von Funktionen handelt, die vom Anbieter der serverlosen Lösung bereitgestellt werden, und nicht um einen monolithischen Stack, können Entwickler den Code entweder auf einmal oder Funktion für Funktion veröffentlichen.
Dadurch ist es möglich, eine Live-Anwendung schnell zu aktualisieren, zu reparieren oder um neue Funktionen zu erweitern, indem Änderungen vorgenommen oder Funktionen hinzugefügt werden.
Aufbau einer serverlosen Architektur für Big Data
Die Cloud-Entwicklung führte die nutzungsabhängige Bezahlung ein, bei der nur so viele Instanzen wie erforderlich gestartet und nach Abschluss eines Auftrags wieder gelöscht wurden, sodass keine weiteren Kosten anfielen. Bei herkömmlichen Cloud-Diensten muss der Benutzer jedoch weiterhin die erforderlichen virtuellen Maschinen manuell starten, sodass stets Infrastruktur-Spezialisten zur Verfügung stehen müssen, um die Instanzen zu warten.
Die Functions-as-a-Service (FaaS)-Dienste von Serverless-Anbietern wie AWS Lambda, Google Cloud Functions und Azure Functions automatisieren die Skalierung, indem sie Ereignisse zum Auslösen von Aktionen nutzen. Sie können auch Datenverarbeitungsaufgaben ähnlich wie herkömmliche Hadoop-Systeme ausführen, ohne dass das Hadoop-Framework einbezogen werden muss.
Weitere serverlose Dienste werden in FaaS eingeführt, um eine Datenpipeline aufzubauen, die aus folgenden Komponenten besteht:
- Datenerfassung
- Datenströme und Verarbeitung
- Datenspeicherung
Alle wichtigen Serverless-Anbieter, AWS, Azure und GCP, haben ihre eigenen Dienste für jede Phase eines Big-Data-Prozesses.
Datenerfassung
Einige Big-Data-Anwendungen werden mit Daten gespeist, die bereits erfasst und/oder formatiert und strukturiert wurden. Andere integrieren Live-Daten, die in Echtzeit von IoT-Geräten oder einer Anwendung selbst generiert werden, wie z. B. Protokolle oder Change Data Capture (CDC).
Die von den wichtigsten Serverless-Anbietern angebotenen Datenerfassungsdienste umfassen:
Amazon Web Services – AWS Glue, AWS IoT, AWS Datapipeline
Microsoft Azure – Azure DataFactory, Azure IoT Hub
Google Cloud Platform – Google Cloud DataFlow
Datenströme
Der Fluss von Streaming-Daten in eine serverlose Anwendung, die eine Echtzeitverarbeitung und -analyse ermöglicht. Eine serverlose Architektur muss über einen Echtzeitspeicher verfügen, der sich je nach Schwankungen des Datenvolumens nach oben und unten skalieren lässt. Es gibt auch Dienste für die Echtzeitdatenverarbeitung.
Zu den Datenströmen und Verarbeitungsdiensten, die von den wichtigsten Serverless-Anbietern bereitgestellt werden, gehören:
Amazon Web Services – Amazon Kinesis, Amazon Managed Streaming for Apache Kafka (Amazon MSK) und Amazon Kinesis Streams für die Echtzeit-Datenverarbeitung.
Microsoft Azure – Event Hub und Azure Stream Analytics für die Echtzeit-Datenverarbeitung.
Google Cloud Platform – PUB/SUB und Google Cloud DataFlow für die Echtzeit-Datenverarbeitung.
Datenspeicherung
Auf der Speicherebene bietet Serverless vollständig verwaltete BaaS-Datenbanken, die die Skalierung von Tabellen automatisieren, um die Kapazität anzupassen und die Leistung aufrechtzuerhalten, und die über integrierte Verfügbarkeit und Fehlertoleranz verfügen. Serverlose Datenbanken ermöglichen auch eine Entkopplung von Rechen- und Speicherknoten.
Die wichtigsten serverlosen Datenbankdienste der drei großen Anbieter sind:
Amazon Web Services – AWS DynamoDB, AWS Aurora, AWS Athena
Microsoft Azure – Azure Cosmos DB, Azure SQL-Datenbank Serverless
Google Cloud Platform – Google BigQuery, Google BigTable, Google Datastore.
K&C – können wir Ihnen beim Aufbau Ihrer nächsten serverlosen App helfen?
Als früher Anwender des serverlosen Ansatzes hat sich K&C (Krusche & Company) seit mehr als 20 Jahren einen Ruf als einer der vertrauenswürdigsten IT-Dienstleister in München, Deutschland und Europa erarbeitet. Wir betreiben Tech-Talentzentren in Krakau (Polen), Kiew (Ukraine) und Minsk (Weißrussland) und verbinden deutsches Management und Unternehmenspräsenz mit kosteneffizientem Zugang zu IT-Talenten in Nearshore-Standorten.
Wenn Sie einen serverlosen Ansatz für Ihre nächste Big-Data-Anwendung in Betracht ziehen und eine Expertenmeinung zur Eignung einer serverlosen Architektur oder ein engagiertes Team für deren End-to-End-Entwicklung wünschen, wenden Sie sich bitte an uns!










