Migration tooling
Camunda currently invests in tooling to help support and ease your migration from Camunda 7 to Camunda 8.
The migration tooling is currently under development, with an initial release planned for Camunda 8.8 (October 2025).
Migration tools
Camunda provides the following migration tools:
Migration tool | Description |
---|---|
Migration Analyzer | Helps you gain a first understanding of migration tasks. Available for local installation (requires Java) or hosted as a free SaaS offering. |
Data Migrator | Copies active Camunda 7 runtime instances and existing audit trail data (history) to Camunda 8. |
Code Converter | Supported by a mixture of diagram conversion tools, code conversion patterns, and automatable refactoring recipes. |
Camunda 7 Adapter | Run existing Camunda 7 delegation code directly in a Camunda 8 environment. |
Migration Analyzer
Camunda is developing the Migration Analyzer, a tool to gain a first understanding of migration tasks. This tool is based on the existing diagram converter, which can be used via CLI to produce a CSV file with tasks in your model. Our consultants then import this data into a Google Spreadsheet template to analyze what tasks need to be done to migrate.
The existing diagram converter can be used today. UI and reporting will be added amd documentation will be extended. The initial release is planned for 8.8. Iterative improvements will follow.
For example, the following image shows a sample report.
Performing this analysis will help you understand what needs to be done to migrate.
Data Migrator
The data migrator can copy runtime and audit data from Camunda 7 to Camunda 8.
Camunda is developing the Data Migrator with a first release planned for Camunda 8.8 (October 2024). Iterative improvements might follow.
It provides two important modes that can be applied separately:
- Runtime instance migration mode
- History migration mode
Runtime instance migration mode
Migrate currently running process instances. Running means that these process instances in Camunda 7 are not yet ended and currently wait in some wait-state. This state is persisted in the database and a corresponding data entry needs to be created in Camunda 8, so that the process instance can continue from that state in the new solution.
Requirements and limitations:
- The Runtime Data Migrator needs to access the Camunda 7 database.
- The Runtime Data Migrator needs to access Camunda 8 APIs (which means you can also use this tool when you run on SaaS).
- Multiple Instance is not supported, so process instances that are currently waiting in a multiple instance task cannot be migrated and need to be moved out of that state in Camunda 7 beforehand.
If you need to adjust your process models before migration, you can use process version migration in the Camunda 7 environment to migrate process instances to versions that are migratable to Camunda 8. An interesting strategy can be to define dedicated migration states you want your process instances to pile up in. Another common strategy is to use process instance modification in the Camunda 7 environment to move out of states that are not migratable (for example, process instances within a multiple instance task).
History migration mode (copying audit log data)
Process instances left traces, referred to as History in Camunda 7. These are audit logs of when a process instance was started, what path it took, and so on.
It is important to note that audit data can exist for ended processes from the past, but is also available for currently still running process instances, as those process instances also left traces up to the current wait state.
The History Data Migrator can copy this audit data to Camunda 8.
Audit data migration might need to look at a huge amount of data, which can take time to migrate. In early measurements, migrating 10,000 process instances took around 10 minutes, but the number varies greatly based on the amount of data attached to a process instance (for example, user task instances, variable instances, and so on).
You can run audit data migration alongside normal operations (for example, after the successful big bang migration of runtime process instances) so that it doesn't require downtime and as such, the performance might not be as critical as for runtime instance migration.
Requirements and limitations:
- The History Data Migrator needs to access the Camunda 7 database.
- The History Data Migrator can only migrate to Camunda 8 if a relational database (RDBMS) is used, a feature planned for Camunda 8.9.
- The History Data Migrator needs to access the Camunda 8 database (which means you can only run this tool in a self-managed environment).
- If runtime and history data are migrated at the same time, you will end up with two instances in Camunda 8: a canceled historic process instance and an active new one in the runtime. They are linked by process variables.
Typical choreography of runtime and history migration
As described in the roll-out phase of the migration journey, you will typically use the following sequence of tasks when applying both data migrations while keeping downtimes to a minimum:
- Stop the Camunda 7 solution (normally shut down your application).
- Start the Data Migrator in "running instance migration mode".
- Wait until running instance migration is completed.
- Start the new Camunda 8 solution immediately so migrated process instances can continue right away.
- Start the Data Migrator in "history migration mode".
- The migrator runs until all history data is migrated while Camunda 8 process execution continues in parallel.
With this approach, the duration of history migration doesn't block big bang migrations.
Customization of Data Migrator
You might need to customize the data migration, especially if you used complex data formats in C7 (for example, Java objects) that need to be converted to something Camunda 8 can handle (for example, JSON). As part of this step, you might also need to extract big payloads and binaries (like documents) into an external data store and reference it from the process (using, for example, upcoming document handling possibilities).
Code Converter
Code conversion is described in Code Conversion.
Camunda 7 Adapter
The adapter and its documentation are available on GitHub: Camunda 7 Adapter.