Ga naar hoofdinhoud

Wat is Amazon Kinesis? Use cases, prijzen en tips voor kostenoptimalisatie

Ontdek wat Amazon Kinesis is en waarvoor het wordt gebruikt, plus drie waardevolle tips om kosten te optimaliseren.
Joleen Bothma
Joleen Bothma

Maak je gratis account aan

Oefen en volg je voortgang.

Ga verder met GoogleDoor verder te gaan, accepteer je ons Gebruiksvoorwaarden, onze Privacybeleid en dat je gegevens in de VS worden opgeslagen.

Datastreaming is een constante en continue stroom aan data, vaak in grote volumes. Een van de belangrijkste kenmerken van een datastream is dat deze tijdsgevoelig is. Na verloop van tijd kan de inhoud van een datastream dus minder relevant worden.

Dit betekent dat bedrijven enorme waarde kunnen halen uit realtime analyses en inzichten uit hun datastreams. Daar komt gespecialiseerde datastreamingarchitectuur om de hoek kijken. Een van de populairste en krachtigste opties voor datastreaming is AWS Kinesis.

In dit artikel introduceren we AWS Kinesis en verkennen we de twee kernservices onder de Kinesis-paraplu: Kinesis Data Streams en Kinesis Video Streams. Aan het einde van het artikel vergelijken we ook de belangrijkste verschillen tussen twee datastreamingservices: AWS Kinesis en Apache Kafka (en Amazon MSK).

Ben je nieuw bij AWS? Bekijk dan onze introductiecursus AWS, die je meeneemt door de basisconcepten van de toonaangevende cloudprovider van vandaag.

Wat is AWS Kinesis?

Amazon Kinesis werd in 2013 gelanceerd als reactie op een verschuiving in de markt richting realtime data-inname en -analyse.

AWS ging echter een stap verder, omdat Amazon Kinesis grote datastreams kan verwerken in een volledig beheerde, schaalbare en cloudgebaseerde service.

In de jaren na de release breidde AWS de services onder Amazon Kinesis uit. Dit begon met de release van Amazon Kinesis Data Firehose in oktober 2015 en later Amazon Kinesis Data Analytics in augustus 2016.

Aanvankelijk bood AWS alleen de Kinesis Data Streams-service aan voor het realtime verwerken en analyseren van grote hoeveelheden data. Pas in 2017 introduceerde AWS Kinesis Video Streams voor het vastleggen, verwerken en opslaan van videostreams.

Toch bleef Amazon Kinesis zich door de jaren heen ontwikkelen en veranderen. Fast forward naar vandaag en alleen de twee kernservices blijven over: Kinesis Data Streams en Kinesis Video Streams. We bespreken deze veranderingen later in deze sectie uitgebreider.

Amazon Kinesis Video Streams versus Kinesis Data Streams

Bron: AWS

Waarvoor wordt Amazon Kinesis gebruikt?

Amazon Kinesis is ontworpen voor realtime datastreaming.

Dit betekent dat elke organisatie die grote volumes realtime (of near-realtime) data wil benutten, enorm kan profiteren van het Amazon Kinesis-aanbod.

Hier zijn enkele use cases waarvoor Amazon Kinesis het best geschikt is:

  • Streaming van log- en eventdata uit één of meerdere bronnen. Data van applicaties, servers en apparaten kan in realtime worden ingenomen.
  • Verzamelen van videostreams van apparaatcamera’s. Denk aan beveiligingssystemen voor thuis en bedrijven, stoplichtcamera’s, enzovoort.
  • Realtime analyse van streamingdata. Use cases zoals fraudedetectie zijn bijvoorbeeld sterk tijdsgevoelig en vereisen een solide datastreamingarchitectuur.

Amazon Kinesis Video Streams voorbeeld-use case: huisdiermonitor

Voorbeeld-use case voor Amazon Kinesis Video Streams (Bron: AWS)

Recente wijzigingen in Amazon Kinesis-services

Als reactie op feedback van gebruikers heeft AWS onlangs een paar wijzigingen in zijn services doorgevoerd.

Amazon Kinesis Data Analytics is op 30 augustus 2023 hernoemd tot Amazon Managed Service for Apache Flink (MSF).

Daarbij komt dat de ondersteuning voor Amazon Kinesis Data Analytics voor SQL-applicaties in de toekomst wordt beëindigd. Klanten zullen hun SQL-gebaseerde applicaties moeten migreren naar MSF.

MSF is een volledig beheerde en serverloze service om realtime streamingapplicaties te bouwen en uit te voeren met Apache Flink. MSF ondersteunt SQL en andere programmeertalen, zoals Java en Scala.

Amazon Kinesis Data Firehose > Amazon Data Firehose

