Kafka Summit 2020: If an event is published to a topic and no one is around t...Bernd Ruecker
Slides from my talk "If an event is published to a topic and no one is around to consume it, does it make a sound?" at Kafka Summit Live in August 2020.
See recording here: https://www.confluent.de/resources/kafka-summit-2020/if-an-event-is-published-to-a-topic-and-no-one-is-around-to-consume-it-does-it-make-a-sound/
Serverless Days 2019 - Lost in transactionBernd Ruecker
Slides from my talk at Serverless Days Hamburg 2019 about how to avoid getting lost in transaction, how to coordinate multiple functions and how Sagas might help.
Source code is here: https://github.com/berndruecker/trip-booking-saga-serverless
Complex event flows in distributed systems (QCon London 2019)Bernd Ruecker
Slides from my talk at QCon London on 5th of March 2019. More information can be found here: https://berndruecker.io/complex-event-flows-in-distributed-systems/
Abstract: Event-driven architectures enable nicely decoupled microservices and are fundamental for decentral data management. However, using peer-to-peer event chains to implement complex end-to-end logic crossing service boundaries can accidentally increase coupling. Extracting such business logic into dedicated services reduces coupling and allows to keep sight of larger-scale flows - without violating bounded contexts, harming service autonomy or introducing god services. Service boundaries get clearer and service APIs get smarter by focusing on their potentially long running nature. I will demonstrate how the new generation of lightweight and highly-scalable state machines ease the implementation of long running services. Based on my real-life experiences, I will share how to handle complex logic and flows which require proper reactions on failures, timeouts and compensating actions and provide guidance backed by code examples to illustrate alternative approaches.
Slides from my talk at QCon London on March 3rd 2020. Abstract: Integrating microservices or other components is hard, as it involves taming distributed systems. New API technologies are great, but can't magically solve all underlying challenges. This talk distills real-life experiences around typical architecture patterns. You will understand why you have to carefully think about boundaries and responsibilities of all your components. Further you will see why balancing orchestration and choreography is essential to avoid chaos. We also need to talk about idempotency, long-running and event-driven services. Don’t worry if you are new here, I will use easy to understand examples. In the end you will have gained a better feeling how to make your API smarter.
Kafka Summit 2020: If an event is published to a topic and no one is around t...Bernd Ruecker
Slides from my talk "If an event is published to a topic and no one is around to consume it, does it make a sound?" at Kafka Summit Live in August 2020.
See recording here: https://www.confluent.de/resources/kafka-summit-2020/if-an-event-is-published-to-a-topic-and-no-one-is-around-to-consume-it-does-it-make-a-sound/
Serverless Days 2019 - Lost in transactionBernd Ruecker
Slides from my talk at Serverless Days Hamburg 2019 about how to avoid getting lost in transaction, how to coordinate multiple functions and how Sagas might help.
Source code is here: https://github.com/berndruecker/trip-booking-saga-serverless
Complex event flows in distributed systems (QCon London 2019)Bernd Ruecker
Slides from my talk at QCon London on 5th of March 2019. More information can be found here: https://berndruecker.io/complex-event-flows-in-distributed-systems/
Abstract: Event-driven architectures enable nicely decoupled microservices and are fundamental for decentral data management. However, using peer-to-peer event chains to implement complex end-to-end logic crossing service boundaries can accidentally increase coupling. Extracting such business logic into dedicated services reduces coupling and allows to keep sight of larger-scale flows - without violating bounded contexts, harming service autonomy or introducing god services. Service boundaries get clearer and service APIs get smarter by focusing on their potentially long running nature. I will demonstrate how the new generation of lightweight and highly-scalable state machines ease the implementation of long running services. Based on my real-life experiences, I will share how to handle complex logic and flows which require proper reactions on failures, timeouts and compensating actions and provide guidance backed by code examples to illustrate alternative approaches.
Slides from my talk at QCon London on March 3rd 2020. Abstract: Integrating microservices or other components is hard, as it involves taming distributed systems. New API technologies are great, but can't magically solve all underlying challenges. This talk distills real-life experiences around typical architecture patterns. You will understand why you have to carefully think about boundaries and responsibilities of all your components. Further you will see why balancing orchestration and choreography is essential to avoid chaos. We also need to talk about idempotency, long-running and event-driven services. Don’t worry if you are new here, I will use easy to understand examples. In the end you will have gained a better feeling how to make your API smarter.
Slides from my talk at DDD Europe about how to avoid getting lost in transaction and manage consistency across boundaries. Speaking about saga pattern, distributed transactions, choreography, orchestration and more...
Camunda Con Live 2020 Keynote - Microservice Orchestration and IntegrationBernd Ruecker
Slides from my talk at Camunda Con Live on 24th of April 2020 about orchestrating and integrating microservices and the connection of choreography, observability and workflow automation
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...Bernd Ruecker
Slides from a joined meetup of Confluent/Kafka and Camunda/Zeebe in October 2019.
Code is here: https://github.com/berndruecker/flowing-retail/tree/master/kafka
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...camunda services GmbH
A company’s core business processes nearly always span more than one microservice. In an e-commerce company, for example, a “customer order” might involve different services for payments, inventory, shipping and more. But how do these services play together to fulfill the customer’s desire?
Implementing long-running, asynchronous, and complex collaborations between distributed microservices is challenging. How can we ensure visibility of cross-microservice flows and provide status and error monitoring? How do we guarantee that overall flows always complete, even if single services fail? Or how do we recognize stuck flows so that we can fix them?
In this webinar, Bernd will explain how workflow automation supports the orchestration of microservices, to make sure business processes are always carried out - even in case of failure -
providing monitoring and visibility into the overall progress and status.
He will reveal how to do all of this without introducing monolithic workflows that clash with microservices principles. You will also learn how to balance orchestration (using a workflow engine) with choreography (using events). Still believe that choreography is more loosely coupled and thus the modern way to go? You definitely need to listen in…
Talk given at DDDx London on 27th of April about how to implement long running processes in Domain Driven Design properly. Describes patterns like Process Manager and Saga.
Webinar "Communication Between Loosely Coupled Microservices"Bernd Ruecker
Slides from the Camunda webinar "Communication Between Loosely Coupled Microservices" in February 2021. Recording can be found online: https://page.camunda.com/wb-communication-between-microservices
CamundaCon 2020 Keynote - The Return of Process AutomationBernd Ruecker
Slides from my keynote at CamundaCon Live 2020.2
Title: The Return of Process Automation!
Abstract: This keynote will foster your understanding of how (business) processes can generally be implemented and monitored. I will compare different approaches, from batches over streaming, to workflow engines. You will understand the impact on agility and what is different in modern architectures, as well as learning about choreography and orchestration. You will learn about criteria that have crystalized as success factors in many real-life scenarios.
You will also understand the failures of BPM and process automation tooling in the past, which often lead to skepticism amongst different stakeholders.
AWS Community Summit London 2019 - Lost in transactionBernd Ruecker
Slides from my talk at AWS Community Summit London on 8th of OCctober 2019 (https://www.comsum.co.uk/) about how to coordinate Lambdas and implement the Saga pattern
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...Bernd Ruecker
Slides from my talk at the Kafka Summit San Francisco 2018 about orchestration vs. choreography as well as track vs. manage event flows. Source code for live demos available on https://github.com/berndruecker/flowing-retail
Slides from my talk at DDD Europe about how to avoid getting lost in transaction and manage consistency across boundaries. Speaking about saga pattern, distributed transactions, choreography, orchestration and more...
Camunda Con Live 2020 Keynote - Microservice Orchestration and IntegrationBernd Ruecker
Slides from my talk at Camunda Con Live on 24th of April 2020 about orchestrating and integrating microservices and the connection of choreography, observability and workflow automation
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...Bernd Ruecker
Slides from a joined meetup of Confluent/Kafka and Camunda/Zeebe in October 2019.
Code is here: https://github.com/berndruecker/flowing-retail/tree/master/kafka
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...camunda services GmbH
A company’s core business processes nearly always span more than one microservice. In an e-commerce company, for example, a “customer order” might involve different services for payments, inventory, shipping and more. But how do these services play together to fulfill the customer’s desire?
Implementing long-running, asynchronous, and complex collaborations between distributed microservices is challenging. How can we ensure visibility of cross-microservice flows and provide status and error monitoring? How do we guarantee that overall flows always complete, even if single services fail? Or how do we recognize stuck flows so that we can fix them?
In this webinar, Bernd will explain how workflow automation supports the orchestration of microservices, to make sure business processes are always carried out - even in case of failure -
providing monitoring and visibility into the overall progress and status.
He will reveal how to do all of this without introducing monolithic workflows that clash with microservices principles. You will also learn how to balance orchestration (using a workflow engine) with choreography (using events). Still believe that choreography is more loosely coupled and thus the modern way to go? You definitely need to listen in…
Talk given at DDDx London on 27th of April about how to implement long running processes in Domain Driven Design properly. Describes patterns like Process Manager and Saga.
Webinar "Communication Between Loosely Coupled Microservices"Bernd Ruecker
Slides from the Camunda webinar "Communication Between Loosely Coupled Microservices" in February 2021. Recording can be found online: https://page.camunda.com/wb-communication-between-microservices
CamundaCon 2020 Keynote - The Return of Process AutomationBernd Ruecker
Slides from my keynote at CamundaCon Live 2020.2
Title: The Return of Process Automation!
Abstract: This keynote will foster your understanding of how (business) processes can generally be implemented and monitored. I will compare different approaches, from batches over streaming, to workflow engines. You will understand the impact on agility and what is different in modern architectures, as well as learning about choreography and orchestration. You will learn about criteria that have crystalized as success factors in many real-life scenarios.
You will also understand the failures of BPM and process automation tooling in the past, which often lead to skepticism amongst different stakeholders.
AWS Community Summit London 2019 - Lost in transactionBernd Ruecker
Slides from my talk at AWS Community Summit London on 8th of OCctober 2019 (https://www.comsum.co.uk/) about how to coordinate Lambdas and implement the Saga pattern
Kafka Summit 2018: Monitoring and Orchestration of Your Microservices Landsca...Bernd Ruecker
Slides from my talk at the Kafka Summit San Francisco 2018 about orchestration vs. choreography as well as track vs. manage event flows. Source code for live demos available on https://github.com/berndruecker/flowing-retail
Process automation technology progressed massively over the last years and can handle modern scalability and resiliency requirements. It is not the dinosaur some people think it is!
Now there are super interesting combinations between Kafka and a workflow engine possible, such as starting or influencing process instances upon certain events in a stream, orchestrating microservices by writing commands as Kafka records, or using Kafka to collect information about decentralized process executions.
In this talk, I will briefly walk you through these possibilities presenting real-life use cases and some sample code using open source tools.
Serverless London 2019 - Coordination of Serverless FunctionsBernd Ruecker
Slides from my talk at Serverless Conference London on 7th of November 2019 about how to coordinate serverless functions. Includes some discussions about orchestration vs. choreography. Code is here: https://github.com/berndruecker/trip-booking-saga-serverless/
We’re slicing and dicing systems into ever-shrinking pieces like microservices or serverless functions. End-to-end processes now often require multiple components to be properly integrated - but of course, without coupling them too tightly. We see many companies slicing up their core business processes in the pursuit of modern architectures and running into unanticipated challenges along the way. Spoiler alert: there’s no magic fix.
This keynote will foster your understanding of how workflows can be implemented and monitored in typical microservices architectures. You will gain a better sense of the positives and negatives of different approaches, and I will take you on a journey into how to migrate existing legacy systems to this exciting new (and decoupled) world.
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...confluent
Event-driven architectures enable nicely decoupled microservices and are fundamental for decentral data management. However, using peer-to-peer event chains to implement complex end-to-end logic crossing service boundaries can accidentally increase coupling. Extracting such business logic into dedicated services reduces coupling and allows to keep sight of larger-scale flows – without violating bounded contexts, harming service autonomy or introducing god services. Service boundaries get clearer and service APIs get smarter by focusing on their potentially long running nature. I will demonstrate how the new generation of lightweight and highly-scalable state machines ease the implementation of long running services. Based on my real-life experiences, I will share how to handle complex logic and flows which require proper reactions on failures, timeouts and compensating actions and provide guidance backed by code examples to illustrate alternative approaches.
Behaviour-Driven Development (BDD) is a game changer for the whole team! More than just a testing technique, BDD is both a collaboration and a verification tool, and a vital step on the road to Continuous Delivery. In this session, you will learn what BDD is about, its benefits, and how it affects development teams and processes. But you will also see BDD techniques applied to a real project using tools like JBehave, Cucumber, Selenium 2, Thucydides and more!
- Learn how BDD helps teams focus on discovering and delivering the features that really matter! - Learn what it takes to write more relevant and more maintainable automated acceptance tests - Discover how a well-designed set of automated acceptance criteria can also be a powerful documentation and reporting tool. - See where BDD fits into a Continuous Delivery pipeline.
- And learn how product owners use BDD and Thucydides to drive, coordinate and document releases.
Learn how much more there is to BDD than just “Given..When..Then”!
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...Bernd Ruecker
Slides from my talk at WeAreDevelopers Live on the Java Day about long-running processes. Code can be found here: https://github.com/berndruecker/customer-onboarding-camunda-8-springboot
Slides from my talk "Microservices Architectures" at JAX Mainz on 3rd of May 2022 (https://jax.de/software-architecture/understanding-communication-patterns-in-microservices-architectures/)
SUGCON ANZ 2022 Sitecore Personalize Technical.pptxJitendra Soni
Headless Implementation
Overview of Sitecore CDP & Personalize and Sitecore Send
Integration of CDP & Personalize & Sitecore Send
Pray to the Demo Gods
Hands on walkthrough of our problem solution
CraftConf: Surviving the hyperautomation low code bubblBernd Ruecker
Slides from my talk at CraftConf Budapest in May 2023 about how developers can embrace and shape low code applications in their organizations to help the business automate more
GOTOpia 2020 - Balancing Choreography and OrchestrationBernd Ruecker
Slides from my talk at GOTOpia November 2020 about the right balance between choreography (event-driven communication) and orchestration (command-driven communication)
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
6. Aggregates = Consistency Boundaries
Order
Order
Line Item
orderId
customerId
chargeId
…
productId
price
… Order
Charge
Charge
chargeId
amount
paymentProvider
transactionId
…
You can do ACID
within here
Or here
But not a joined
ACID transaction!
@berndruecker
7. Aggregates = Consistency Boundaries
Order
Order
Line Item
orderId
customerId
chargeId
…
productId
price
… Order
Charge
Charge
chargeId
amount
paymentProvider
transactionId
…
Own DB / autonomous technology decisions
API-driven
Scalability
…
@berndruecker
8. Aggregates = Consistency Boundaries
Order
Order
Line Item
orderId
customerId
chargeId
…
productId
price
… Order
Charge
Charge
chargeId
amount
paymentProvider
transactionId
…
Own DB / autonomous technology decisions
API-driven
Scalability
…
@berndruecker
9. Boundaries need to be designed carefully
Charge
chargeId
amount
paymentProvider
transactionId
…
Order
Order
Line Item
orderId
customerId
chargeId
…
productId
price
…Order
@berndruecker
10. But no implicit constraints!
Order
Order
Line Item
orderId
customerId
chargeId
…
productId
price
… Order
Charge
Charge
chargeId
amount
paymentProvider
transactionId
…
Joined DB
transaciton
@berndruecker
11. There is two-phase commit (XA)!!
TX
Coordinator
Resource
Managers
Prepare
Phase
Commit
Phase
@berndruecker
13. Pat Helland
Grown-Ups Don’t Use
Distributed Transactions
“
Distributed Systems Guru
Worked at Amazon,
Microsoft & Salesforce
@berndruecker
14. Starbucks does not use two phase commit
https://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html
Photo by John Ingle
@berndruecker
16. That means
Do A
Do B
Temporarily
inconsistent
Eventually
consistent
again
t
Consistent
Local
ACID
Local
ACID
1 aggregate
1 (micro-)service
1 program
1 resource
Violates „I“
of ACID
@berndruecker
47. Compensation – the classical example
Saga
book
hotel
book
car
book
flight
cancel
hotel
cancel
car
1. 2. 3.
5.6.
In case of failure
trigger compensations
book
trip
51. The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
52. The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
53. The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
54. If your transaction involves 2 to 4 steps,
choreography might be a very good fit.
However, this approach can rapidly become confusing
if you keep adding extra steps in your transaction
as it is difficult to track which services listen to
which events. Moreover, it also might add a cyclic
dependency between services as they have to
subscribe to one another’s events.
Denis Rosa
Couchbase
https://blog.couchbase.com/saga-pattern-implement-business-transactions-using-microservices-part/
@berndruecker
55. Implementing changes in the process
Hotel
Flight
Car
Trip
Trip
failed
Trip
requested
Hotel
booked
Car
booked
Request
trip
Flight
failed
Car
canceled
Hotel
canceled
We have a new basic agreement
with the car rental agency and
can cancel for free within 1 hour
– do that first!
@berndruecker
56. Implementing changes in the process
Hotel
Flight
Car
Trip
Trip
failed
Trip
requested
Hotel
booked
Car
booked
Request
trip
Flight
failed
Car
canceled
Hotel
canceled
You have to adjust all services and redeploy at the same time!
We have a new basic agreement
with the car rental agency and
can cancel for free within 1 hour
– do that first!
@berndruecker
57. What we wanted
Photo by Lijian Zhang, available under Creative Commons SA 2.0 License and Pedobear19 / CC BY-SA 4.0
@berndruecker
72. Fancy a DSL? Just do it!
https://github.com/berndruecker/flowing-trip-booking-saga
The visual get
auto-generated…
@berndruecker
73. Thoughts on the state machine | workflow engine market
@berndruecker
74. Thoughts on the state machine | workflow engine market
OSS Workflow or
Orchestration Engines
Stack Vendors,
Pure Play BPMS
Low Code Platforms
Homegrown frameworks
to scratch an itch
Integration Frameworks
Cloud Offerings
Uber, Netflix, AirBnb, ING, … AWS Step Functions,
Azure Durable Functions, …
Camunda, Zeebe, jBPM,
Activiti, Mistral, …
PEGA, IBM, SAG, …
Apache Airflow,
Spring Data Flow, …
Apache Camel,
Balerina, …
Data
Pipelines
@berndruecker
75. Does it support stateful operations?
Does it support the necessary flow logic?
Does it support BizDevOps?
Does it scale?
@berndruecker
76. My personal pro-tip for a shortlist ;-)
OSS Workflow or
Orchestration Engines
Stack Vendors,
Pure Play BPMS
Low Code Platforms
Homegrown frameworks
to scratch an itch
Integration Frameworks
Cloud Offerings
Data
Pipelines
Camunda & Zeebe
@berndruecker
77. Recap
• Aggregates = Consistency boundaries
• Grown ups don‘t use distributed transactions
but eventual consistency
• Idempotency is super important
• Some consistency challenges require state
• Stateful retry & cleanup
• Saga / Compensation
@berndruecker