<a id="cmf"></a>

# Confluent Manager for Apache Flink

Confluent Manager for Apache Flink® (CMF) is a central management component of Confluent Platform for Apache Flink that enables users to securely manage a
fleet of Flink jobs across multiple [Environments](../configure/environments.md#cmf-environments).
CMF supports two ways to create and manage Flink jobs; either as [applications](../jobs/applications/overview.md#cmf-applications)
or [SQL statements](../jobs/sql-statements/overview.md#flink-sql-statements).

This topic provides an overview of CMF and its architecture.

CMF provides the following key features:

- Job life-cycle management for Flink jobs.
- Integration with Confluent Platform for authentication and authorization (RBAC).
- Well-defined REST APIs and command-line interfaces (CLIs).
- Management of Flink workloads across multiple Kubernetes clusters from a single
  CMF instance. For more information, see
  [Manage Multiple Kubernetes Clusters in Confluent Manager for Apache Flink](../configure/kubernetes-clusters.md#cmf-kubernetes-clusters).

The following image shows the high-level architecture of how CMF
fits in.

![image](images/cmf-architecture.png)

CMF sits next to other Confluent Platform components such as Confluent Server and Connect.
Metadata for CMF, such as existing Flink environments, is stored in a
database: an embedded SQLite database by default, or an external PostgreSQL,
Microsoft SQL Server, or IBM Db2 database. For more information, see
[Configure Storage for Confluent Manager for Apache Flink](../installation/storage.md#cmf-storage).

Most interactions with CMF occur through its [REST API](../clients-api/rest.md#af-rest-api).
You can use these APIs directly for maximum flexibility, and the same APIs are exposed with the Confluent CLI.
They are also integrated with the Confluent for Kubernetes (CFK) for a native Kubernetes experience.
CMF also serves the [CMF UI](../installation/ui.md#cmf-ui-config) and an optional
[MCP server](../clients-api/mcp.md#cmf-mcp) for AI agents.

#### IMPORTANT
Do not manually modify Flink deployment resources: CMF manages Flink deployment resources internally and you should not modify them manually.
Manual modifications to Flink deployment resources can cause conflicts and unexpected behavior.

## Get started

To get started with CMF, see the following topics:

- [Get Started with Applications](../get-started/get-started-application.md#cpf-get-started)
- [Get Started with FlinkSQL](../get-started/get-started-statement.md#get-started-flinksql)
- [Install CMF with Helm](../installation/helm.md#install-cmf-helm)

## Related content

- [Confluent CLI Flink Operations](https://docs.confluent.io/confluent-cli/current/command-reference/flink/index.html)
- [REST APIs for Confluent Manager for Apache Flink](../clients-api/rest.md#af-rest-api)
- [Manage Multiple Kubernetes Clusters in Confluent Manager for Apache Flink](../configure/kubernetes-clusters.md#cmf-kubernetes-clusters)
- [Manage Flink Using Confluent for Kubernetes](https://docs.confluent.io/operator/current/co-flink-overview.html)
