Adam Ralph
Distributed systems expert at Particular Software
Flims, Switzerland
Actions
Adam is a distributed systems enthusiast and digital nomad. He works for Particular Software, the makers of NServiceBus. Adam has designed and maintained complex software systems at several companies in the finance industry. He's seen both the good and the bad that can come from applying techniques like SOA, DDD, and microservices. He also likes to speak, maintain open source projects, and fix white space rule violations.
Links
Area of Expertise
Topics
Less is more—a build pipeline for the modern age
In today's world of rich CI and infrastructure tooling, it's often easy to forget about elements of the UNIX philosophy:
“Write programs that do one thing and do it well. Write programs to work together.”
As it turns out, we can apply this philosophy to our build and CI/CD pipelines just as much as ever. In my personal journey, I've followed the bell curve from from basic building blocks, to rich, integrated systems, and all the way back down again.
Join me and learn how to pick the best building blocks for your build pipeline, with examples in C# and .NET, and above all—how to keep it simple.
Building a smart Slack bot with function calls
Meeting user demands for more views, reports, and workflows can be challenging. What if you could instead spend your energy on building a smart Slack bot that takes care of most of their needs?
In this session, we’ll explore how to build a smart Slack bot using function calls. We’ll examine the challenges with Slack integration, such as channel and DM context management and isolation, live feedback using streaming, and user identification. We'll explore how function calls enhance bots with context-aware responses based on live data from your system, and how they can take actions on behalf of your users.
Come and find out how a smart Slack bot can simplify access to complex data and increase user engagement with your system.
Ideal for developers and tech enthusiasts, this talk is a concise guide to creating adaptable, intelligent Slack bots for any organisation.
Building resilient, fault-tolerant with Azure Service Bus
Azure Service Bus gives you the features you need to build resilient, fault-tolerant systems that avoid those nasty out of hours support calls.
By taking advantage of the powerful features of Azure Service Bus for asynchronous messaging, and by choosing the best strategies for distributing, evolving, and modelling your system, you can build systems that are performant, flexible, robust, and self-healing. I've spent more than 25 years building distributed systems, and during that time I've experienced the best, and worst, strategies for achieving these characteristics, and as they say—learning comes from doing.
Join me to discover how to identify, select, and implement the best approaches for making the most out of Azure Service Bus and streamline your distributed systems for years to come.
Target audience: developers
Finding your service boundaries—a practical guide
We know it's useful to split up complex systems. We've seen the benefits of modular deployment of microservices. Dealing with only one piece of code at a time eases our cognitive load. But how do we know where to draw the service boundaries? In complex business domains, it's often difficult to know where to start. When we get our boundaries wrong, the clock starts ticking. Before long, we hear ourselves say "it would be easier to re-write it".
Join Adam for practical advice on discovering the hidden boundaries in your systems. Help tease out the natural separation of concerns in a sample business domain. During 20 years of developing complex systems, Adam has had plenty of time to get things wrong. Learn to avoid the common pitfalls that can lead us down the path to "the big rewrite".
Modern SOA — 2 day workshop
Go beyond the hype and build a solid foundation of theory and practice with this workshop on modern service-oriented architecture (SOA).
Join Adam for a two-day deep dive covering architectural topics such as:
- UI composition
- Data ownership across the enterprise
- How to choose NoSQL databases for your services.
You’ll also learn the nitty-gritty details of building production-ready systems including:
- Fault tolerance – HTTP and queues
- Reliable integration with 3rd party systems
- Scalability, high availability & monitoring
Finally, get some hands-on experience in SOA development by building:
- Scalable command-processing endpoints
- Publish/subscribe event-processing interactions
- Long-running multi-stage business processes and policies
Objectives
We’ll understand service oriented architecture concepts, and DDD concepts such as bounded contexts and data ownership.
We’ll apply those concepts to build a simple, yet fully functional, order management system with a service-oriented architecture, using patterns such as command processing, pub/sub and long-running sagas.
Skill Level
Senior developers, tech leads, and architects will benefit most from this workshop.
Code on the road
In the summer of 2017, not content with only working from home, Adam turned the remote working dial up to eleven. He bought a camper van, a couple of EU SIM cards, and... hit a traffic jam near Basel. Seven months and seven countries later, he realised the ski season was starting. Back home to Switzerland it was, to reflect on his experience over a pot of hot cheese.
Ever since, Adam has switched to the "digital nomad" lifestyle every summer, pushing his remote working boundaries to cover more and more countries. Join him as he shares gory details of the challenges he faces on his journeys and the tips and tricks he's learned to overcome them. And find out why he keeps going back for more!
Modern SOA — 1 day workshop
Go beyond the hype and build a solid foundation of theory and practice with this workshop on modern service-oriented architecture (SOA).
Join Adam for an all-day deep dive covering both architectural topics and the nitty-gritty details of building production-ready systems including:
- Data ownership across the enterprise
- Fault tolerance – HTTP and queues
- Scalability, high availability & monitoring
You'll also get some hands-on experience in SOA development by building:
- Scalable command-processing endpoints
- Publish/subscribe event-processing interactions
- Long-running multi-stage business processes and policies
Objectives:
We’ll understand service oriented architecture concepts, and DDD concepts such as bounded contexts and data ownership.
We’ll apply those concepts to build a simple, yet fully functional, order management system with a service-oriented architecture, using patterns such as command processing, pub/sub and long-running sagas.
Skill Level:
Senior developers, tech leads, and architects will benefit most from this workshop.
Where we're going... we don't need batch jobs
Ever write a batch job? Batch jobs are bits of code that periodically look at your database’s current or historic state and then act on it. They often run off-hours or in the middle of the night to avoid performance impact, and if they fail while processing, get ready for a pager alert. You can prevent this nightmare by telling your system what to do in the future! Look to the real world to model a long-running business process from start to finish.
Join me and learn:
- The challenges with recurring batch jobs.
- How to move a business process away from batch processing.
- Real-world use cases for modelling future events.
Five common mistakes with distributed systems
Does your system involve more than one computer? Then you have a distributed system. While distributed systems can be highly effective, it's easy to get things wrong. Sometimes, so wrong, it would be better to run everything on one big, expensive, machine. Usually this stems from one or more common mistakes, all of which I've made myself over the years, but as they say—learning comes from doing.
Join me and learn how to detect, avoid, and fix these mistakes and streamline your distributed systems for years to come.
NDC Porto 2024 Sessionize Event
Techorama 2024 Netherlands Sessionize Event
.NET Day Switzerland 2024 Sessionize Event
DevSum 2024 Sessionize Event
Techorama 2024 Belgium Sessionize Event
.NET Developer Conference '23 Sessionize Event
DevConf 2023 Sessionize Event
Techorama Netherlands 2023 Sessionize Event
NDC London 2023 Sessionize Event
.NET Day Switzerland 2022 Sessionize Event
DevDay 2020 Sessionize Event
KanDDDinsky Sessionize Event
NDC Oslo 2019 Sessionize Event
.NET Day Switzerland 2019 Sessionize Event
NDC Sydney 2018 Sessionize Event
NDC Oslo 2018 Sessionize Event
NDC London 2018 Sessionize Event
Adam Ralph
Distributed systems expert at Particular Software
Flims, Switzerland
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top