Orchestrate the chaos: Process automation for everyone

A presentation at WebSummit in November 2023 in Lisbon, Portugal by Mia Moore

Slide 1

Slide 1

Orchestrate the Chaos: Process automation in modern architectures WebSummit Lisbon | November 15, 2023

Slide 2

Slide 2

Hello! ■ Technical Community Builder @ Camunda ■ Just moved from Austin, TX → Seattle, WA Mia Moore @xoMiaMoore they/them ■ Fun fact: I love birdwatching

Slide 3

Slide 3

Poll ■ How many consider themselves technical? ■ How many here use microservice architectures? ■ Has anyone struggled to explain or understand data flow/logic, especially between technical and non-technical teams? ■ Has anyone heard of BPMN? DMN? BPM? ■ Has anyone heard of Camunda?

Slide 4

Slide 4

What is “Modern Software Architecture”?

Slide 5

Slide 5

Slide 6

Slide 6

Slide 7

Slide 7

Modern architecture designs are great at optimizing resource usage …

Slide 8

Slide 8

… now diagram the business logic / data flow …

Slide 9

Slide 9

Image: https://rastko.tech/microservices/sre/monitoring/alerting/observability/programming/architecture/solutions/2020/09/12/monitoring-microservice-data-flows.html

Slide 10

Slide 10

Image: (“Microservices” - KRAZAM) https://www.youtube.com/watch?v=y8OnoxKotPQ

Slide 11

Slide 11

Hard problems to solve Documentation Data flow diagrams look like spaghetti Timers Alerts, stuck/idle processes, notifications Interrupting messages Your application is already executing code, but something has changed and you need to interrupt it and handle it differently Changes to business logic All your services are running nicely together, but now a new service is added that integrates with other existing services

Slide 12

Slide 12

Forget services and infrastructure. Let’s think about it in terms of processes.

Slide 13

Slide 13

Processes? “… a collection of related, structured activities or tasks performed by people or equipment.”

Slide 14

Slide 14

Order fulfillment process

Slide 15

Slide 15

Real World Scenario

Slide 16

Slide 16

Truck Permits A local municipality needs to issue permits to trucking companies: ● Trucking company fills out a form ● A price is determined for the permit ● The company pays for the permit ● The permit is issued

Slide 17

Slide 17

Truck Permits A local municipality needs to issue permits to trucking companies: ● Trucking company fills out a form -> UserForm microservice ● A price is determined for the permit -> PermitMatch microservice ● The company pays for the permit -> Payments microservice ● The permit is issued -> IssuePermit microservice

Slide 18

Slide 18

Slide 19

Slide 19

New requirement! “We need the permit turned into a PDF, and email notifications to the user and to us.”

Slide 20

Slide 20

Truck Permits A local municipality needs to issue permits to trucking companies: ● ● ● ● Trucking company fills out a form -> UserForm microservice A price is determined for the permit -> PermitMatch microservice The company pays for the permit -> Payments microservice The permit is issued -> IssuePermit microservice -> PDF microservice -> Email microservice

Slide 21

Slide 21

Slide 22

Slide 22

New requirement! “A user tried to fill in the form, but it didn’t match a permit!”

Slide 23

Slide 23

Slide 24

Slide 24

New requirement! “If they don’t pay in X days, the permit needs to be canceled!”

Slide 25

Slide 25

How might you solve this?

Slide 26

Slide 26

s s e n i s u B Introducing BPMN l e d o M s Proces n o i t a t o and N Maintained spec Visualization ISO/IEC 19510 spec maintained by OMG (Object Management Group) Easily understand complex processes; no more spaghetti! Bridge communication Simplify discussions with stakeholders; unify design and implementation

Slide 27

Slide 27

Slide 28

Slide 28

Slide 29

Slide 29

Remember this? “If they don’t pay in X days, the permit needs to be canceled!”

Slide 30

Slide 30

Slide 31

Slide 31

… That’s great, dude, but that’s just a diagram.

Slide 32

Slide 32

… or is it?!

Slide 33

Slide 33

BPMN Engines (Workflow Management Systems)

Slide 34

Slide 34

Many options to choose from Image: https://bpmn-miwg.github.io/bpmn-miwg-tools/

Slide 35

Slide 35

Camunda - The Universal Process Orchestrator Orchestrate Automate Transform Complex process flows across people, systems and devices. Any process, anywhere. Your organization toward a digital future. Collaborate Flexibility All Endpoints Human Work AI Business Rules Micro Services RPA API IoT Systems (legacy + homegrown)

Slide 36

Slide 36

Slide 37

Slide 37

Slide 38

Slide 38

The state of a process is managed by the workflow engine, not the application. The data is managed by the application, not the engine.

Slide 39

Slide 39

New requirement! “For some permits, they need additional approval before collecting payment.”

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

New requirement! “Oh, and we should probably send a payment reminder before we cancel the permit.”

Slide 43

Slide 43

Errors and reminders

Slide 44

Slide 44

That was easy!

Slide 45

Slide 45

Let’s review 1 BPMN 2 BPMN Engines 3 Simplified management Open spec that defines processes in an organized, understandable way. Execute the process as drawn, connecting tasks to external services. State of each process is controlled by the engine, not the application. Easily add additional tasks without changing existing application; engines provide management tools to monitor performance etc.

Slide 46

Slide 46

Visit the Camunda booth! Booth #E228 Play trivia, donate to charities Ask questions

Slide 47

Slide 47

Questions?

Slide 48

Slide 48

Resources ● Camunda Academy – free courses on BPMN and Camunda ● BPMN 2.0 documentation ● Camunda Code Studio on YouTube ● Camunda Forum