Op 9 februari 2024 kondigde AWS aan dat het Amazon Kinesis Data Firehose hernoemt naar simpelweg Amazon Data Firehose.

AWS voerde deze wijziging door om de groei in hun databronnen en connectors binnen Amazon Data Firehose te weerspiegelen. Naast Amazon Kinesis Data Streams is integratieondersteuning toegevoegd voor Amazon MSK en meer dan 40 andere AWS-bron- en bestemmingsconnectors.

AWS Kinesis Data Streams

AWS Kinesis Data Streams is de vlaggendienst van Amazon onder de Amazon Kinesis-paraplu.

In deze sectie verkennen we deze service en de use cases waarvoor hij het best geschikt is.

Wat is Kinesis Data Streams?

Kinesis Data Streams kan continu grote hoeveelheden data innemen (met gigabytes per seconde) om realtime analytics-use cases mogelijk te maken.

Naast de volledige integratie met andere AWS-services, zijn dit een paar opvallende kenmerken van Kinesis Data Streams:

  • Het is serverless, dus je hoeft niet vooraf servers te voorzien of te beheren, wat de opstartkosten voor datastreaming verlaagt.
  • Met Kinesis zijn dataverzameling en dataverwerking van elkaar gescheiden. Deze scheiding maakt het voor applicaties eenvoudig om zich aan te passen aan snelle veranderingen in informatie.
  • Kinesis Data Streams kan grote datavolumes in milliseconden vastleggen, wat het tot een uitstekende laag-latentieoplossing maakt.
  • Je kunt kiezen tussen on-demand en geprovisioneerde capaciteitsmodi, afhankelijk van je datastreamingbehoeften.
  • Kinesis Data Streams is zowel veilig als compliant. Je data kan versleuteld en in rust beveiligd worden voor maximale veiligheid.

Amazon Kinesis Data Streams bestaat uit drie belangrijke componenten: shards, producers en consumers. Laten we deze opsplitsen met een praktijkvoorbeeld van een streaming-analyticssysteem voor een e-commercewebsite.

Shards

Een shard is een eenheid binnen Kinesis die bepaalt hoeveel data er tegelijk kan worden verwerkt.

Als de e-commercewebsite bijvoorbeeld 100 transacties per seconde verwerkt, zijn mogelijk meerdere shards nodig om de binnenkomende data soepel af te handelen. Elke shard kan tot 1 MB aan binnenkomende data per seconde verwerken, dus als het verkeer piekt, zorgt het toevoegen van meer shards ervoor dat data efficiënt wordt verwerkt.

Producers 

Een producer is elk systeem dat data naar de Kinesis-stream stuurt.

De e-commerce site genereert bijvoorbeeld realtime logs telkens wanneer een gebruiker een item aan zijn winkelwagen toevoegt, een aankoop afrondt of een review achterlaat. Elk van deze events wordt als een datarecord naar Kinesis gestuurd.

Consumers

Een consumer is elke applicatie of elk systeem dat data uit de Kinesis-stream leest en verwerkt. Bijvoorbeeld: 

  • Een fraudedetectiesysteem dat inkomende transacties in realtime analyseert om verdachte activiteiten te signaleren.
  • Een dashboard dat live verkoopstatistieken voor winkelmanagers bijwerkt.
  • Een aanbevelingssysteem dat producten suggereert op basis van recent gebruikersgedrag.

Laten we zien hoe dit samenwerkt met een voorbeeld: 

  1. Een klant voegt een product toe aan zijn winkelwagen → Het event wordt verzonden naar Kinesis (Producer)
  2. Het event komt in een shard terecht (afhankelijk van de verkeersbelasting)
  3. Een consumerapplicatie leest het event → Werkt het voorraadsysteem bij, triggert een AI-aanbevelingsmodel of markeert een frauderisico

Waarvoor worden Kinesis Data Streams gebruikt?

Kinesis Data Streams is het meest geschikt voor applicaties die snelle dataverwerking in realtime vereisen.

Stel bijvoorbeeld dat je een applicatie of apparaat hebt dat logs of datafeeds genereert. Je zou Kinesis Data Streams gebruiken om deze datastroom in te nemen en hierop verwerking of transformatie toe te passen, zoals het berekenen van realtime metrics of analytics. Vervolgens kun je deze verwerkte data naar een datastore pushen voor later gebruik.

Dit is slechts één veelvoorkomend voorbeeld van het nut van Kinesis Data Streams.

AWS Kinesis Video Streams

AWS Video Streams is een recentere Amazon Kinesis-service met krachtige toepassingen voor verschillende soorten mediadata.

In deze sectie verkennen we deze service en bespreken we voor welke toepassingen hij het best geschikt is.

Wat is Kinesis Video Streams?

Kinesis Video Streams stelt je in staat grote hoeveelheden tijd-gecodeerde mediadata van verbonden apparaten in te nemen.

