Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

Speaker slides & video

Presentation slides will be made available after the session has concluded and the speaker has given us the files. Check back if you don't see the file you're looking for—it might be available later! (However, please note some speakers choose not to share their presentations.)

If you are looking for slides and video from 2017, visit the O'Reilly Software Architecture Conference in London 2017 site.

Distributed systems
Bernd Rücker (Camunda)
Most people still integrate via REST but are not even aware of missing consistency guarantees in these architectures. I will make these challenges transparent by fun little real-life stories and demonstrate possible cures by some live coding.
Application architecture
Vladik Khononov (Naxex)
Experience report of using the Domain-Driven Design methodology on a green-field company.
Leadership skills
Mlungisi Duma (First National Bank)
Software Development Teams in the Banking Sector in South Africa are made of a number of technical and non-technical experts. The challenge with these teams is trying to lead them to adapt to a new architecture. Reasons are either the audience does not understand the proposed architecture, or they feel they don’t have a sense of control or participation within the proposed solution.
Distributed systems
Adam Sandor (Container Solutions), Fabio Tiriticco (Fabway)
An Akka and a Kubernetes expert walk into a bar. They order drinks and try to figure out which technology is better for building distributed applications. Does Akka Clustering have a place in the age of Kubernetes? Does Kubernetes bring any value to those who are building applications using Akka? This talk will summarise our research into answering those questions.
Heidi AT HOME (LaunchDarkly)
I have sad news - staging is a lie and will never be identical to production, because production is unknowable. Trying to replicate it is often prohibitively expensive. But I also have good news - production can contain multitudes, including features you aren’t ready to turn on or activate yet. You can hide in the dark and do integration testing at the same time.
Matt Stine (Pivotal)
2-Day Training Please note: to attend training courses, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.
As a software architect, confronting the cloud can feel quite daunting. We are confronted with an onslaught of public cloud providers; which one should we choose? Are we ready for public cloud? Or do we need to focus on private cloud? And what does that even mean? Or are we looking for a hybrid solution?
Yan Cui (DAZN)
Chaos engineering is a discipline that focuses on improving system resilience through controlled experiments that expose the inherent chaos and failure modes in our system. Most of the publicised literature and tools focus on killing EC2 servers, but how can we apply the same principles of chaos to a serverless architecture built around AWS Lambda functions?
Yaniv Aknin (Google Cloud)
Architectural choices are often driven by non-functional requirements like reliability and scalability. Unfortunately, it can be deceptively hard to specify the right requirements. Big decisions can be made hoping to hit X nines while failing to ensure the nines measure the right thing. In this talk, we'll review some of Google's lessons in this space, helping you focus on metrics that matter.
Application architecture, Business solutions, Devops
iPlayer on TV launched 10 years ago, and has grown from small numbers to being the largest iPlayer platform. In this talk we explore the evolution of our TV application architecture; from our early days courting different native technologies, to the development of our open source library and standards-based platform that supports multiple BBC applications across thousands of TVs.
Application architecture, Cloud native, Distributed systems, Enterprise architecture, Microservices
Irakli Nadareishvili (Capital One)
With cloud-native and Microservices architecture gaining wide adoption asynchronous programming patterns are becoming increasingly important. We discuss 3 major async forms that are relevant in this space: Event Sourcing, Reactiveness, and Data Streams We define each pattern, explain relevant use-cases, using examples from FinTech context, and discuss differences in implementation
Business solutions, Enterprise architecture, Integration architecture, Leadership skills
Maggie Carroll (
Software Architects and Enterprise Architects work with a variety of roles. Often the deep technical work is performed by other application architects or solutions architects. This talk focuses on skills and actionable techniques I found useful when creating a new architecture function and leading other architects in developing a system of systems.
Dennis Bijlsma (Software Improvement Group), Haiyun Xu (Software Improvement Group)
Modern architectures are more flexible: having many small systems that communicate with each other makes it easier to work on those systems. However, the communication between systems also creates new challenges. How do you determine where and how the current communication lines (both technical and between teams) can be improved? How can you measure this?
Application architecture, Distributed systems, Enterprise architecture, Microservices
Jim Gough (Morgan Stanley)
In this talk we will explore moving from a traditional monolithic architecture towards building a single API compose of many microservices and some of the challenges it presents. We will explore technologies and patterns with a mixture of hands on examples and discussion topics. We will also consider the impact to team culture and agile practices required to achieve operational excellence.
Allen Holub (Holub Associates)
2-Day Training Please note: to attend training courses, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.
Modern development practices rarely use large up-front design, but if you are still using them, you’ve likely encountered problems as you implement. Nowadays, you must create an architecture incrementally as you work, and you have to be able to easily modify that architecture as new requirements emerge.
Application architecture
Allen Holub (Holub Associates)
Though you can design Microservices to talk to each other synchronously, as if they were making function calls, that's not the best way to do things. Choreographed (asynchronous) systems solve many problems inherent in synchronous (orchestrated) communicatiopn. This talk shows you how to build effective choreographed microservice systems.
Cloud native
John Chapin (Symphonia)
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
With systems like Travis CI, Circle CI, and CodeBuild, we're never more than a few lines of YAML away from a complete continuous delivery pipeline. However, ephemeral build systems constantly recreate the world from scratch, increasing build time and lengthening the CD feedback loop. John Chapin addresses those challenges and shares a reference pipeline using AWS CodePipeline and CodeBuild.
Enterprise architecture
Nick Tune (Empathy Software), Zsofia Herendi (Dealogic)
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
Learn how to model a complex system and break it down into cohesive bounded contexts through hands-on group activities. This session will teach you skills you can immediately begin applying in your organisation to improve the autonomy of your software services and the teams that build and run them.
Chris Richardson (Eventuate, Inc)
2-Day Training Please note: to attend training courses, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.
Enterprises need to deliver better software faster. It’s no longer sufficient to release quarterly or even monthly. Instead, organizations must use methods, such as DevOps, to frequently deploy changes into production, perhaps as often as multiple times per day. One obstacle, however, to DevOps-style development is that organizations are often mired in monolithic hell.
User experience design
Tyler Treat (Real Kinetic)
Distributed systems are not strictly an engineering problem. It’s far too easy to assume a “backend” development concern, but the reality is there are implications at every point in the stack. Often the trade-offs we make lower in the stack in order to buy responsiveness bubble up to the top—so much, in fact, that it rarely doesn’t impact the application in some way.
Distributed systems
Wenbo Zhu (Google)
This talk illustrates the key architectural properties and underlying technologies to create and deploy a real-time & stateful application on top of the completely stateless serverless architecture.
Enterprise architecture
Angelo Agatino Nicolosi (Danske Bank)
At Danske Bank we are implementing ideas and practices as CI/CD, Microservices and DevOps in the extreme conditions of a Financial Enterprise. During this quest for Agility, we are turning decades of legacy into actual competitive advantage, enabling us to define and deliver brand new financial services at the rate and speed of start-ups. We are doing that through the simple concept of an Enclave.
Business solutions, Enterprise architecture, Leadership skills
Michael Van Kleeck (Mozilla)
How can Mozilla evolve our products and capabilities to serve the global, human-driven Internet of the future? We are guided by our mission and supported by the capabilities of our staff and community. In this session, we will dive into how Mozilla uses our version of Enterprise Architecture to wisely explore, evaluate, and pivot to and from future opportunities.
Enterprise architecture
Kishau Rogers (bigThinking)
More companies are pivoting from pre-programmed software applications to intelligent applications. By the year 2020, more than 85% of customer interactions will be carried out without humans. We will focus on reducing the friction of AI Adoption in the Enterprise using systems thinking and people-centered workflows. The road to enterprise intelligence starts with the humans behind the curtain.
Leadership skills
Rotem Hermon (SAP)
We, developers and architects, are a major force influencing software, technology, and the world it creates. If we really want to create a better world, we need to open our eyes to the link between ethics and software. In this session we'll discuss technology, sense of self, politics, truth, and try to understand what we can do about it.
Application architecture, Enterprise architecture, Integration architecture, Microservices, Reactive and its variants
Benjamin Stopford (Independent)
One of the most interesting, and provocative patterns to face the software architecture community is the idea of using event streaming as a source of truth. A pattern where replayable logs, like Apache Kafka, provide both communication and storage, splicing the retentive properties of a database into a system designed to share data across teams. Is this pattern really transformative? You decide.
Neal Ford (ThoughtWorks)
2-Day Training Please note: to attend training courses, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.
CNN recently rated software architect the number one job in America. Yet no clear path exists for moving from developer to architect. Neal Ford blends lecture and hands-on real-world group exercises to explore the many aspects of software architecture. You'll learn various integration styles (and when to use them) as well as patterns to fit various business needs and requirements.
Application architecture, Enterprise architecture, Reactive and its variants
Marco Emrich (
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
Event Driven Programming has been proven useful in many situations. However, the asynchronous programming model often needs some time to get used to. This workshop will provide the opportunity to explore event concepts in a familiar language.
Application architecture
Microservices provide a way to break up a monolithic architecture into multiple atomic units allowing an independent scalability of a service. They also provide a better way to divide the domains across multiple teams. But what if there is a way to apply the same principles to Frontend applications? And what if we can scale up a project with tens of developers without reducing the throughput?
Application architecture
Dan Haywood (Haywood Associates Ltd.)
In this talk I'll show how we use Apache Isis - an implementation of the naked objects architectural pattern - to build modular monoliths. By way of illustration I'll use examples taken from the invoicing system that we've built and extended over the last six years (the application is also open source) with a tiny one-and-a-bit pizza team.
Leadership skills
Bulama Yusuf (Intellectual Apps)
As people with strong technical backgrounds, we know how to get most out of the tools & devices we use. Well, getting the most out of these will not guarantee best results on a team. Tools and devices are necessary but getting the best out of your team is what really guarantees the best results. This talk will explore proven ways to communicate and connect with a team as a software architect.
Leadership skills
Communicating (about) architecture to non-IT and business stakeholders is a valuable skill for architects. After all, many architectural-relevant decisions are made by others, so they need to be informed with clear, honest, intelligible and helpful information / advice. This presentation will show theory and many practical tips on eight different facets of visual communication of architecture.
Application architecture
Szymon Pobiega (Particular Software)
And you shall do it only once. Exactly once. That's a very common assumption for most of business software. One trigger equals one outcome. In this talk you'll learn that duplicate messages are a fact of life in distributed systems. You'll also realize that no infrastructure can help you. Fortunately I'll show you some tips on how to deal with nasty duplicate zombie messages.
Nikhil Barthwal (Grand Central Tech)
While there are differences between Serverless architecture & Microservices architecture, they both require an application to be composed of a collection of loosely coupled components. Thus, it is possible to implement Microservices architecture as a Serverless Application. This talk elaborates on this topic and covers the pro’s & con’s as well as details of various deployment patterns.
Mike Roberts (Symphonia)
Serverless Computing offers the benefits of accelerated delivery and reduced operations costs. However it also brings tooling and architectural challenges. What are safe, yet effective, methods to introduce Serverless to your organization? Mike Roberts discusses several alternatives, from his experience with teams that have faced this precise question.
Application architecture
Mike Amundsen (API Academy, CA Technologies)
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
A RESTful approach to microservices offers a number of benefits. Mike Amundsen walks you through building adaptable microservices that take advantage of the features of REST, including statelessness, self-description, and using hypermedia to discover and modify application state.
Mike Amundsen (API Academy, CA Technologies)
Microservices is a popular, but vague term. And -- it turns out -- definitions of microservices can vary, depending on what you want them to accomplish and how you want them to communicate with each other. So, just what are the three types of Microservices, what makes them unique, and when do you deploy each of them?
Ashley Ward (Twistlock)
Throughout this session, we’ll break down the security advantages of containers relative to traditional architectures using a real life app as an example.
Integration architecture
Tom Hofte (Xebia), Marco van der Linden (Xebia)
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
A Web API, like a website, is a channel into your business domain. Because of its simplicity REST is the de-facto standard for developing Web APIs. But translating complex domain behaviour to simple REST concepts is typically not straight forward. This tutorial focuses on RESTful resource modeling and shares practical solutions to bridge the gap between a domain model and a RESTful API.
Distributed systems
Erik Wilde (API Academy)
As APIs proliferate, managing the constantly growing and evolving API landscapes becomes a challenge. Part of the management challenge is for APIs to be able to describe themselves, so that users and tooling can use descriptions for finding and filtering APIs. A standardized labeling scheme can help to cover some of the cases where API self-description allows API landscapes to become more usable.
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program Chairs, Brian Foster and Neal Ford, welcome you to the first day of keynotes.
Cloud native
Rick Timmis (WiFiSPARK Ltd), Janet Valbuena (WiFiSPARK Ltd)
A discussion of the real world 3 step journey, migrating from a single application stack to a distributed multi component application structure running on the AWS Amazon Cloud. Followed by refactor and replacement of the components with microservice, to complement a migration from monolith to serverless cloud.
Maria Gomez (ThoughtWorks)
Think of this talk as a Microservices 201. You know the basic of microservices and their pros and cons, but can you successfully maintain them in production? Microservices can keep your code cleaner and decouple but their distributed nature makes them a pain to maintain in production. This talk explores the concept of observability as a way of maintain a healthy production environment.
Cloud native
Mario-Leander Reimer (QAware GmbH)
Building microservice architectures is complex. Handling the involved complexities, like circuit breaking, rate limiting, observability or transport security, is usually left up to the development teams to implement. Using open source components to address these challenges is an option, but this quickly leads to excessive library bloat in our microservices. So let's put them on a diet: with Istio.
Leemay Nassery (Comcast)
In this talk we'll walk through the importance of data collection pipelines and the importance of efficiently storing various datasets with intentions of avoiding the "pipeline jungle construct" by thinking holistically about the data and tiers that follow the initial consumption of these events.
Application architecture, Distributed systems, Microservices, Scale
Allard Buijze (AxonIQ), Nakul Mishra (Casumo)
The architectural principle of CQRS makes great promises about the scalability of applications. In this presentation, we will elaborate on these promises and discuss how to bring them into practice. We provide insight in the challenges we faced while scaling from thousands to billions of events, and how we resolved them.
Michael Garski (Fender Digital)
Fender Digital’s service infrastructure is 100% serverless. The promises of serverless include reduced costs and simplified operations, and the challenge lies in how to implement complex applications on a FaaS platform. This session covers the best practices we have established at Fender Digital to optimize function performance and ensure observability.
Leadership skills
Seth Dobbs (HS2 Solutions)
Tutorial Please note: to attend tutorials, you must register for a Gold or Silver pass; does not include access to training courses on 31 October - 1 November.
Communication is not an optional soft skill for architects – it's essential to our success. We can have the most brilliant ideas but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful.This session will discuss a process on how to effectively shape and communicate your solutions to different stakeholders.
Application architecture, Microservices, Security
Tobias Uldall-Espersen (, Thomas Krogsgaard Holme (
The presentation will cover how principles of Microservice Architecture and Privacy by Design were applied to break down a monolithic e-health portal, redesign it and produce a scalable and flexible platform in compliance with the EU General Data Protection Regulation (GDPR). The work was initiated as a technical project, but has succeeded in delivering significant technical and business value.
Enterprise architecture
Eben Hewitt (Sabre)
Learn technology strategy patterns for creating and communicating a compelling technology strategy based on architecture principles. Some of these practical frameworks originate in the world of business strategy consulting, and some are hard-won after years as a CTO, CTO, and Chief Architect. Upgraded your skills from architect to strategist using these proven and innovative patterns.
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program Chairs, Brian Foster and Neal Ford, welcome you to the second day of keynotes.
Application architecture
Sarah LeBlanc (ThoughtWorks), Hany Elemary (ThoughtWorks)
Credit card fraudsters are always changing their behavior, developing new tactics. For banks, the damage isn’t just financial; their reputations are on the line. So how do banks stay ahead of the crooks? In this session, we will introduce continuous delivery to machine learning with a system that allows for rapid experimentation and deployment of models that catch these fraudsters.
Yiannis Kanellopoulos (Software Improvement Group), Evelyn van Kelle (Software Improvement Group)
If you want to develop high quality products you need happy developers and strong feedback loops. In this talk, we will elaborate on they key factors that determine developer happiness, the crucial relationship between developer happiness and code quality, and how to enhance overall code quality through a blend of interpersonal communication and tool-based analysis.
Application architecture, Enterprise architecture, Leadership skills, Microservices
Fahran Wallace (OpenCredo)
Your Brain on Software Development is a whimsical talk that explores the intersection of Programming, Architecture and Psychology, through the medium of funny-in-retrospect memories, borrowed war stories, and attempts to avoid people swearing at my design choices 5 years later.