Analyze Kinesis streaming data in real time with Python stream processing from Quix

Why use Quix with Amazon Kinesis Data Streams?

Quix is a managed platform that enables you to develop, deploy, and monitor Python stream processing applications. It’s designed to work seamlessly with Amazon Kinesis streams as data sources.

100% Python

No JVM, wrappers, server-side engine, DSL, or cross-language debugging. Quix provides a Python Streaming DataFrame API that treats data streams as continuously updating tables.

Rich stream processing features

Quix supports stateless and stateful operations, aggregations over hopping and tumbling windows, custom data processing functions, and exactly-once semantics.

Dependable at scale

Quix is scalable, highly available, and fault tolerant. It’s optimized to process high-volume, high-velocity Kinesis streams with consistently low latencies.

How do Quix and Amazon Kinesis Data Streams work together?

Amazon Kinesis Data Streams is the streaming transport component. It has the following responsibilities:

  • Collects data from source systems
  • Acts as a streaming data source for Quix, the stream processing component

Quix is the Python stream processor that complements the Kinesis streaming data platform:

  • Ingests data records from Kinesis streams to perform real-time processing
  • Sends processed records to destination systems (via Quix connectors) so they can be stored and operationalized
  • Uses data from Kinesis streams to power real-time capabilities

Together, Amazon Kinesis Data Streams and Quix offer a complete, end-to-end solution that’s ideal for handling data streams and extracting actionable insights from real-time data.

Integrating Quix and Amazon Kinesis Data Streams requires minimum effort. This is made possible by the Quix external source connector, which enables you to send data from a Kinesis data stream into a Quix-hosted Kafka topic. 

Once you’ve configured the integration, you can implement your stream processing pipeline. 

You develop the stream processing logic using Quix Streams, an open-source technology that combines an Apache Kafka client with a Python stream processing library. Quix Streams offers the following key capabilities:

To learn more about Quix Streams and how to use its features, see the Quix Streams tutorials.  

What are the benefits of using Quix alongside Amazon Kinesis Data Streams?

Pure Python development experience

You can use several managed AWS services to process Kinesis streaming data: Amazon Kinesis Data Analytics, Amazon Managed Service for Apache Flink, and Amazon Managed Service for Apache Flink Studio. However, they don’t specifically target  Python developers — they are primarily for SQL, Scala, and Java users.

In contrast, Quix is a stream processor that’s tailor-made for Python developers. 

Compared to the AWS stream processing solutions, Quix offers the following advantages:

  • Pure Python coding and debugging experience
  • Intuitive Streaming DataFrame API with a modern Python syntax and a gentle learning curve (especially if you’re familiar with pandas)
  • A straightforward way to integrate all your favorite Python libraries into your workflow (scikit-learn, TensorFlow, PyTorch, etc)
  • No server-side engine

{{testimonial_Pavel}}

Flexible, comprehensive tooling

Similar to how Amazon Kinesis Data Streams provides tooling that makes it easier to stream data at scale, Quix offers everything you need to easily build, deploy, and manage Python stream processing pipelines:

  • CI/CD support. Integrations with any Git provider (e.g., GitHub, Bitbucket, Azure DevOps) for seamless CI/CD processes.
  • Environment control. Multiple projects and environments (linked to Git) for streamlined environment management.
  • Team collaboration. Multi-user collaboration at project and environment levels through organization and permission management.
  • Infrastructure management. Infrastructure as code (IaC) using Quix YAML (similar to Helm charts) with automated synchronization.
  • Observability and monitoring. Real-time logs, metrics, data explorers, and waveform and table views.
  • Security. Securely manage secrets and sensitive information.
  • Dev tools. Online code editor, Python code templates, and pre-built connectors for various data sources and sinks (e.g., MQTT, InfluxDB, Redis).
  • Pipeline management. Functionality to scale resources, adjust replicas, and manage CPU and memory for your streaming application.
  • Rapid prototyping. An in-built Quix-hosted Apache Kafka broker for testing and fast prototyping.
  • Local development. CLI tool to create, debug, and run your pipeline locally, and then quickly deploy it to the cloud. 

{{testimonial_Carey-McLean}}

Reduced costs and complexity, and faster time to market

As fully managed platforms, Amazon Kinesis Data Streams and Quix bring the following advantages:

  • You don’t need to worry about configuring and managing streaming infrastructure
  • Predictable costs and significantly reduced DevOps, financial, and operational burden
  • You are free to focus entirely on innovating, building, and releasing new features, products, and capabilities that rely on real-time data 

{{testimonial_Christoph-Dietrich}}

Scalable, reliable, future-proof

Amazon Kinesis Data Streams is a highly available and durable service that’s optimized to stream up to gigabytes of data per second with low latency. 

Built by Formula 1 engineers and used in production by Formula 1 teams, Quix is an equally robust solution:

  • Highly scalable, leveraging Kafka and Kubernetes under the hood to provide data partitioning, consumer groups, and state management
  • Reliable data delivery and failure recovery through exactly-once processing, data and service replication, changelogs, and checkpointing
  • Highly available — Quix Cloud guarantees 99.99% uptime
  • Able to process billions of messages per day, with consistently low latencies (in the double-digit millisecond range)

By pairing Amazon Kinesis Data Streams and Quix, you have a stable, future-proof solution that can reliably collect and process real-time data at any scale.

{{testimonial_Fernando-Ayuso}}

What kind of use cases can I enable with Kinesis streaming data and Quix?

By leveraging Amazon Kinesis Data Streams as your streaming data platform and Quix as your Python stream processing engine, you can build complex event-driven systems, real-time analytics capabilities, real-time data pipelines, streaming applications, and AI/ML products.

Here are but a few examples of real-time use cases you can enable by pairing Kinesis streaming data and Quix:

  • Fraud and& cheat detection
  • Sentiment and& clickstream analysis
  • Predictive maintenance
  • Motor racing analysis
  • Live dashboards
  • Real-time content recommendations
  • Streaming ETL and real-time ML pipelines