Sergey Nivens - stock.adobe.com
Was ist der Unterschied zwischen Amazon MSK und Kinesis?
Wenn es um die Verarbeitung und Analyse von Datenströmen geht, bietet AWS Kinesis sowie eine gemanagte Version von Apache Kafka an. Beide Optionen im Vergleich.
Datenströme sind ein gängiges Muster in modernen Softwarearchitekturen. Sie bestehen aus hochvolumigen Datenproduzenten, die ständig Informationen in ein Zielsystem einspeisen. Dieses Zielsystem muss in der Lage sein, die eingehenden Daten in Echtzeit, mit minimaler Verzögerung und praktisch jedes eingehende Datenvolumen aufzunehmen und zu verarbeiten.
Amazon Web Services (AWS) bietet zwei Möglichkeiten zum Einlesen und Verarbeiten von Datenströmen: Amazon Kinesis und Amazon Managed Streaming for Apache Kafka (Amazon MSK). Obwohl diese Services die gleichen Aufgaben angehen, haben sie unterschiedliche Stärken und Schwächen.
Im Folgenden werden die wichtigsten Gemeinsamkeiten und Unterschiede zwischen Amazon MSK und Amazon Kinesis erläutert, damit Sie besser gerüstet sind, um einen Datenstromprozess für Ihre Anwendung auszuwählen.
Amazon MSK versus Kinesis
Amazon Kinesis ist ein gemanagter Service für die Erfassung und Verarbeitung von Echtzeit-Datenströmen. An einem Ende des Datenstroms schreiben Datenproduzenten die Daten. Am anderen Ende verarbeiten Datenkonsumentenanwendungen die veröffentlichten Daten.
Amazon Kinesis, das serverlos arbeitet, bietet auch Funktionen wie Amazon Kinesis Analytics und Amazon Kinesis Firehose, die Daten analysieren und sie schließlich an einen permanenten Speicher senden. AWS stellt auch Amazon Kinesis Video Streams bereit, das über Funktionen speziell für die Videoverarbeitung und -analyse verfügt, darunter Integrationen mit AWS-Services für Machine Learning wie Amazon SageMaker und Amazon Rekognition.
Alternativ dazu ist Amazon MSK eine verwaltete Version des beliebten Open-Source-Daten-Streaming-Dienstes Apache Kafka. Entwickler, die Amazon MSK verwenden, müssen Kafka-Instanzen explizit in Amazon EC2 bereitstellen, auch wenn die Instanzen von Amazon MSK verwaltet werden.
Die Datenmenge, die in Amazon Kinesis eingelesen oder konsumiert werden kann, wird durch die Anzahl der einem Stream zugewiesenen Shards bestimmt. Die Kapazität in Amazon MSK wird direkt von der Anzahl und Größe der in einem Cluster bereitgestellten Amazon EC2-Instanzen bestimmt.
Amazon Kinesis bietet eine standardmäßige Datenaufbewahrungszeit von 24 Stunden, die auf bis zu sieben Tage verlängert werden kann. Amazon MSK bietet eine praktisch unbegrenzte Datenaufbewahrung, die von der Menge des im Cluster bereitgestellten Speichers durch die Größe der Amazon Elastic Block Store Volumes, die auf Amazon EC2-Instanzen gemountet sind, und der Gesamtzahl der Instanzen bestimmt wird.
Die richtige Lösung auswählen
Amazon MSK ist eine gute Option für Anwendungen, bei denen Datenproduzenten und -verbraucher bereits Apache Kafka-Bibliotheken verwenden und diese mit minimalen Reibungen oder Code-Updates in die Cloud migrieren müssen. Es kann auch eine gute Option für Anwender sein, die sich Sorgen über die Anbieterbindung machen und Datenströme erstellen möchten, die sich leichter aus und zu einer bestimmten Cloud-Umgebung migrieren lassen.
Aufgrund seines serverlosen Charakters ist Amazon Kinesis eine einfachere Methode zur Bereitstellung von Datenströmen in der Cloud, führt aber aufgrund der Verwendung von AWS-spezifischen Konzepten und Funktionen zu einer höheren Anbieterbindung. Die Integration von Kinesis mit anderen Amazon Cloud-Services spart erhebliche Entwicklungs- und Wartungszeit. Und seine integrierten Funktionen wie Videostreams, Analytics und Firehose vereinfachen im Vergleich zu Amazon MSK auch die Anwendungsentwicklung und -wartung.