Kurs
Was ist Amazon Kinesis? Anwendungsfälle, Tipps zur Preisgestaltung und Kostenoptimierung
Beim Daten-Streaming handelt es sich um einen konstanten und kontinuierlichen Datenfluss, oft in großen Mengen. Einer der wichtigsten Aspekte eines Datenstroms ist, dass er zeitabhängig ist. So kann der Inhalt eines Datenstroms nach einer gewissen Zeit an Bedeutung verlieren.
Das bedeutet, dass Unternehmen durch Echtzeit-Analysen und Einblicke in ihre Datenströme einen immensen Wert gewinnen können. Hier kommt die spezialisierte Daten-Streaming-Architektur ins Spiel. Eine der beliebtesten und leistungsfähigsten Optionen für das Datenstreaming ist AWS Kinesis.
In diesem Artikel stellen wir AWS Kinesis vor und erläutern die beiden Kerndienste, die unter dem Dach von Kinesis angeboten werden: Kinesis Data Streams und Kinesis Video Streams. Am Ende des Artikels vergleichen wir auch die wichtigsten Unterschiede zwischen zwei Daten-Streaming-Diensten: AWS Kinesis und Apache Kafka (und Amazon MSK).
Wenn du neu bei AWS bist, schau dir unseren AWS-Einführungskurs an, der dich mit den grundlegenden Konzepten des führenden Cloud-Anbieters von heute vertraut macht.
Was ist AWS Kinesis?
Amazon Kinesis wurde 2013 als Reaktion auf eine Marktverschiebung in Richtung Echtzeitdatenerfassung und -analyse eingeführt.
AWS ging jedoch noch einen Schritt weiter, denn Amazon Kinesis kann große Datenströme in einem vollständig verwalteten, skalierbaren und cloudbasierten Dienst verarbeiten.
In den Jahren nach der Veröffentlichung erweiterte AWS seine unter Amazon Kinesis angebotenen Dienste. Dies begann mit der Veröffentlichung von Amazon Kinesis Data Firehose im Oktober 2015 und später von Amazon Kinesis Data Analytics im August 2016.
Ursprünglich bot AWS nur seinen Kinesis Data Streams Service für die Verarbeitung und Analyse großer Datenmengen in Echtzeit an. Erst 2017 hat AWS Kinesis Video Streams für die Erfassung, Verarbeitung und Speicherung von Videoströmen eingeführt.
Amazon Kinesis hat sich jedoch im Laufe der Jahre weiterentwickelt und verändert. Heute gibt es nur noch die beiden Kerndienste: Kinesis Datenströme und Kinesis Videoströme. Wir werden diese Änderungen später in diesem Abschnitt ausführlicher besprechen.
Quelle: AWS
Wofür wird Amazon Kinesis verwendet?
Amazon Kinesis ist für das Streaming von Daten in Echtzeit konzipiert.
Das bedeutet, dass jedes Unternehmen, das große Mengen an Echtzeitdaten (oder Daten, die nahezu in Echtzeit anfallen) nutzen möchte, enorm von Amazon Kinesis profitieren kann.
Hier sind einige Anwendungsfälle, für die Amazon Kinesis am besten geeignet ist:
- Streaming von Log- und Ereignisdaten aus einer oder mehreren Quellen. Daten von Anwendungen, Servern und Geräten können in Echtzeit aufgenommen werden.
- Sammeln von Videostreams von kamerafähigen Geräten. Denk an Überwachungssysteme für Haushalte und Unternehmen, Ampelkameras und so weiter.
- Analyse von Streaming-Daten in Echtzeit. Anwendungsfälle, bei denen es um die Aufdeckung von Betrug geht, sind zum Beispiel sehr zeitkritisch und erfordern eine solide Datenstromarchitektur.
Amazon Kinesis Video Streams Beispiel Use Case (Quelle: AWS)
Jüngste Änderungen an den Amazon Kinesis Services
Als Reaktion auf das Feedback der Nutzer/innen hat AWS vor kurzem einige Änderungen an seinen Diensten vorgenommen.
Amazon Kinesis Data Analytics > Amazon Managed Service für Apache Flink
Amazon Kinesis Data Analytics wurde umbenannt in Amazon Managed Service for Apache Flink (MSF) am 30. August 2023 umbenannt.
Und nicht nur das, auch die Unterstützung für Amazon Kinesis Data Analytics für SQL-Anwendungen wird in Zukunft nicht mehr angeboten. Die Kunden müssen ihre Anwendungen auf MSF für ihre SQL-basierten Anwendungen migrieren.
MSF ist ein vollständig verwalteter und serverloser Dienst zur Erstellung und Ausführung von Echtzeit-Streaming-Anwendungen mit Apache Flink. MSF unterstützt neben SQL auch andere Programmiersprachen, wie Java und Scala.
Amazon Kinesis Data Firehose > Amazon Data Firehose
Am 9. Februar 2024 kündigte AWS an, dass es Umbenennung von Amazon Kinesis Data Firehose in Amazon Data Firehose.
AWS hat diese Änderung vorgenommen, um das Wachstum seiner Datenquellen und Konnektoren innerhalb von Amazon Data Firehose zu berücksichtigen. Zusätzlich zu Amazon Kinesis Data Streams wurde Integrationsunterstützung für Amazon MSK und mehr als 40 andere AWS-Quell- und Zielkonnektoren hinzugefügt.
AWS Kinesis Datenströme
AWS Kinesis Data Streams ist Amazons Flaggschiff-Service unter dem Dach von Amazon Kinesis.
In diesem Abschnitt untersuchen wir diesen Dienst und die Anwendungsfälle, für die er am besten geeignet ist.
Was ist Kinesis Data Streams?
Kinesis Data Streams kann kontinuierlich große Datenmengen aufnehmen (mit einer Geschwindigkeit von Gigabytes pro Sekunde), um Echtzeit-Analyseanwendungen zu ermöglichen.
Kinesis Data Streams ist nicht nur vollständig in andere AWS-Services integriert, sondern bietet auch einige herausragende Funktionen:
- Es ist serverlos, Es müssen also keine Server im Voraus bereitgestellt oder verwaltet werden, was die Vorlaufkosten für den Einstieg in das Datenstreaming reduziert.
- Mit Kinesis ist die Datenerfassung von der Datenverarbeitung getrennt. Diese Trennung macht es den Anwendungen leicht, sich an schnelle Änderungen der Informationen anzupassen.
- Kinesis Data Streams kann große Datenmengen innerhalb von Millisekunden erfassen, was es zu einer unglaublichen Lösung mit niedriger Latenzzeit.
- Du kannst wählen zwischen On-Demand- und Bereitstellungsmodi für Kapazität wählen, um deine Anforderungen an das Datenstreaming zu erfüllen.
- Kinesis Data Streams sind sowohl sicher als auch compliant. Deine Daten können verschlüsselt und im Ruhezustand gesichert werden, um maximale Sicherheit zu gewährleisten.
Amazon Kinesis Data Streams besteht aus drei Hauptkomponenten: Shards, Producer und Consumer. Lass uns diese anhand eines praktischen Beispiels für ein Streaming-Analysesystem für eine E-Commerce-Website aufschlüsseln.
Scherben
Ein Shard ist eine Einheit in Kinesis, die bestimmt, wie viele Daten gleichzeitig verarbeitet werden können.
Wenn die E-Commerce-Website zum Beispiel 100 Transaktionen pro Sekunde verarbeitet, kann sie mehrere Shards benötigen, um die eingehenden Daten reibungslos zu verarbeiten. Jeder Shard kann bis zu 1 MB an eingehenden Daten pro Sekunde verarbeiten. Wenn also der Datenverkehr in die Höhe schießt, kann durch Hinzufügen weiterer Shards sichergestellt werden, dass die Daten effizient verarbeitet werden.
Erzeuger
Ein Produzent ist jedes System, das Daten an den Kinesis-Stream sendet.
Die E-Commerce-Website erstellt zum Beispiel Echtzeitprotokolle, wenn ein Nutzer einen Artikel in den Warenkorb legt, einen Kauf abschließt oder eine Bewertung abgibt. Jedes dieser Ereignisse wird als Datensatz an Kinesis gesendet.
Verbraucherinnen und Verbraucher
Ein Consumer ist eine Anwendung oder ein System, das Daten aus dem Kinesis-Stream liest und verarbeitet. Zum Beispiel:
- Ein Betrugserkennungssystem, das eingehende Transaktionen in Echtzeit analysiert, um verdächtige Aktivitäten zu erkennen.
- Ein Dashboard, das Live-Verkaufskennzahlen für Marktleiter/innen aktualisiert.
- Eine Empfehlungsmaschine, die den Nutzern auf der Grundlage ihrer jüngsten Aktivitäten Produkte vorschlägt.
Sehen wir uns das Zusammenspiel anhand eines Beispiels an:
- Ein Kunde legt ein Produkt in seinen Warenkorb → Das Ereignis wird gesendet an Kinesis (Produzent)
- Das Ereignis betritt einen Scherbe (abhängig von der Verkehrslast)
- A Verbraucheranwendung liest das Ereignis → aktualisiert das Inventarsystem, löst ein KI-Empfehlungsmodell aus oder zeigt ein Betrugsrisiko an
Wofür werden Kinesis-Datenströme verwendet?
Kinesis-Datenströme sind am besten für Anwendungen geeignet, die eine schnelle Datenverarbeitung in Echtzeit erfordern.
Nehmen wir zum Beispiel an, du hast eine Anwendung oder ein Gerät, das Protokolle oder Datenfeeds erzeugt. Du würdest Kinesis Data Streams verwenden, um diesen Datenstrom aufzunehmen und ihn zu verarbeiten oder umzuwandeln, z. B. um einige Echtzeitmetriken oder Analysen zu berechnen. Diese verarbeiteten Daten kannst du dann zur späteren Verwendung in einen Datenspeicher verschieben.
Dies ist nur ein allgemeines Beispiel für die Nützlichkeit von Kinesis Data Streams.
AWS Kinesis Video Streams
AWS Video Streams ist ein neuerer Amazon Kinesis Service mit leistungsstarken Anwendungen für verschiedene Arten von Mediendaten.
In diesem Abschnitt erkunden wir diesen Dienst und gehen darauf ein, für welche Anwendungen er sich am besten eignet.
Was ist Kinesis Video Streams?
Mit Kinesis Video Streams kannst du große Mengen an zeitcodierten Mediendaten von angeschlossenen Geräten einlesen.
Konkret handelt es sich bei zeitcodierten Daten um eine Art von Mediendaten, bei denen die Datensätze in einer Zeitreihe zueinander stehen. Video und Audio sind beides Beispiele für zeitcodierte Daten, da jedes Bild oder jede Sequenz in diesen Daten mit dem vorherigen und dem nächsten Bild verbunden ist.
Amazon Kinesis Video Streaming (Quelle: AWS)
Es ist wichtig zu wissen, dass Kinesis Video Streams nur das Ingestion und die Speicherung von Mediendaten übernimmt. Die Verarbeitung und Analyse muss in einem anderen Dienst erfolgen. Beispiele für andere Dienste sind Amazon Rekognition Video oder Amazon SageMaker für maschinelle Lernanwendungen.
Sehen Sie sich unser vollständige Anleitung zu Amazon SageMaker um mit der Erstellung von Anwendungen für maschinelles Lernen in AWS zu beginnen.
Wofür werden Kinesis Video Streams verwendet?
Mit Kinesis Video Streams ist es sehr einfach (und sicher), sich mit AWS zu verbinden und Medien zu streamen. Es gibt SDKs und Echtzeit-APIs, die speziell für Amazon Kinesis entwickelt wurden.
Das bedeutet, dass du mit Amazon Kinesis Video Streams für deine Media-Streaming-Anwendungen schnell und einfach loslegen kannst.
Eine der beliebtesten Verwendungen von Videostreams ist die Entwicklung von Echtzeit-Computer-Vision-fähigen Machine-Learning-Anwendungen. Diese können in einer Vielzahl von Bereichen eingesetzt werden, z. B. in der Sicherheit und Überwachung, in intelligenten Häusern, in der städtischen Notfallhilfe und so weiter.
AWS Kinesis Preisgestaltung
Eines der besten Dinge an AWS ist das Preismodell, das sich nach der Nutzung richtet. Die meisten, wenn nicht sogar alle, AWS-Services folgen diesem Modell, und AWS Kinesis ist nicht anders.
Es gibt keine Vorabkosten oder Mindestgebühren. Du zahlst nur für die Ressourcen, die du nutzt.
Sehen wir uns an, wie die Preisgestaltung für AWS Kinesis funktioniert und wie du einige Best Practices anwenden kannst, um deine Kostenrechnung zu optimieren.
Überblick über die Preisgestaltung
Die beiden Kerndienste von AWS Kinesis, Kinesis Data Streams und Kinesis Video Streams, haben unterschiedliche Kosten und Abrechnungsoptionen, je nachdem, wie du die Dienste einrichtest.
Kinesis Data Streams hat zwei Kapazitätsmodi, die jeweils unterschiedliche Kosten verursachen. Hier ist eine kurze Zusammenfassung:
- Auf Anfrage: Du zahlst für das Datenvolumen, das du einliest und abrufst, sowie einen Stundensatz für jeden Datenstrom, den du in deinem AWS-Konto einrichtest.
- Bereitgestellt: Bei der Kapazitätsbereitstellung musst du die Anzahl der Shards angeben, die für deine Anwendung benötigt werden, und jeder Shard wird dir zu einem Stundensatz berechnet.
Der On-Demand-Kapazitätsmodus ist ein flexiblerer und einfacherer Ansatz, der gut geeignet ist, wenn du gerade erst mit Kinesis Data Streams anfängst.
Sobald deine Anwendung jedoch einen Punkt erreicht hat, an dem der Datenverkehr besser vorhersehbar ist, kann der Modus der bereitgestellten Kapazität eine kostengünstigere Option sein.
Kinesis Video Streams bietet eine flexible, bedarfsorientierte Preisgestaltung, die auf drei Faktoren basiert:
- Das Volumen der Daten, die du aufnimmst (in Gigabyte).
- Das Volumen der Daten, die du verbrauchst (in Gigabyte).
- Das Volumen der Daten, die du speicherst in einem Monat (in Gigabyte).
Tipps und Best Practices zur Kostenoptimierung
Sowohl Kinesis Data Streams als auch Kinesis Video Streams sind im AWS Free Tier nicht verfügbar. Das bedeutet, dass du ab dem Moment belastet wirst, in dem du einen dieser Streams in AWS einrichtest.
Es gibt jedoch eine Reihe von Best Practices und ein paar Tipps, die du bei der Einrichtung von AWS Kinesis für deine Anwendungen befolgen kannst, um die Kosten niedrig zu halten.
Um die Kosten zu optimieren, findest du hier drei wichtige Tipps, die du beachten solltest:
- Wechsle in den Modus für die Bereitstellung von Kapazitäten, sobald dein Verkehr vorhersehbar wird. Der On-Demand-Modus macht die Überwachung und Verwaltung von Shards zwar überflüssig, kann aber auch viel teurer sein.
- Du kannst je nach Verkehrsaufkommeneinfach zwischen den Modi "On-Demand" und "Provisioned Capacity" wechseln. Wenn du z. B. zu bestimmten Tageszeiten mit Spitzenwerten rechnest, kannst du auf On-Demand umschalten und dann wieder in den Bereitstellungsmodus wechseln, wenn du weißt, dass der Datenverkehr gleichmäßiger ist. Sei jedoch vorsichtig, denn du kannst diesen Wechsel nur zweimal innerhalb von 24 Stunden.
- Richte deine Richtlinien zur Datenaufbewahrung frühzeitig ein. Kinesis Data Streams ist nicht für die langfristige Speicherung von Daten konzipiert. Für Daten, die länger als 24 Stunden gespeichert werden, fallen Gebühren an (in den ersten 24 Stunden ist die Speicherung kostenlos).
AWS Kinesis vs Kafka
Amazon Managed Streaming for Apache Kafka (Amazon MSK) ist ein weiterer beliebter Daten-Streaming-Service von AWS.
Sie finden unseren umfassenden Einsteigerleitfaden zu Amazon MSK in einem separaten Artikel, ebenso wie unseren Leitfaden zu Kafka.
Wenn du Amazon MSK mit Kinesis vergleichst, gibt es eine Menge Überschneidungen. Beide Dienste bieten skalierbare, sichere und hochverfügbare Lösungen für Datenstreaming-Anwendungen.
Der einzige wirkliche Unterschied bei der Entscheidung, welchen Dienst du nutzen willst, hängt von deinen eigenen Vorlieben, Anforderungen und deiner aktuellen Infrastruktur ab.
Wenn du bereits Apache Kafka verwendest, kannst du von einer Migration zu einer vollständig verwalteten Cloud-Lösung wie Amazon MSK profitieren. Wenn du ein Team hast, das mit Apache Kafka vertraut ist, wäre Amazon MSK gegenüber Amazon Kinesis vorzuziehen.
Wenn du hingegen keine bestehende Daten-Streaming-Infrastruktur hast, ist Amazon Kinesis vielleicht einsteigerfreundlicher und einfacher zu bedienen.
Fazit
Datenanalyse in Echtzeit wird immer beliebter und wichtiger für viele Branchen und Unternehmen. Um dies zu erreichen, ist es notwendig, ein gutes Datenstreaming-System einzurichten, das große Datenmengen ohne Verzögerungen oder Ausfallzeiten verarbeiten kann.
AWS hat diesen wachsenden Bedarf bereits 2013 erkannt und eine seiner besten Daten-Streaming-Lösungen weiterentwickelt und verfeinert: Amazon Kinesis. Heute ist Amazon Kinesis die beste Lösung für das Ingesting und die Verarbeitung von Datenströmen mit unglaublicher Geschwindigkeit.
Wenn du neu bei AWS bist, beginne mit unserem einsteigerfreundlichen AWS-Kurs, um mehr zu erfahren über AWS und seine Dienste. Wenn du bereit bist, eine Karriere mit Cloud-basierten Diensten wie AWS zu beginnen, lies unseren Artikel über AWS-Zertifizierungen und wie du die beste Zertifizierung für deine Ziele auswählst. Dann mach den nächsten Schritt, indem du dich auf ein Vorstellungsgespräch vorbereitest und die wichtigsten AWS-Interview-Fragen übst.
AWS Kinesis FAQs
Wofür wird Amazon Kinesis verwendet?
Amazon Kinesis ist für das Streaming von Daten in Echtzeit konzipiert. Das bedeutet, dass du Amazon Kinesis für eine Vielzahl von Anwendungen nutzen kannst, die von Natur aus zeitkritisch sind. Du könntest zum Beispiel Log- und Ereignisdaten streamen, Videostreams von kamerafähigen Geräten sammeln oder die Echtzeitanalyse von Streaming-Daten ermöglichen.
Was ist der Unterschied zwischen den Modi "On-Demand" und "Bereitgestellte Kapazität" in Amazon Kinesis Data Streams?
Bei der On-Demand-Kapazitätsregelung wird der Preis auf der Grundlage deines Verbrauchs berechnet. Das macht es zu einem guten Ansatz, wenn du gerade erst mit Amazon Kinesis Data Streams anfängst. Wenn du den Modus für die Kapazitätsbereitstellung verwendest, musst du in der Lage sein, deinen Bedarf an Datenverkehr und Datenströmen vorherzusagen. Das kann am Anfang eine Herausforderung sein, ist aber auf lange Sicht eine kostengünstigere Option.
Was ist besser, Amazon Managed Streaming für Apache Kafka (Amazon MSK) oder Amazon Kinesis?
Amazon MSK und Amazon Kinesis sind beides Daten-Streaming-Lösungen. Keiner der beiden Dienste ist besser als der andere und die Entscheidung, welchen Dienst du nutzen willst, hängt von deinen eigenen Vorlieben, Anforderungen und deiner aktuellen Infrastruktur ab. Amazon Kinesis wird oft als eine sehr einsteigerfreundliche Option angesehen, während Amazon MSK am besten für dich geeignet ist, wenn du bereits mit Apache Kafka arbeitest.
Was ist Amazon Kinesis Data Analytics?
Mit Amazon Kinesis Data Analytics konntest du ursprünglich SQL-Abfragen auf Echtzeit-Streaming-Daten ausführen. Allerdings hat AWS Kinesis Data Analytics im August 2023 in Amazon Managed Service for Apache Flink (MSF) umbenannt. AWS hat diese Änderung vorgenommen, um sein Angebot um SQL und andere Programmiersprachen wie Java und Scala zu erweitern.
Was ist Amazon Kinesis Data Firehose?
Ursprünglich konnten Benutzer mit Amazon Kinesis Data Firehose Daten aus Kinesis Data Streams oder Kinesis Video Streams an verschiedene Ziele zur Analyse oder Speicherung liefern. Im Februar 2024 kündigte AWS jedoch an, dass Amazon Kinesis Data Firehose in Amazon Data Firehose umbenannt werden würde. Sie haben diese Änderung vorgenommen, um dem Wachstum ihrer Datenquellen und Konnektoren Rechnung zu tragen.
Top DataCamp Kurse
Kurs
AWS Cloud Technology and Services Concepts
Kurs
AWS Security and Cost Management Concepts
Der Blog
Die 32 besten AWS-Interview-Fragen und Antworten für 2024
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog