Position: Software Engineer
Company: Particular Software
Szymon works an engineer at Particular Software, the makers of NServiceBus. His main areas of expertise are Domain-Driven Design and asynchronous messaging. He is especially interested in the intersection of these two topics — in the patterns and tools for ensuring all messages are processed exactly once and in the correct order.
Szymon is a co-author of https://exactly-once.github.io/, a website dedicated to all things related to messaging.
In his free time Szymon plays with Lego, building models of real-life off-road vehicles.
In the Cloud Message Queue Is an Implementation Detail
We all design distributed systems for the cloud. Do we really know why we design them the way we do? Let’s look at some real-world architects and examine the way they designed their systems. Or event better, forget about all the lofty architectural ideas. Architects design their systems based mostly on their subjective experience. Let’s look at hard facts.
The essence of distributed line-of-business applications are distributed processes. And what are they if not a state mutation in one place that causes a state mutation in another place.
We’ll take a look at the infrastructure needed to support distributed business processes and examine all the moving parts. We’ll see how queue is just an implementation detail — one of many gears. The modern cloud architect needs to know much more than her or his on-premise predecessors.
Consistent Messaging in the Cloud. How to Build Fault-Tolerant Distributed Systems When Throwing Away Consistency Is Not an Option
The workshop focuses on building line-of-business fault-tolerant cloud-based distributed systems. Such systems cannot afford to lose messages (nobody wants their order for Christmas gifts to be lost) nor to get them duplicated (that second Porsche in the drive way — who ordered that?). Such systems were, in the past, built based on the firm ground established by either distributed transactions or large database instances that served also as messaging brokers.
These technologies are either too expensive, too cumbersome or simply not available in the cloud. In this workshop we will show you how robust and reliable systems can be build out of inexpensive components. The key to achieving that goal is learning how to deal with failures of all kinds.