Why use Kafka Connect?
Kafka is designed for high-throughput, low-latency stream processing. However, it is not a replacement for long-term archival or analytical storage:- Kafka stores data on disk with retention policies (time- or size-based). Retention keeps your cluster from growing indefinitely, but it is not a substitute for archival or analytics storage.
- For analytics, reporting, or ML pipelines you typically need durable, queryable storage such as object stores (Amazon S3, Google Cloud Storage), databases, or data warehouses (BigQuery, Redshift).
- Writing and maintaining custom consumer code to copy data from Kafka to these systems quickly becomes an operational burden.

Real-world example: shopping application
Imagine a shopping app that emitsclick, cart, and checkout events into an events Kafka topic. You use those events for:
- Real-time dashboards and alerts (stream processing).
- Long-term analytics (sales trends, customer lifetime value, ML features).

What is Kafka Connect?
Kafka Connect is:- A framework and long-running runtime for connectors that move large collections of data into and out of Kafka.
- Typically run as a separate service in either standalone or distributed mode.
- Connector-based: source connectors bring external data into Kafka; sink connectors move Kafka data out to external systems.
- Minimal custom code
- Standardized configuration and lifecycle
- Built-in scaling and fault tolerance (in distributed mode)
Connector configuration and REST API
Connectors are configured by supplying JSON (distributed mode) or properties files (standalone mode) to the Connect runtime. In distributed mode you typically POST a connector definition to the Connect REST API. The configuration includes:- Connection to Kafka (bootstrap servers)
- Topics to read or write
- Connector-specific settings (e.g., for S3: bucket, region, format, flush size)
Connector types: quick reference
Wrap any examples with curly braces in code ticks to avoid MDX parsing issues (for example, use
`{"key":"value"}` when required).
Deployment considerations
Kafka Connect is a separate long-lived service from Kafka. You can deploy it:- On VMs (for example, EC2)
- Containerized on Kubernetes
- As a managed/cloud Connect service (Confluent Cloud, cloud providers)
Kafka Connect runs as a long-lived process in either standalone or distributed mode. For production deployments, prefer containerized or VM-based deployments (for example Kubernetes) or a managed Connect service.
Do not use short-lived serverless functions (for example, AWS Lambda) to replace a Connect cluster. Connect relies on persistent workers, task coordination, and rebalancing that serverless platforms do not provide.
Why use Kafka Connect? Key benefits

- Scalability: Connect clusters scale independently of Kafka. Add workers to increase connector throughput.
- Fault tolerance: Distributed mode provides task rebalancing and resumption on worker failure. Connectors include retry and error handling options.
- Extensibility: Large ecosystem of connectors covers S3, GCS, BigQuery, databases, search, and more—reducing custom development.
- Near-real-time analytics: Stream events from Kafka into analytics systems (S3 → Athena, BigQuery, Redshift, Looker Studio) to enable immediate querying and historical analysis.
Summary
- Kafka is excellent for real-time stream processing but not intended for indefinite archival storage.
- Use Kafka Connect to build standardized, scalable, and fault-tolerant pipelines that move data from Kafka to durable stores (S3, databases, data warehouses).
- Configure connectors via the Connect REST API (JSON) or properties files, and deploy Connect as a long-running service (VMs, containers, or managed offerings).
- Choose connector implementations and tuning parameters (batch size, flush interval, serialization format) based on throughput, downstream query patterns, and storage cost.
Links and references
- Kafka Connect overview — Apache Kafka documentation
- Confluent Hub — connectors
- Amazon S3 documentation
- BigQuery documentation
- Debezium (change data capture) connectors