Amazon Kinesis Data Analytics is the easiest way to transform and analyze streaming data in real time using Apache Flink, an open-source framework and engine for processing data streams. Amazon Kinesis Data Analytics simplifies building and managing Apache Flink workloads and allows you to easily integrate applications with other AWS services.
With Amazon Kinesis Data Analytics, you pay only for what you use. There are no resources to provision and no upfront costs. You are charged an hourly rate based on the number of Kinesis Processing Units (or KPUs) used to run your applications. A single KPU comprises 1 vCPU compute and 4 GB of memory.
Amazon Kinesis Data Analytics for Apache Flink Streaming Applications Pricing
For Apache Flink applications, you are charged a single additional KPU per application, used for orchestration. Applications are also charged for running storage and durable backups. Running application storage is used for stateful processing capabilities in Amazon Kinesis Data Analytics and is charged per GB/month. Durable backups are optional and provide point-in-time recovery for applications, charged per GB/month.
In streaming mode, Amazon Kinesis Data Analytics automatically scales the number of KPUs required by your stream processing application as the demands of memory and compute fluctuate. You may choose to provision your application with the number of KPUs required.
Amazon Kinesis Data Analytics Studio Pricing
You are charged two additional KPUs per Studio application in interactive mode. One KPU is used for Apache Flink application orchestration and the other for the serverless interactive development environment. You will also be charged for running application storage used for stateful processing capabilities. Running application storage is charged per GB/month.
When developing in the Studio notebook, you will not have the option to create durable application backups. However, when you deploy your application in the Studio notebook from interactive mode to streaming mode, you will be able to create durable application backups.
General guidance on KPU usage
We recommend that you test your application with production loads to get an accurate estimate of the number of KPUs required for your application. KPU usage can vary considerably based on your data volume and velocity, code complexity, integrations, and more. This is especially true when using Apache Flink runtime in Amazon Kinesis Data Analytics. For example, through internal testing we have observed throughput of hundreds of MB per second per KPU for simple applications with no state, and throughput of less than 1 MB per second per KPU for complex applications that use intensive machine learning (ML) algorithms. With these caveats in mind, the general guidance we provide prior to testing your application is 1 MB per second per KPU.
Pricing by Region
Pricing Example 1: Studio Notebook with a Simple Streaming Filter
You use Amazon Kinesis Data Analytics Studio to continuously filter streaming data captured by your Kinesis Data Stream and only retain records of interest. You want the ability to view and visualize records in real time and easily write queries and programs in SQL and Python. You do not want durable state backups. You provision 4 KPUs for your Studio notebook based on your input stream’s throughput. Your monthly Kinesis Data Analytics charges will be computed as follows:
The price in U.S. East (N. Virginia) Region is $0.11 per KPU/hour used for your stream processing application. This simple application uses 4 KPUs to process the incoming data stream. Each Studio notebook application (example: interactive mode) is charged 2 additional KPUs per application. Monthly KPU Charges = 30 Days * 24 Hours * ((4 KPUs + 2 additional KPUs) * $0.11/ Hour) = $475.20
Apache Flink applications use 50 GB running application storage per KPU and are charged $0.10 per GB/month in US-East-1.
Monthly Running Application Storage Charges = 30 Days * 24 Hours * 4 KPUs * (50GB * $0.10/GB/month) = $20.00
Total Charges = $475.20 + $20.00 = $495.20
Pricing Example 2: Studio Notebook with a Sliding Window Deployed to Streaming Mode
You use Kinesis Data Analytics Studio to build a sliding window on streaming data captured by a topic in your Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster. You use a Studio notebook with 4 KPUs for eight hours over two days to develop and test your queries. After development you deploy the application as a streaming application with 12 KPUs. Once the streaming application is deployed, you stop your Studio notebook. The streaming application can use durable application state and you create durable state backups every day.
The price in U.S. East (N. Virginia) Region is $0.11 per KPU/hour used for your stream processing application.
Developing and testing query Kinesis Data Analytics Studio:
KPU charges = 2 Days * 8 Hours * (4 KPUs + 2 additional KPUs for Studio notebook) * $0.11/Hour) = $10.56
Apache Flink applications use 50 GB running application storage per KPU and charged $0.10 per GB/month in US-East-1.
Running Application Storage Charges = 2 Days * 8 hours * 4 KPUs * (50GB * $0.10/GB-month) = $0.44
Deploying as streaming application to run continuously and take application backups:
KPU charges = 28 Days * 24 Hours * (2 KPUs + 1 additional KPU for streaming application) * $0.11/Hour) = $221.76
Apache Flink applications use 50 GB running application storage per KPU and charged $0.121 per GB/month in US-East-1.
Running Application Storage Charges = 28 Days * 24 Hours * 2 KPUs * (50GB * $0.10/GB-month) = $9.33
Durable Application Storage Charges = 28* (1 MB/backup * 1 GB/1,000 MB) * 0.023/GB-month = $0.01 (rounded to the nearest penny)
Total Charges = $10.56 + $0.44 + $221.76 + $9.33 + $0.01 = $242.10
Pricing Example 3: Apache Flink Application Performing Streaming ETL with Workload Changes
You use an Apache Flink application in Kinesis Data Analytics to continuously transform and deliver log data captured by your Kinesis Data Stream to Amazon Simple Storage Service (Amazon S3). The log data is transformed using several operators including applying a schema to the different log events, partitioning data by event type, sorting data by timestamp, and buffering data for one hour prior to delivery. The application has many transformation steps, but none are computationally intensive. This stream ingests data at 2,000 records/second for 12 hours per day and increases to 8,000 records/second for 12 hours per day. You do not create any durable application backups. The monthly Kinesis Data Analytics charges will be computed as follows:
The price in U.S. East (N. Virginia) Region is $0.11 per KPU-hour. Kinesis Data Analytics allocates 50 GB of running application storage per KPU and charged $0.10 per GB/month.
Heavy Workload: During the 12-hour heavy workload period, the Kinesis Data Analytics application is processing 8,000 records/second and automatically scales up to 8 KPUs. After the heavy workload period, the Kinesis Data Analytics application scales the application down after six hours of lower throughput. The application is scaled up to 8 KPUs for a total of 18 hours per day.
30 Days/Month * 18 Hours/Day = 540 Hours/Month
Monthly KPU Charges = 540 Hours/Month * 8 KPUs * $0.11/Hour= $475.20
Monthly Running Application Storage Charges = 540 Hours/Month * 8 KPUs * 50GB/KPUs * $0.10/GB-month = $30.00
Monthly KPU and Storage Charges = $475.20 + $30.00 = $505.20
Light Workload: During the light workload period for the remaining six hours, the Kinesis Data Analytics application is processing 2,000 records/second and automatically scales down to 2 KPUs
30 Days/Month * 6 Hours/Day = 180 Hours/Month
Monthly KPU Charges = 180 Hours/Month * 2 KPUs * $0.11/Hour = $39.60
Monthly Running Application Storage Charges = 180 Hours/Month * 2 KPUs * 50GB * $0.10/GB- month = $2.50
Monthly KPU and Storage Charges = $39.60 + $2.50 = $42.10
Each Apache Flink application is charged an additional KPU per application.
Monthly Charges = 30 * 24 * 1 KPU * $0.11/Hour = $79.20
Total Charges = $505.20 + $42.10 + $79.20 = $626.50
Pricing Example 4: Kinesis Data Analytics for SQL Application with a Sliding Window and Workload Spikes
You use a Kinesis Data Analytics for SQL application to compute a one-minute, sliding-window sum of items sold in online shopping transactions captured in your Kinesis stream. This stream normally ingests data at 1,000 records/second, but the data spikes once a day during promotional campaigns to 6,000 records/second inside an hour. The monthly Kinesis Data Analytics charges will be computed as follows:
The price in U.S. East (N. Virginia) Region is $0.11 per KPU-Hour used for your stream processing application. The incoming Kinesis data stream transmits data at 1,000 records/second. However, once a day, inside an hour, the stream spikes to 6,000 records/second.
For "steady state," which occurs 23 of 24 hours in the day, the sliding-window query uses 1 KPU to process the workload during these hours.
30 Days/Month * 23 Hours/Day = 690 Hours/Month
Steady State = 690 Hours/Month * (1 KPU * $0.11/Hour) = $75.90
For "spiked state," which occurs for 1 of 24 hours in the day, the sliding-window query uses between 1 and 2 KPUs. You will be billed for 2 KPUs for that 1 hour out of the 24 hours in the day.
30 Days/Month * 1 Hour/Day = 30 Hours/Month
Spiked State = 30 Hours/Month * (2 KPUs * $0.11/Hour) = $6.60
Total Charges = $75.90 + $6.60 = $82.50
Note: We reserve the right to charge standard AWS data transfer costs for data transferred in and out of Amazon Kinesis Data Analytics applications.
Get started with Amazon Kinesis Data Analytics
Instantly get access to the AWS Free Tier.
Build your streaming application from the Amazon Kinesis Data Analytics console.