Amazon Kinesis
Amazon Kinesis, eine vollständig verwaltete Plattform für das Streamen von Daten der Amazon Web Services (AWS); er verarbeitet große Datenmengen in Echtzeit. Der Cloud-Service kann pro Stunde Hunderte von Terabyte Streaming-Daten verarbeiten. 2013
So funktioniert Amazon Kinesis
Laut Amazon schließt Kinesis eine Lücke von Hadoop und ähnlichen Technologien, die Daten in Stapeln (Batches) verarbeiten. Damit sind keine operativen Entscheidungen in Echtzeit auf Basis kontinuierlicher Streaming-Daten möglich. Kinesis vereinfacht die Entwicklung von Anwendungen, die Daten in Echtzeit verarbeiten.
Nutzer speisen die Daten über Kinesis Data Streams kontinuierlich ein, analysieren sie, so gewünscht, mit Kinesis Data Analytics und laden die Ergebnisse über Data Firehose in einen Datenspeicher.
Kinesis Data Streams
Der Dienst bezieht Daten aus Quellen wie Betriebsprotokolle, Finanztransaktionen und Social-Media-Feeds. Als Quellen können Angebote in AWS fungieren, wie Amazon IoT oder CloudWatch; es gibt aber auch einige kompatible Drittanbieter wie Log4J, FluentD und Flume. Kinesis kann Daten – je nach Konfiguration – gegen eine höhere Nutzungsgebühr bis zu sieben Tage aufheben. Das dient der Sicherheit, aber auch dazu, dass Sie mit mehreren Anwendungen denselben Daten-Stream bearbeiten können.
Von Dort kommen die Streams dann entweder in AWS Lambda, für serverlose Funktionen, die Sie bei bestimmten Ereignissen auslösen möchten, in Kinesis Data Analytics für eine weitere Verarbeitung oder direkt in Kinesis Data Firehose.
Kinesis Data Analytics
Kinesis Data Analytics erhält seine Daten direkt von Kinesis Data Streams, Amazon MSK (der nicht-gemanagten Apache-Kafka-Version von Amazon) oder aus einem S3-Bucket, in dem die Daten gespeichert waren. Zum Erstellen der Analyseanwendungen haben Nutzer verschiedene Frameworks und Bibliotheken zur Wahl – sowohl von AWS, als auch von Apache. Zu den unterstützen Programmiersprachen für die Datenverarbeitung gehören SQL, Python und Scala.
Kinesis Data Firehose
Kinesis Data Firehose spaltet Streams gemäß der von Ihnen vergebenen Schlüssel in sogenannte Shards oder Partitionen auf, nach denen Sie den Dienst dann auch bezahlen. Die Nachrichten in einem Shard werden der Reihe nach in ihren jeweiligen Shards verarbeitet, die ihrerseits zeitgleich analysiert werden. Der Dienst gibt sie dann an einen Speicher wie Amazon S3, Amazon RedShift oder Splunk weiter, so dass sie dort kostengünstigere Analysen durchführen können, die Sie nicht in Echtzeit brauchen. Die Übertragung lässt sich bei Bedarf außerdem verschlüsseln.
Vor- und Nachteile von Amazon Kinesis
Amazon Kinesis hat wie viele verwaltete Cloud-Dienste den Nachteil, dass es nur zusammen mit der Nutzung der zugehörigen Dienste von AWS wirklich sinnvoll ist. Als Streaming Tool ermöglicht es im Gegensatz zu Batch-Verarbeitungssoftware eine Analyse in Echtzeit, ist aber auch teurer. Unternehmen sollten sich daher fragen, für welche Aufgaben sie Kinesis wirklich benötigen.
Das Angebot ist voll gemanagt und ähnelt somit einer Maschine, die Kartoffeln erntet, wäscht, schält, kocht und verspeist. Will heißen: die gesamte Datenverarbeitungs-Pipeline lässt sich mit Kinesis automatisieren und das ist sein großer Vorteil. Das Vereinfacht vor allem das Skalieren der Big-Data-Analyse, das ansonsten große Investitionen und viel Arbeit erfordert. Kinesis ist außerdem On-Demand in der Cloud verfügbar. Das bedeutet, dass im Gegensatz zur Apache Kafka auf dem eigenen Server keine Kosten anfallen, wenn Sie es nicht verwenden.