Concreter: tijd-gecodeerde data is een type mediadata waarbij records in een tijdreeks met elkaar verbonden zijn. Video en audio zijn beide voorbeelden van tijd-gecodeerde data, omdat elk frame of iedere sequentie in deze data gerelateerd is aan het vorige en volgende frame.

Amazon Kinesis Video Streaming inputs en toepassingen

Amazon Kinesis Video Streaming (Bron: AWS)

Belangrijk om te weten: Kinesis Video Streams verzorgt alleen de inname en opslag van mediadata. Verwerking en analyse moeten in een andere service plaatsvinden. Voorbeelden zijn Amazon Rekognition Video of Amazon SageMaker voor machine learning-toepassingen.

Bekijk onze complete tutorial over Amazon SageMaker om te beginnen met het bouwen van machine learning-toepassingen in AWS.

Waarvoor worden Kinesis Video Streams gebruikt?

Het is heel eenvoudig (en veilig) om via Kinesis Video Streams verbinding te maken met AWS en media te streamen. Er zijn SDK’s en realtime API’s die speciaal voor Amazon Kinesis zijn ontwikkeld.

Dit betekent dat je snel en gemakkelijk aan de slag kunt met Amazon Kinesis Video Streams voor je mediastreamingapplicaties.

Een van de populairste toepassingen van videostreams is het bouwen van realtime computer vision-gestuurde machine learning-applicaties. Deze kunnen worden ingezet in uiteenlopende domeinen, zoals beveiliging en surveillance, slimme woningen, noodhulp in steden, enzovoort.

AWS Kinesis-prijzen

Een van de beste dingen aan AWS is het pay-as-you-go-prijsmodel. De meeste, zo niet alle, AWS-services volgen dit model, en AWS Kinesis is daarop geen uitzondering.

Er zijn geen vooruitbetalingen of minimale kosten. Je betaalt alleen voor de resources die je gebruikt.

Laten we bekijken hoe de prijzen voor AWS Kinesis werken en hoe je best practices kunt toepassen om je kosten te optimaliseren.

Overzicht van prijzen

De twee kernservices onder AWS Kinesis, Kinesis Data Streams en Kinesis Video Streams, hebben verschillende kosten en factureringsopties op basis van hoe je de services instelt.

Kinesis Data Streams kent twee capaciteitsmodi, elk met andere kosten. Hier is een korte samenvatting:

  • On-demand: Je betaalt voor het volume data dat je inneemt en ophaalt, plus een uurtarief voor elke datastream die je in je AWS-account opzet.
  • Geprovisioneerd: In de geprovisioneerde capaciteitsmodus moet je het aantal shards opgeven dat je applicatie nodig heeft en betaal je per shard een uurtarief.

De on-demandcapaciteitsmodus is een flexibelere en eenvoudigere aanpak die goed is als je net begint met Kinesis Data Streams.

Zodra je applicatie echter een punt bereikt waarop je verkeer voorspelbaarder en makkelijker te voorspellen is, kan de geprovisioneerde capaciteitsmodus een kostenefficiëntere optie zijn.

Kinesis Video Streams biedt een flexibel on-demand prijsmodel op basis van drie factoren:

  • Het datavolume dat je inneemt (in gigabytes).
  • Het datavolume dat je consumeert (in gigabytes).
  • Het datavolume dat je opslaat in een maand (in gigabytes).

Tips en best practices voor kostenoptimalisatie

Zowel Kinesis Data Streams als Kinesis Video Streams zijn niet beschikbaar in de AWS Free Tier. Dit betekent dat je kosten maakt vanaf het moment dat je een van deze streams in AWS instelt.

Er zijn echter een aantal best practices en tips die je kunt volgen bij het instellen van AWS Kinesis voor je applicaties om de kosten laag te houden.

Volg deze drie toptips om kosten te optimaliseren:

  • Schakel over naar de geprovisioneerde capaciteitsmodus zodra je verkeer voorspelbaar wordt. Hoewel on-demand het gedoe van het monitoren en beheren van shards wegneemt, kan het veel duurder uitpakken.
  • Je kunt eenvoudig wisselen tussen on-demand en geprovisioneerde capaciteitsmodi op basis van verkeerspatronen. Verwacht je bijvoorbeeld pieken op bepaalde uren van de dag, dan kun je overschakelen naar on-demand en vervolgens terugschakelen naar geprovisioneerd wanneer je weet dat het verkeer consistenter is. Wees hier wel voorzichtig mee: je kunt deze wissel slechts twee keer per periode van 24 uur uitvoeren.
  • Stel je bewaarbeleid voor data vroegtijdig in. Kinesis Data Streams is niet ontworpen voor langdurige opslag van data. Je betaalt voor data die langer dan 24 uur wordt opgeslagen (opslag is in die eerste 24 uur gratis).

