With Amazon Kinesis Data Analytics, you pay only for what you use. There are no resources to provision or upfront costs associated with Amazon Kinesis Data Analytics.
You are charged an hourly rate based on the average number of Kinesis Processing Units (or KPUs) used to run your stream processing application. A single KPU is a unit of stream processing capacity comprised of 1 vCPU compute and 4 GB memory. Amazon Kinesis Data Analytics automatically scales the number of KPUs required by your stream processing application as the demands of memory and compute vary in response to processing complexity and the throughput of streaming data processed.
For Java applications, you are charged a single additional KPU per application for application orchestration. Java applications are also charged for running application storage and durable application backups. Running application storage is used for stateful processing capabilities in Amazon Kinesis Data Analytics and is charged per GB-month. Durable application backups are optional, charged per GB-month, and provide a point-in-time recovery point for applications.
Pricing example 1: Java application with a simple streaming filter
A customer uses a Java application in Amazon Kinesis Data Analytics to read streaming data captured by their Apache Kafka topic in their Amazon MSK cluster. The customer is applying a continuous filter to only retain records of interest. A customer creates one durable application backup per day and retains those backups for seven days. The monthly Amazon Kinesis Data Analytics charges will be computed as follows:
The price in US-East is $0.11 per KPU-Hour used for the stream processing application. This simple application uses 1 KPU to process the incoming data stream. Each Java application is charged an additional KPU per application.
Java applications use 50GB running application storage per KPU and are charged $0.10 per GB-month in US-East.
Monthly Running Application Storage Charges = 720 Hours/Month * 1 KPU * 50GB/KPU * $0.10/GB-month = $5.00
Java applications charge $0.023 per GB-month in US-East for durable application backups. Each backup for this application is 1 MB and the customer maintains the 7 most recent backups, creating a new and deleting an old backup every day.
Monthly Durable Application Storage Charges = 7 backups * (1 MB/backup * 1 GB/1000 MB) * $0.023/GB-month = $0.01 (rounded up to the nearest penny)
Total Charges = $158.40 + $5.00 + $0.01 = $163.41
Pricing example 2: SQL application with a sliding window and workload spikes
A customer uses a SQL application in Amazon Kinesis Data Analytics to compute a 1-minute, sliding-window sum of items sold in online shopping transactions captured in their 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 Amazon Kinesis Data Analytics charges will be computed as follows:
The price in US-East is $0.11 per KPU-Hour used for their 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.
For ‘spiked state’ which occurs for 1 of 24 hours in the day, the sliding-window query uses between 1 and 2 KPUs. The customer will be billed for 2 KPUs for that 1 hour out of the 24 hours in the day.
Total Charges = $75.90 + $6.60 = $82.50
Pricing example 3: Java application performing streaming ETL with workload changes
A customer uses a Java application in Amazon Kinesis Data Analytics to continuously transform and deliver log data captured by their Kinesis Data Stream to 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. The customer does not create any durable application backups. The monthly Amazon Kinesis Data Analytics charges will be computed as follows:
The price in US-East is $0.11 per KPU-Hour. Kinesis Data Analytics allocates 50GB 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 6 hours of lower throughput. The application is scaled up to 8 KPUs for a total of 18 hours per day.
Light Workload: During the light workload period for the remaining 6 hours, the Kinesis Data Analytics application is processing 2,000 records/second and automatically scales down to 2 KPU.
Each Java application is charged an additional KPU per application.
Monthly Charges = 30 * 24 * 1 KPU * $0.11/Hour = $79.20
Total Charges = $515.20 + $49.60 + $79.20 = $644.00
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.