Development PracticesConference45min
Ports, Adapters, and Other Ways to Stop Breaking Your Business Logic
The talk introduces Hexagonal Architecture as a way to decouple business logic from infrastructure in evolving microservices. It explains core concepts like ports and adapters, contrasts it with traditional layering, and shares real-world lessons, tradeoffs, and C# examples to help developers decide when and how to apply the pattern effectively.
talk.summaryAiDisclaimer
George PatrascuCriteo
talkDetail.whenAndWhere
Wednesday, April 29, 12:15-13:00
CINEMA
Your business logic shouldn’t care whether it’s talking to a SQL database, a Kafka topic, or a REST API — but in most codebases, it does. In a microservice architecture, this coupling becomes especially painful: as services evolve and API versions change, you end up touching business logic just to keep up with infrastructure churn.
In this talk, we’ll explore Hexagonal Architecture as a practical answer to this problem.
We’ll start with the “why”: not to dismiss traditional layered architectures — they solve real problems, and it’s the model we use across many of our own services — but to examine the specific caveats that emerge as systems grow.
Where does coupling infrastructure concerns to business logic start to hurt? Hexagonal Architecture doesn’t throw layering out the window; it refines it, offering targeted solutions to those exact pain points. From there, we’ll walk through the core concepts of the pattern — ports, adapters, and the application core.
But this won’t be a textbook walkthrough. Everything you’ll see is grounded in real production experience. We’ll share the challenges we ran into, the mistakes we made, and the tradeoffs we had to navigate
You’ll leave with:
– A clear mental model of Hexagonal Architecture and when it’s worth reaching for
– Concrete code examples of ports and adapters in action, written in C#
– Different approaches to structuring your project (and when to choose each)
– An honest look at the tradeoffs — including when not to use this pattern
In this talk, we’ll explore Hexagonal Architecture as a practical answer to this problem.
We’ll start with the “why”: not to dismiss traditional layered architectures — they solve real problems, and it’s the model we use across many of our own services — but to examine the specific caveats that emerge as systems grow.
Where does coupling infrastructure concerns to business logic start to hurt? Hexagonal Architecture doesn’t throw layering out the window; it refines it, offering targeted solutions to those exact pain points. From there, we’ll walk through the core concepts of the pattern — ports, adapters, and the application core.
But this won’t be a textbook walkthrough. Everything you’ll see is grounded in real production experience. We’ll share the challenges we ran into, the mistakes we made, and the tradeoffs we had to navigate
You’ll leave with:
– A clear mental model of Hexagonal Architecture and when it’s worth reaching for
– Concrete code examples of ports and adapters in action, written in C#
– Different approaches to structuring your project (and when to choose each)
– An honest look at the tradeoffs — including when not to use this pattern
George Patrascu
George Patrascu is a Senior Software Engineer at Criteo with over 20 years of experience in the .NET ecosystem, passionate about software architecture, Domain-Driven Design, and Extreme Programming practices like TDD, BDD, pair programming, continuous deployment, always looking for ways to help teams deliver better software faster.