Speaker

Adam Ralph

Adam Ralph

Distributed systems expert at Particular Software

Flims, Switzerland

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.

Awards

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • .NET (Core) development
  • .NET 5
  • .NET Backend
  • .net core
  • .net framework
  • .NET Standard
  • .NET Patterns & Practices
  • C#.Net
  • Open Source Software
  • Distributed Software Systems
  • Modern Software Development
  • distributed systems
  • distributed computing
  • DDD
  • Domain Driven Design
  • Domain Specific Languages
  • messaging
  • open source
  • open source communities
  • toolchain
  • SOA
  • Microservice Architecture
  • Microserivces
  • ARCHITECTURE STUFF: Monolithic Approach Microservices & Distributed systems
  • Architecture
  • Application Architecture
  • Enterprise Architecture
  • Software Architecture
  • Event Driven Architecture
  • Solution Architecture
  • software architecure
  • microservices
  • Domain Modelling
  • domains
  • Data Architecture

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.

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.

Developer Week '24 Sessionize Event Upcoming

July 2024 Nürnberg, Germany

DevSum 2024 Sessionize Event Upcoming

May 2024 Stockholm, Sweden

Techorama 2024 Belgium Sessionize Event Upcoming

May 2024 Antwerpen, Belgium

.NET Developer Conference '23 Sessionize Event

November 2023 Köln, Germany

DevConf 2023 Sessionize Event

November 2023 Łódź, Poland

Techorama Netherlands 2023 Sessionize Event

October 2023 Utrecht, The Netherlands

NDC London 2023 Sessionize Event

January 2023 London, United Kingdom

.NET Day Switzerland 2022 Sessionize Event

August 2022 Zürich, Switzerland

DevDay 2020 Sessionize Event

November 2020 Louvain-la-Neuve, Belgium

KanDDDinsky Sessionize Event

October 2019 Berlin, Germany

NDC Oslo 2019 Sessionize Event

June 2019 Oslo, Norway

.NET Day Switzerland 2019 Sessionize Event

May 2019 Zürich, Switzerland

NDC Sydney 2018 Sessionize Event

September 2018 Sydney, Australia

NDC Oslo 2018 Sessionize Event

June 2018

NDC London 2018 Sessionize Event

January 2018

Adam Ralph

Distributed systems expert at Particular Software

Flims, Switzerland