It is usually used to orchestrate or automate flows of interaction between our systems. It is basically for integration. For example, for a permit that needs to go through several systems, in Camunda, we have a business process that orchestrates all the steps where the permit needs to be processed. All the systems are notified of this permit, and if there are people who need to interact with a specific permit, they get notified. They can then take action. That's the kind of use case for which we use Camunda in our organization.
For myself, the use case is similar, but it is for invoicing. When we receive an invoice, we need to process it. It goes through the business process. There are a lot of business rules that are applied to it. For example, we will check whether the total amount is balanced with subtotals and tax, and if that's not the case, with Camunda, we can create what's called a user task. It allows us to make an agent to take care of this invoice and fix the data that is related to it. These are the use cases that we are trying to achieve with Camunda. The goal is to clean up the invoice and make sure that the information related to it is correct so that it can be transferred to our ERP to pay suppliers.
It is on-premise, and we've been able to put it in a Docker container. It is deployed in Kubernetes in our organization.