CamundaCon spurs our ambitions to deliver scalable, on-demand workflows
CamundaCon has united more than 600 representatives from across the globe, facilitating the connection of developers to more than 50 speakers to share best practices. Now in its third year, the event seeks to connect the Camunda community and engineering teams to share best practices, exchange case studies and engage directly with core Camunda engineers.¹
Interestingly enough, most of us are aware of what Camunda has to offer in the BPMN world of workflow and decision automation but on the contrary, not many of us are aware of what Camunda actually means. Camunda comes from the latin verbs “capere” (“to comprehend”) and “munda” (“clean”). 2 It means that we want to deeply understand the world around us.
CamundaCon was born out of the Camunda community (which was formerly known as BPMNCon) an annual event set out in the radiant city of Berlin. Since CamundaCon began in 2016, it has grown in popularity to benefit all Camunda enthusiasts. This two day event was split into three tracks – case studies, community track and in-depth hands on coding sessions. These sessions were great as they were tailored to the needs of software developers, enterprise architects or IT executives. Overall, it was an intense showcase of the latest developments in Camunda product stack, spectacular case studies and user implementations.
Alongside all the intense technical sessions it also provided a hub for networking with fellow Camunda users from across the globe at the famous barbecue evening held on the banks of the river Spree. It was a fun interaction that provided the opportunity to learn from others.
Camunda announced the launch of Camunda Cloud, an on-demand workflow platform, which is one of the first BPMN based workflow technology specifically engineered for the cloud. 4 This is still in beta version and is now open for all the developers to experiment with the Zeebe cluster in the Camunda Cloud – something all developers are looking forward to.
Camunda’s ‘Zeebe engine’ is a cloud native workflow engine specifically built for orchestrating and monitoring large-scale microservices architecture in the cloud. Zeebe is a fault tolerant workflow engine that provides a robust solution for horizontal scaling and monitoring microservices in the cloud by integrating with Kubernetes, Apache Kafka and Elasticsearch.
We heard about success stories on the transformation of monoliths to microservices using Camunda BPMN and other best practices. It was interesting to see the challenges that can creep in during the transformation to microservices because untangling a monolith mudball is a complex process in itself. A particular success story that stood for me was the Deutsche Telekom providers on their transformation from monoliths to microservices. 5
Here are some factors to consider when migrating from monoliths to microservices: 5
- Sizing the entire monolith codebase first: Taking into account any internal and external dependencies amongst the monolith application.
- Decision on the number of microservices required: If there are a lot of microservices architecture, it can get complex while if there are too few then it remains a monolith application.
- Partitioning database first: Data received from the front end, data generated by the system and data exchanged by the backend
- Categorising functionalities: This includes end-to-end business process and domain specific process
- Define and assign microservice categories: Types of categories can include business process microservice, data microservice, domain specific microservice.
- Design the communication for microservices: It’s important to design how each of the microservice communicate with each other using API’s.
Why the trend towards microservices
Today, rapid development and scalability is crucial for any business and that’s why microservices has gained popularity. Newman defines microservices as ‘small, autonomous services that work together as a single application’. 3
Microservices architecture emerged from concepts like domain-driven design, continuous delivery, on-demand virtualisation, iInfrastructure automation and small autonomous teams. Microservice architecture breaks down complex legacy monolith applications into smaller pieces of independent services communicating with each other through API’s. Microservices focuses on resilience, decentralised governance, heterogeneity of technology, ease of deployment, decoupled architecture, fault tolerance and isolation of failure. These characteristics are important as they help us design for failure.
Using Camunda BPM for microservices
Camunda offers a light-weight workflow engine that can be embedded within a microservice. The idea involves setting up a microservice using Spring Boot along with Camunda engine. When the microservice is deployed in the cloud, it has its own workflow engine that enables microservices orchestration and end-to-end monitoring of business processes. Camunda’s “cloud-ready” strategy allows you to deploy the workflow engine as a part of microservice in a wide range of cloud and on-premise environments.
This year at CamundaCon, the Co-founder and Chief Technologist at Camunda, Bernd Ruecker says it is “cloud-first”.¹ With a cloud-first strategy, it is all about microservices and serverless technology. But how do we do that? The answer to this is Camunda’s Zeebe workflow engine where horizontal scaling and microservices monitoring can be seamlessly achieved in the cloud.
Another important key takeaway is event-driven microservices. In event-driven architecture, microservices are decoupled efficiently to achieve decentralised data management. It’s all about the flow of events where only orchestration or choreography is not enough to tame an event-driven microservices. However, an optimal way to achieve this is by “balancing both choreography and orchestration” – it is hard but it is the way forward says Bernd Ruecker.
In the next 10 years the application will be built differently. Cloud, microservices and serverless technology will be pretty much here and it’s going to be a new normality. The idea is to offload managed services work to the cloud and go serverless in any software architecture.
Camunda Cloud along with Zeebe workflow engine offers a promise in the BPMN world encouraging developers to get into model-driven or an event-driven approach. It’s our time as developers to get our hands dirty and start experimenting with Camunda Cloud and Zeebe workflow engine and see where the journey takes us!
Director of Engineering
1 CamundaCon, 19 September 2019, https://www.camundacon.com/home
2 Camunda, 19 September 2019 https://camunda.com/about/leadership/
3 Building Microservices by Sam Newman, 24 September 2019, https://www.oreilly.com
4 Camunda cloud, 19 September 2019, https://camunda.com
5 Deutsche Telekom at CamundaCon, 25 September 2019, https://www.camundacon.com/