Confluent Manager for Apache Flink Applications

An Application in Confluent Manager for Apache Flink® (CMF) is a user program that is configured within a Flink job. When you deploy an Application with CMF, CMF manages the life-cycle of the Flink job that contains it with an Environment.

The REST APIs to manage Application instances are declarative, which makes it easy to integrate with external tooling such as CI/CD systems, and they fully describe the desired configuration.

Running and suspending an application

The desired state of an Application controls the physical deployment of the underlying Flink job:

  • Running: An Application in a running state is deployed according its specified configuration. When there are no errors, the Flink cluster associated with the Application consumes the configured amount of physical resources (such as CPU and memory).
  • Suspended: An Application in suspended state is inactive. When there are no errors, the Flink cluster associated with the Application consumes no physical resources (such as CPU and memory). Depending on the configured upgradeMode, the state of a suspended Flink Application will be preserved and restored upon a transition back into running state.

Isolation between applications

Each Application is executed in a Flink Application cluster. This deployment mode isolates each Flink Application at the process level. When an Application is in a running state, the physical resources (such as CPU and memory) are exclusively allocated to the respective Application.

Relationship to Environment

Each Application is bound to an Environment.

The Environment controls the Kubernetes namespace in which the Flink job is deployed.

In addition, the Environment sets configuration options that take precedence over the configuration options specified in the Application.

Manage applications

You can use these tools to create and manage applications: