Table Of Contents
Amazon Kinesis Pricing Explained How Does Amazon Kinesis Billing Work? Kinesis Cost Optimization: How To Control, Reduce, And Optimize Amazon Kinesis Costs Amazon Kinesis FAQs

Kinesis is an Amazon Web Services (AWS) product that collects, processes, and analyzes streaming data in real-time.

It can process streaming video, audio, IoT data, application logs, and other data coming in from thousands of unique sources as it arrives, unlike technologies like Hadoop, which utilize batch processing (waiting for a complete dataset to arrive before processing and analyzing it).

In that sense, Amazon Kinesis works like Apache Kafka, except it is a fully managed AWS service rather than open-source (self-configuration).

But is Amazon Kinesis pricing worth it? Here’s a quick breakdown of how Kinesis pricing works, including answers to these questions:

Table Of Contents

Amazon Kinesis Pricing Explained

Pricing for Kinesis is based on usage, a pay-as-you-go model. You only pay for what you use. No contract is required, no upfront fees are charged, and no minimum usage commitment is necessary.

You can also access and use Amazon Kinesis at any scale, on-demand, without provisioning resources.

However, the actual cost varies depending on the Amazon Kinesis product you choose. There are four types of Amazon Kinesis products:

  • Amazon Kinesis Video Streams
  • Amazon Kinesis Data Streams
  • Amazon Kinesis Data Firehose
  • Amazon Kinesis Data Analytics

Here’s how the Kinesis pricing model works in each case.

finops-automation-series-thumbnails

How Does Amazon Kinesis Billing Work?

The billing model for all four Kinesis solutions is pay-as-you-go, though it works differently for each solution.

1. Amazon Kinesis Video Streams Pricing

Amazon Kinesis Video Streams enables you to capture, process, and analyze data from live videos and other time-encoded data. You then choose whether to store and consume the data. There are several factors that influence the cost of Kinesis Video Streams:

Volume of data you ingest, store, and consume through Kinesis

Pricing varies by region but starts at:

  • $0.00850 per GB of data you ingest into Kinesis Video Streams
  • $0.00850 per GB of data you consume (egress) from Kinesis Video Streams
  • $0.01190 per GB of data you consume (egress) from Kinesis Video Streams using HLS
  • $0.02300 per GB month of data you store in Kinesis Video Streams
  • $10 per million images of up to 1080p resolution you generate from streams
  • $18 per million images of over 1080p resolution you generate from streams

Another thing. Kinesis will charge you a standard data transfer fee when you retrieve video streams data and send it over the internet to a location outside AWS.

For WebRTC capabilities

Your monthly charge depends on the number of signaling channels you activate in a billing cycle (month), the number of signaling messages you send and receive, how many TURN streaming minutes you use to relay media, and the AWS region you choose.

For Kinesis Video Streams with WebRTC capabilities pricing starts at $0.03000 per channel per month for active signaling channels, $2.25000 per million signaling messages, and $0.12000 per thousand TURN streaming minutes.

Note that Kinesis considers a signaling channel to be active when an app (viewer) or device (primary) connects to it at least once during the month. The service also meters TURN streaming minutes in 1-minute increments.

The AWS Region you choose

Choose a region from the 15 available in North America, Asia, Europe, Australia, or South America. Pricing is lowest in the US (Ohio, North Carolina, and Oregon).

2. Amazon Kinesis Data Streams Pricing

With Kinesis Data Streams, you get a serverless streaming data service to dynamically capture and store events, logs, clickstreams, and related data in real-time. Pricing for Kinesis Data Streams depends on the capacity mode you choose (provisioned or on-demand) and AWS region (out of 26). Consider this:

 

On-Demand Kinesis Data Streams pricing

On-Demand capacity mode pricing (US East – Ohio, Oregon, N. Virginia regions)

Provisioned Kinesis Data Streams pricing

Provisioned capacity mode pricing (US East – Ohio, Oregon, N. Virginia regions)

Main difference

No need to specify how much read and write you expect your app to perform. 

Pay per GB of data you write and read from your data streams. 

 

You specify the number of shards your application needs based on its read & write request rate. 

Pay is for each shard per hour. 1 shard offers 1MB or 1,000 records per second write and 2MB/second read throughout for each user (without Enhanced fan-out)

$0.015/shard hour (1MB/second write and 2MB/second read)

Data in

Billing for data you ingest into Kinesis Data Streams is per GB written on a data stream (No. of records sent to Kinesis Data Streams X size of each record,  rounded off to the nearest 1kb)