AWS Kinesis vs Kafka

Amazon Managed Streaming for Apache Kafka (Amazon MSK) is een andere populaire datastreamingservice die door AWS wordt aangeboden.

Je vindt onze uitgebreide beginnersgids voor Amazon MSK in een apart artikel, evenals onze gids voor Kafka.

Bij het vergelijken van Amazon MSK met Kinesis is er veel overlap. Beide services bieden schaalbare, veilige en hoog beschikbare oplossingen voor datastreamingapplicaties.

Het echte verschil bij het kiezen van een service komt neer op je eigen voorkeuren, vereisten en huidige infrastructuur.

Als je al gebruikmaakt van Apache Kafka, kun je profiteren van migratie naar een volledig beheerde cloudoplossing zoals Amazon MSK. Evenzo, als je team vertrouwd is met Apache Kafka, dan heeft Amazon MSK de voorkeur boven Amazon Kinesis.

Heb je daarentegen nog geen bestaande datastreaminginfrastructuur, dan zul je Amazon Kinesis waarschijnlijk gebruiksvriendelijker en eenvoudiger vinden om mee te starten.

Conclusie

Realtime data-analyse wordt voor veel sectoren en bedrijven steeds populairder en belangrijker. Om dit te bereiken, is het nodig een goed datastreamingsysteem op te zetten dat grote hoeveelheden data aankan zonder vertragingen of downtime.

AWS zag deze groeiende behoefte al in 2013 en heeft sindsdien een van hun beste datastreamingoplossingen ontwikkeld en verfijnd: Amazon Kinesis. Tegenwoordig is Amazon Kinesis de toonaangevende oplossing voor het innemen en verwerken van datastreams met ongelooflijke snelheden.

Ben je nieuw bij AWS? Begin dan met onze beginnersvriendelijke AWS-cursus om meer te leren over AWS en de services. Klaar om een carrière te starten met cloudservices zoals AWS? Lees dan ons artikel over AWS-certificeringen en hoe je de beste voor jouw doelen kiest. Zet daarna de volgende stap door je voor te bereiden op een sollicitatiegesprek en de belangrijkste AWS-sollicitatievragen te oefenen.

AWS Kinesis FAQ's

Waarvoor wordt Amazon Kinesis gebruikt?

Amazon Kinesis is ontworpen voor realtime datastreaming. Dit betekent dat je Amazon Kinesis kunt gebruiken voor allerlei toepassingen die van nature tijdsgevoelig zijn. Je kunt bijvoorbeeld log- en eventdata streamen, videostreams verzamelen van apparaten met camera’s of realtime analyse van streamingdata faciliteren.

Wat is het verschil tussen on-demand en geprovisioneerde capaciteitsmodi in Amazon Kinesis Data Streams?

Bij de on-demandcapaciteitsmodus worden kosten in rekening gebracht op basis van je gebruik. Dit is een goede aanpak wanneer je net begint met Amazon Kinesis Data Streams. In de geprovisioneerde capaciteitsmodus moet je je verkeer en datastreamingbehoeften kunnen voorspellen. Dat kan in het begin uitdagend zijn, maar is op lange termijn een kostenefficiëntere optie.

Welke is beter: Amazon Managed Streaming for Apache Kafka (Amazon MSK) of Amazon Kinesis?

Amazon MSK en Amazon Kinesis zijn beide datastreamingoplossingen. Geen van beide is per definitie beter; je keuze hangt af van je eigen voorkeuren, vereisten en huidige infrastructuur. Amazon Kinesis wordt vaak als erg beginnersvriendelijk beschouwd, terwijl Amazon MSK het beste bij je past als je al met Apache Kafka werkt.

Wat is Amazon Kinesis Data Analytics?

Amazon Kinesis Data Analytics maakte het oorspronkelijk mogelijk om SQL-query’s uit te voeren op realtime streamingdata. AWS heeft Kinesis Data Analytics echter in augustus 2023 hernoemd naar Amazon Managed Service for Apache Flink (MSF). AWS bracht deze wijziging door om het aanbod uit te breiden met naast SQL ook andere programmeertalen, zoals Java en Scala.

Wat is Amazon Kinesis Data Firehose?

Oorspronkelijk stelde Amazon Kinesis Data Firehose gebruikers in staat om data van Kinesis Data Streams of Kinesis Video Streams naar diverse bestemmingen te leveren voor analyse of opslag. In februari 2024 kondigde AWS echter aan dat Amazon Kinesis Data Firehose wordt hernoemd naar simpelweg Amazon Data Firehose. Deze wijziging weerspiegelt de groei in hun databronnen en connectors.

Onderwerpen

Gerelateerd