Jobs
Jobs represent Apache Flink jobs: the runtime representation of a Flink program.
Like Apache Flink jobs, a Job on Immerok Cloud can either be executed in execution mode STREAMING
(a streaming job) or in execution mode BATCH
(a batch job).
At this point, only streaming jobs are supported, though.
Like Apache Flink jobs, Immerok Cloud Jobs are immutable except for resources
, which can be changed during runtime to rescale your Job.
Flink Version
The Flink Version determines the major and minor version of Apache Flink for your Job.
Immerok Cloud will ensure that your Jobs always run on the most secure and robust version of Apache Flink that is compatible with the configured Flink version. Runtime Updates - in particular security updates and upgrades to the latest patch version of Apache Flink - happen automatically in the background for all your running Jobs.
Immerok Cloud currently only supports flinkVersion: 1.16
.
Resources
Rok Processing Units (RPU) are a horizontal unit of scaling for Jobs on Immerok Cloud.
This means if you increase the resources of a Job from rpus: 2
instead of rpus: 1
, the Job will receive twice as many resources as before.
Provided your Flink program itself scales perfectly, the Job will be able to process twice as many records/s.
The number of RPUs are the primary dimension of billing on Immerok Cloud.
The number of RPUs currently corresponds to the number of "Slots", which corresponds to the parallelism of the Flink job unless you configure SlotSharingGroups.
Configuration
The configuration
section allows you to pass certain Flink configuration options to your Jobs on Immerok Cloud.
All of these configurations have sane defaults, so that you should not be required to set any of them unless you like to manually tune your Job. In general, Immerok Cloud tries to expose as few knobs as possible and as many as necessary.
Please see the configuration reference for a full list of all available configuration options.
Lifecycle and Status
A Job is created in phase Pending
.
Once all prerequisites are fulfilled, e.g. the reference Artifact exists and is Ready
, and the Flink REST API is
available the Job transitions into Ready
and stays in Ready
until it is deleted.
status.phase
While the Job is in phase Ready
, status.flinkJobState
reflects the status of the underlying Flink job one-to-one.
Due to how Flink jobs are deployed and configured on Immerok Cloud, the state diagram of a Flink job becomes slightly
simpler compared to a generic Flink job.
For example, a Job on Immerok Cloud never reaches the Failed
state.
Instead, Jobs are restarted indefinitely until they either reach Finished
or Cancelled
.
Finished
is reached if the Job runs out of data or if it is stopped.Cancelled
is reached if the Job is cancelled, which corresponds to a deletion of the Job resource in Immerok Cloud.
status.flinkJobState