$0.08/GB

The data your data producer adds to your Kinesis Data Streams service is billed in PUT Payloads. Each PUT Payload contains a record up to 25 KB in size (so, a 10 KB record takes 1 PUT Payload, a 65 KB record takes 3, and a 2MB record takes 80, i.e. 2000 KB divide by 25). 

$0.014/1,000,000 PUT Payload units

Data out

Billing for data you retrieve from Kinesis Data Streams is per GB read from a data stream (No. of records retrieved X size of each record)

$0.04/GB

  

Per stream

Billing for each stream running in on-demand capacity mode in your account per hour

$0.04/hour

  

Extended data retention

No additional charge for the first 24 hours

Can extend data storage up to 7 days, billed at a GB-month rate

$0.10/GB-month

No additional charge for the first 24 hours

Can extend data storage up to 7 days, billed at an additional rate per shard hour each data stream incurs 

$0.02/shard hour

Long-term data retention 

Can store data up to 365 days, billed at the Extended data retention rate for the first 7 days and a lower rate beyond that

$0.023/GB-month

Can store data up to 365 days, billed at the Extended data retention rate for the first 7 days and a GB-month rate beyond that

Charges apply for retrieving data from long-term data retention per GB with GetRecords API.

$0.023/GB-month

$0.021/GB

Enhanced fan-out

Achieves up to a 2MB per second read throughout per shard for each data consumer. Additional charges apply per GB of data retrieved

$0.05/GB

Up to 2MB/second read throughput per data consumer without Enhanced fan-out

With Enhanced fan-out, additional charges apply per consumer-shard hour per GB of retrieved data

$0.013/GB with Enhanced data fan-out data retrievals

$0.015/GB per consumer shard-hour

Use case

New workloads, workloads with unpredictable data consumption needs, or where data streaming charges are not a priority concern

  

Predictable workloads, consistent traffic, or workloads whose capacity requirements you can forecast 

3. Amazon Kinesis Data Firehose Pricing

You can use this service to deliver real-time streaming data to services like Amazon Redshift, Amazon ElasticSearch, or Amazon S3 and third-party analysis solutions like MongoDB, New Relic, Splunk, and Datadog without configuring or managing infrastructure. Kinesis Data Firehose automatically sends the data to the location you specified when your data producers submit data to it.

The service offers four types of on-demand usage:

  • Ingestion – Kinesis Data KDF does the ingestion and delivery. Direct PUT and KDS as a source ingestion pricing is tiered and billing is per GB ingested in 5KB increments. So a 3 KB record counts as 5 KBs and 12 KBs as 15 KBs. No additional Kinesis Data KDF charges apply for delivery unless you use the optional features below. For records incoming from Vended Logs, their Ingestion pricing is tier-based and billing per GB of ingested data without 5KB increments.
  • Format conversion – This is optional and enables you to convert JSON records to Apache Parquet or Apache ORC format using a per-GB ingested rate, calculated by 5KB increments.
  • VPC delivery – This is also an optional feature. If your delivery stream has a destination residing in an Amazon VPC, billing is by each hour it is active in each AWS Availability Zone. Partial hours are billed as full hours. There is also a per GB charge for data processing.
  • Dynamic partitioning Another optional feature here. This enables you to continuously organize data by keys in your records (such as “customer_id”), then have the data delivered to Amazon S3 prefixes that correspond to each key. Pricing is per GB of data delivered to S3, per object. You can optionally pay per JQ processing hour to perform data parsing.

Here’s how pricing for Amazon Kinesis Data Firehose works in summary:

Kinesis Data Stream as a Source or Direct PUT

Pricing starts at (US East Ohio)

Vended Logs

Pricing starts at (US East Ohio)

Ingestion per GB

First 500 TB per month

Next 1.5 PB per month

Next 3 PB per month

Over 5 PB per month

$0.029

$0.025

$0.02

Custom pricing

Ingestion per GB

First 500 TB per month

Next 1.5 PB per month

Next 3 PB per month

Over 5 PB per month

$0.13

$0.11

$0.09

Custom pricing

Format conversion per GB

$0.018

Format conversion per GB

$0.018

VPC delivery

Data processed to VPC per GB

For VPC delivery per hour, per Availability Zone

$0.01

$0.01

VPC delivery

Data processed to VPC per GB

For VPC delivery per hour, per Availability Zone

$0.01

$0.01

Dynamic partitioning for Amazon S3 delivery

