<a id="ak-basics"></a>

<a id="basics-what-is-cp"></a>

# Learn More About Confluent Products and Kafka

This topic describes Apache Kafka® and Confluent Platform in more detail, provides use cases, and explains the relationship between the open-source software and
Confluent’s products.

## Kafka and Confluent overview

<!-- WARNING: THIS IS A SHARED FILE AND THE SOURCE IS LOCATED IN DOCS-COMMON. DO NOT ADD TO ANY OTHER REPO. -->

Apache Kafka® is an open-source, distributed, [event streaming platform](../_glossary.md#term-event-streaming-platform) capable of handling
large volumes of real-time data. You use Kafka to build real-time streaming applications.
Confluent is a commercial, global corporation that specializes in providing businesses
with real-time access to data. Confluent was founded by the original creator/co-creator of Kafka, and its
product line includes proprietary products based on open-source Kafka. This topic describes
Kafka use cases, the relationship between Confluent and Kafka, and key differences between
the Confluent products.

<!-- WARNING: THIS IS A SHARED FILE AND THE SOURCE IS LOCATED IN DOCS-COMMON. DO NOT ADD TO ANY OTHER REPO. --><div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; height: auto;">
   <iframe src="https://www.youtube.com/embed/pU9j-kqWpOo" frameborder="0" allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>
</div>

## How Kafka relates to Confluent

Confluent products are built on the open-source software framework of Kafka to provide customers with
reliable ways to [stream data](../_glossary.md#term-data-stream) in real time. Confluent provides the features and
know-how that enhance your ability to reliably stream data. If you’re already using Kafka, that means
Confluent products support any producer or consumer code you’ve already written with the Kafka Java libraries.
Whether you’re already using Kafka or just getting started with streaming data, Confluent provides
features not found in Kafka. This includes non-Java libraries for client development and server processes
that help you stream data more efficiently in a production environment, like Confluent [Schema Registry](../_glossary.md#term-Schema-Registry),
[ksqlDB](../_glossary.md#term-ksqlDB), and [Confluent Marketplace](https://www.confluent.io/hub/). Confluent offers
[Confluent Cloud](../_glossary.md#term-Confluent-Cloud), a data-streaming service, and [Confluent Platform](../_glossary.md#term-Confluent-Platform), software you download and manage yourself.

## Kafka use cases

Consider an application that uses Kafka topics as a backend to store and retrieve
posts, likes, and comments from a popular social media site. The application incorporates producers
and consumers that subscribe to those Kafka topics. When a user of the application publishes a post,
likes something, or comments, the Kafka producer code in the application sends that data to the
associated topic. When the user navigates to a particular page in the application,
a Kafka consumer reads from the associated backend topic and the application renders data on the
user’s device. For more information, see
[Use cases](/kafka/introduction.html#use-cases) in the [Apache Kafka Docs](/kafka/overview.html)
hosted by Confluent.

## Confluent Platform

Confluent Platform is software you download and manage yourself. Any Kafka use cases are also Confluent Platform use cases. Confluent Platform
is a specialized distribution of [Kafka](https://kafka.apache.org/)
that includes additional features and [APIs](/platform/current/api-javadoc/index.html#cp-api-javadocs). Many of
the commercial Confluent Platform features are built into the [brokers](../_glossary.md#term-Kafka-broker) as a
[function of Confluent Server](/platform/current/installation/migrate-confluent-server.html#migrate-confluent-server).

The fundamental capabilities, [concepts](/kafka/introduction.html),
[design ethos](/kafka/design/index.html), and ways of working that you already know from using Kafka,
also apply to Confluent Platform. By definition, Confluent Platform ships with all of the basic Kafka command
utilities and APIs used in development, along with several additional CLIs to
support Confluent specific features. To learn more about Confluent Platform, see [What is Confluent Platform?](/platform/current/platform.html#cp-platform).

Confluent Platform releases include the [latest stable version of Apache Kafka](https://kafka.apache.org/downloads), so when you
[install Confluent Platform](https://www.confluent.io/download/) you are also
installing Kafka. To view a mapping of Confluent Platform release to Kafka versions, see
[Supported Versions and Interoperability for Confluent Platform](/platform/current/installation/versions-interoperability.html#interoperability-versions).

## Confluent Cloud

Confluent Cloud provides Kafka as a cloud service, so that means you no longer need to install, upgrade or patch Kafka server components.
You also get access to a [cloud-native design](../_glossary.md#term-Kora), which offers Infinite Storage, elastic scaling and an uptime guarantee.
If you’re coming to Confluent Cloud from open source Kafka, you can use data-streaming features only available from Confluent,
including non-Java client libraries and proxies for Kafka producers and consumers, tools for monitoring and observability,
an intuitive browser-based user interface, enterprise-grade security and data governance features.

Confluent Cloud includes different types of server processes for steaming data in a production environment. In addition to brokers
and topics, Confluent Cloud provides implementations of Kafka Connect, Schema Registry, and ksqlDB.

<a id="basics-how-to-run-cp"></a>

## Confluent Platform how-tos

You have several options to get started with Confluent Platform and Kafka, depending on your use cases and goals.

- [Quick Start for Confluent Platform](platform-quickstart.md#quickstart) - Provides a simple example that shows you how to run Confluent Platform using Docker on a single broker, single cluster
  development environment with topic replication factors set to `1`.
- [Tutorial: Set Up a Multi-Broker Kafka Cluster](tutorial-multi-broker.md#basics-multi-broker-setup) - Provides an example of how to run a single cluster with multiple brokers.
  Describes how to configure and start a single controller, and as many brokers as you want to run in the cluster.

* [Run multiple clusters](tutorial-multi-broker.md#basics-multi-cluster-setup)- Describes a multi-cluster deployment where you have a dedicated controller for each cluster,
  and a Kafka server properties file for each broker.
* [Scripted Confluent Platform Demo](../tutorials/cp-demo/overview.md#scripted-demo) - Provides a scripted demo to build a full Confluent Platform deployment with
  [ksqlDB](../ksqldb/overview.md#ksql-home) and [Kafka Streams](../streams/overview.md#kafka-streams) for stream processing,
  and security end-to-end.