Per GB delivered

Per 1,000 Amazon S3 objects delivered

Per hour for JQ processing 

$0.02

$0.005

$0.07

Dynamic partitioning for Amazon S3 delivery

Per GB delivered

Per 1,000 Amazon S3 objects delivered

Per hour for JQ processing 

$0.02

$0.005

$0.07

Here’s one more thing to consider when calculating your Amazon Kinesis costs.

4. Amazon Kinesis Data Analytics Pricing

The service enables real-time processing, transformation, and analysis of data streams using Apache Flink. In addition, it helps you integrate the workload/applications with other AWS services, such as Amazon S3, Elasticsearch, and RedShift.

You pay based on how many Kinesis Processing Units (KPUs) you use per hour. Each KPU costs $0.11 per hour. Each KPU has a single vCPU and 4 GB of memory. The number of KPUs you use depends on factors such as the volume of data, velocity, integrations, and complexity of the code in your application.

There are also different pricing options based on the type of Amazon Kinesis Data Analytics you choose to use:

For Apache Flink streaming

Charges that apply here include:

  • 1 extra KPU for each application, used for orchestration from $0.11 per KPU.
  • Running application storage for stateful processing features in Amazon Kinesis Data Analytics from $0.10 per GB-month. The service assigns 50 GB of running application storage per KPU.
  • Durable backups (optional) for point-in-time recovery for applications, starting at $0.023 per GB-month.

Note that your stream processing application automatically scales up and down the number of KPUs it requires as memory and compute demands fluctuate. Alternatively, you can provision your application with as many KPUs as it requires based on previous testing or experience.

For Kinesis Data Analytics Studio

Charges that apply here include:

  • 2 more KPUs per Studio application during Interactive Mode (1 KPU for Apache Flink application orchestration; 1 KPU for the serverless interactive development environment). Pricing starts at $0.11 per KPU.
  • Running application storage for stateful processing features, starting from $0.10 per GB-month.

Note: Durable application backups are not supported when developing in the Studio notebook, but will be available if you are deploying an application in the Studio notebook from interactive to streaming mode.

Kinesis Cost Optimization: How To Control, Reduce, And Optimize Amazon Kinesis Costs

Here’s the thing about Kinesis cost optimization.

  • Multiple variables affect Amazon Kinesis pricing, which makes managing Kinesis costs challenging.
  • The volume of data streams your application must ingest, process, and deliver for analytics is also challenging to estimate.

A better approach is to continually capture, analyze, and connect the costs of ingesting, processing, storing, retrieving, and delivering data streams to the business dimensions that matter most to you. This way, you can identify who, what, and why your Amazon Kinesis, and other AWS costs‌, ‌are changing. Here’s where CloudZero comes in.

Dashboard

With CloudZero, you get organized, granular, and actionable cloud cost insights instead of receiving a single AWS bill with everything dumped together. CloudZero unit cost insights include the cost per customer, the cost per AWS service, the cost per product, the cost per feature, the cost per project, the cost per environment, etc.

Dashboard

Rather than simply cutting AWS costs indiscriminately, CloudZero empowers you to identify the people, products, and processes driving your costs. In this way, you can pinpoint where your cloud budget is going, what areas to cut back on, and even where to increase investment to maximize returns.

And, even when you can’t reduce data streams via Amazon Kinesis, CloudZero can help you know how much you’re spending on each Kinesis product so you can price your services to cover the cost and protect your margins.

The CloudZero platform also sends you noise-free, cost anomaly alerts so you can prevent overspending before it starts. to see how it works!

Amazon Kinesis FAQs

Here are some answers to frequently asked questions about Kinesis pricing and general functions.

What pricing model does Amazon Kinesis use?

Kinesis uses a pay-as-you-go pricing structure. You pay for what you use. No upfront payments. No contract required. No minimum usage demanded.

What is the difference between Kinesis Data Streams and Kinesis Data Firehose pricing?

Kinesis Data Streams pricing depends on whether you use the service on-demand or through provisioning, while Kinesis Data Firehose pricing depends on factors like ingestion, format conversion, dynamic provisioning, and VPC delivery.

Can Amazon Kinesis replace Apache Kafka?

Apache Kafka is an open-source framework while Amazon Kinesis is a managed service.

Both have their own uses in the market, Kafka for people who are interested in configuring and managing their own data streaming infrastructure, and Kinesis for people who would rather focus on other areas of managing data streams than constantly building and optimizing the infrastructure.