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


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.
Vladik Khononov (Naxex)
Experience report of using the Domain-Driven Design methodology on a green-field company.
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.
Adam Sandor (Container Solutions), Fabio Tiriticco (Fabway)
An Akka expert 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? Adam Sandor and Fabio Tiriticco share research to help answer those questions.
Heidi Waterhouse (LaunchDarkly)
Here's some sad news: staging is a lie and will never be identical to production, because production is unknowable. But here's the good news: production can contain multitudes, including features you aren’t ready to turn on or activate yet. Join Heidi Waterhouse for an exploration of the ways that you might be able to kill staging and perform better.
Brad Topol (IBM)
Continuous delivery for 12-factor microservices works by design. When you can architect a solution for continuous delivery, you control all the angles. But what do you do when you don’t have that luxury? Brad Topol explains how modernizing existing IT infrastructure with containers enables you to manage change through continuous delivery and reduce ongoing operational costs.
Matt Stine (Pivotal)
Confronting the cloud can feel quite daunting. Matt Stine teaches you how to create cloud-native architectures by applying a rich catalog of patterns that you'll be able to leverage regardless of your choice of cloud provider or technology stack, focusing on six key architecture qualities: modularity, observability, deployability, testablity, disposability, and replaceability.
Matt Stine (Pivotal)
Confronting the cloud can feel quite daunting. We are presented 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 nonfunctional requirements like reliability and scalability. Unfortunately, it can be deceptively hard to specify the right requirements. Big decisions made hoping to hit X nines often fail to ensure the nines measure the right thing. Yaniv Aknin shares lessons learned working in this space at Google, helping you focus on metrics that matter.
Launched 10 years ago, the BBC's iPlayer on TV has become the largest iPlayer platform. David Buckhurst and Ross Wilson explore the evolution of the BBC's TV application architecture, from the early days courting different native technologies to the development of an open source library and standards-based platform that supports multiple BBC applications across thousands of TVs.
Software architects have to practice being software architects. Now is your chance. Network and show your skills by joining Architectural Katas—a team exercise where small groups work together on a project that needs development—on Tuesday evening.
Liz Rice (Aqua Security)
Liz Rice explores the security implications of microservices, containers, and serverless and addresses the questions you need answers to: Will your deployments be less secure or more? How do DevOps processes like CI/CD and cluster orchestration affect your security profile? And what can we all do to minimize the risk of exploits?
Maggie Carroll (Ausley)
Software architects and enterprise architects work with a variety of roles, and often the deep technical work is performed by other application architects or solutions architects. Maggie Carroll shares useful skills and actionable techniques for 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)
Dennis Bijlsma and Haiyun Xu explain how to measure the maintainability of software landscapes that consist of many systems communicating with each other—and what that means for the teams working on them. Along the way, they explore a number of trade-offs to consider when designing the landscape and share best practices for modern software landscape architectures.
Jim Gough (Morgan Stanley)
Jim Gough shares his experience moving from a traditional monolithic architecture to a single API composed of many microservices, along with some of the challenges it presented. Jim also explores technologies and patterns with a mixture of hands-on examples and discussion topics and considers the impact to team culture and Agile practices required to achieve operational excellence.
Allen Holub (Holub Associates)
If you still use large up-front design, you'll likely encounter problems during implementation. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Join expert Allen Holub to learn how to develop an effective, incremental architecture that you can easily modify as new requirements emerge.
Allen Holub (Holub Associates)
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.
Trisha Gee (JetBrains)
Trisha Gee shares advice and lessons she learned the hard way while managing her career as a developer, lead, and technical advocate. She also gives you tools for working out what your next steps are along with plenty of examples of what not to do.
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.
Holly Cummins (IBM Cloud Garage)
Drawing on her experience as a developer in IBM's Cloud Garage, Holly Cummins shares stories of customers struggling to get cloud native and explains how IBM applied its methodology to turn things around. You'll learn the ideal team size, the ideal microservice size, what skills a team needs, the role of architects, how to know if something is ready to ship, and whose fault everything is (joke).
John Chapin (Symphonia)
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.
Nick Tune (Empathy Software), Zsofia Herendi (Dealogic)
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)
Enterprises need to deliver better software faster. The microservice architecture has the testability and deployability necessary for DevOps. Chris Richardson walks you through using the microservice architecture to develop your applications, exploring key obstacles you'll face (and how to deal with them) and sharing strategies for refactoring a monolith to a microservice architecture.
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.
Tyler Treat (Real Kinetic)
Distributed systems are not strictly an engineering problem. Tyler Treat looks at distributed systems through the lens of user experience, observing how architecture, design patterns, and business problems all coalesce into UX. Tyler also shares system design anti-patterns and alternative patterns for building reliable and scalable systems with respect to business outcomes.
Asher Sterkin (IRKI)
We do not have yet an adequate language for describing Serverless architectures. What is in typical use today are informal diagrams where no precise meaning could be attached to the diagram as a whole nor to any particular element. In this presentation I will show why is it a problem and what could be done about it.
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.
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.
Michael Van Kleeck (Mozilla)
How can Mozilla evolve our products and capabilities to serve the global, human-driven internet of the future? The company is guided by its mission and supported by the capabilities of its staff and community. Michael Van Kleeck dives into how Mozilla uses its version of enterprise architecture to wisely explore, evaluate, and pivot to and from future opportunities.
Kishau Rogers (bigThinking)
The future of software is being driven by intelligent applications. By the year 2020, more than 85% of customer interactions will be carried out without humans. The road to enterprise intelligence starts with the humans behind the curtain. Kishau Rogers explains how to reduce the friction of AI adoption in the enterprise using systems thinking and people-centered workflows.
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.
Andrea Dobson-Kock (Container Solutions)
Andrea Dobson discusses why people behave unethically and what can be done about it, including social psychology research on behavior, ethics and company culture, and anti-patterns to avoid.
Benjamin Stopford (Confluent)
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 provide both communication and storage, splicing the retentive properties of a database into a system designed to share data across teams. Benjamin Stopford explains why this pattern is transformative.
Neal Ford (ThoughtWorks)
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.
Neal Ford (ThoughtWorks)
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.
Marco Emrich (
Event-driven programming has been proven useful in many situations. However, the asynchronous programming model often needs some time to get used to. Marco Emrich explores event concepts in a familiar language and walks you through solving an exciting kata with the help of event-driven programming.
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?
Dan Haywood (Haywood Associates Ltd.)
Dan Haywood explains how he and a tiny one-and-a-bit pizza team used Apache Isis—an implementation of the naked objects architectural pattern—to build an invoicing system, Estatio. You'll see what an Apache Isis app looks like in the flesh and learn how Dan and his team manage to keep it modular.
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.
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.
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 and microservices architecture, 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. Nikhil Barthwal elaborates, covering the pros and cons, details of various deployment patterns, and best practices.
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 options, drawn from his experience with teams that have faced this precise question.
Russ Miles (
Chaos engineering helps you gain trust and confidence in your system of software development and delivery, but it is often misunderstood to be only about breaking things, and worse only about breaking infrastructure. Russ Miles debunks those limitations and demonstrates how chaos engineering can be a full part of your resilience engineering capability.
Chris Richardson (Eventuate, Inc)
Keynote with Chris Richardson
Mike Amundsen (API Academy, CA Technologies)
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.
Join other attendees during lunch at Software Architecture to share ideas, talk about the issues of the day, and maybe solve a few. Not sure which topic to pick? Don’t worry—it's not a long-term commitment. Try two or three and settle on a different topic tomorrow.
Join other attendees during lunch to share ideas, talk about the issues of the day, and maybe solve a few. Look for the topic signs on the tables in the Sponsor Pavillion and join the discussion. No advance signup is necessary.
Tom Hofte (Xebia), Marco van der Linden (Xebia)
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.
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.
Mary Treseler (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Mary Treseler and Neal Ford welcome you to the first day of keynotes.
Meet the Experts sessions give you a chance to meet face-to-face in a small group setting with expert Software Architecture presenters. Discuss the speakers' areas of expertise, give feedback about their sessions, or ask questions. Sign up now by adding it to your personal schedule. Seating is limited.
O’Reilly Author Book Signings will be held in the O’Reilly booth on Monday and Tuesday. This is a great opportunity for you to meet O’Reilly authors and speakers.
Jumpstart your networking at Software Architecture by coming to Speed Networking before the keynotes begin. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests.
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.
Ignite is happening at Software Architecture on Wednesday, 31 October. Join us for a fun, high-energy evening of five-minute talks—all aspiring to live up to the Ignite motto: Enlighten us, but make it quick.
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.
Marco Palladino (Kong Inc)
Microservices are all the rage these days. But what practical factors should you consider once you’ve taken the plunge? Marco Palladino provides a working framework of the architectural and organizational decisions senior technologists will need to make in order to solve the right problems for their business.
Mario-Leander Reimer (QAware GmbH)
Building microservice architectures is complex. Handling the involved complexities 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 your microservices. So let's put them on a diet—with Istio. Join Mario-Leander Reimer to learn how.
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.
Allard Buijze (AxonIQ), Nakul Mishra (Casumo)
The architectural principle of CQRS makes great promises about the scalability of applications. Allard Buijze and Nakul Mishra elaborate on these promises and explain how to bring them into practice. Along the way, they provide insight into the challenges Casumo faced while scaling from thousands to billions of events and how they were resolved.
Rob Wilson (SailPoint Technologies)
Microservices have quickly become a popular way to develop software systems. But as organizations implement production systems based on microservices, they are recognizing the importance and complexity of securing microservices. Rob Wilson shares techniques for securing microservice APIs and details a practical multiplatform model that you can use for securing your own microservice environments.
Pratik Patel (TripLingo)
Serverless doesn’t mean no servers. It’s a metaphor for a new way of building applications. Pratik Patel explains how serverless fits into the world of microservices and examines the pyramid of application development and deployment. You'll then put on your architect hat to look at serverless options and how they impact applications architecture.
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.
Seth Dobbs (HS2 Solutions)
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.
Nathaniel Schutta (Pivotal)
Software professionals, we owe it to our customers (and ourselves) to make good decisions when it comes to picking one technology over another. Nathaniel Schutta details the criteria to consider when comparing technologies and explains how to avoid burning platforms and what to do when you've reached a dead end. He then shows you how to apply these techniques to a current technology or two.
Join us in the Sponsor Pavilion after the afternoon sessions to visit the exhibitors, mingle with other attendees, and enjoy great refreshments and drinks.
Tobias Uldall-Espersen (, Thomas Krogsgaard Holme (
Tobias Uldall-Espersen and Thomas Krogsgaard Holme explain how they applied microservice architecture and privacy by design principles to break down a monolithic portal containing 50+ products—the Danish national ehealth portal—redesign it, and produce a scalable and flexible platform in compliance with the EU General Data Protection Regulation (GDPR).
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.
Sarah Wells (Financial Times)
How do you decide whether to adopt a leading-edge technology? The Financial Times recently migrated its content platform to Kubernetes. Join Sarah Wells to find out what it takes to migrate 150+ microservices from one container stack to another without affecting the existing production users and while the rest of your teams are working on delivering new functionality.
Irakli Nadareishvili (Capital One)
With cloud-native and microservices architecture gaining wide adoption, asynchronous programming patterns are becoming increasingly important. Irakli Nadareishvili details three major async forms that are relevant in this space—event sourcing, reactiveness, and data streams—defining each pattern, explaining relevant use cases, and exploring differences in implementation.
Mary Treseler (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Mary Treseler and Neal Ford welcome you to the second day of keynotes.
Meet the Experts sessions give you a chance to meet face-to-face in a small group setting with expert Software Architecture presenters. Discuss the speakers' areas of expertise, give feedback about their sessions, or ask questions. Sign up now by adding it to your personal schedule. Seating is limited.
O’Reilly Author Book Signings will be held in the O’Reilly booth on Tuesday. This is a great opportunity for you to meet O’Reilly authors and speakers.
Jumpstart your networking at Software Architecture by coming to Speed Networking before the keynotes begin. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests.
Cornelia Davis (Pivotal)
Cornelia Davis explains how to use an event-driven approach to address the fallacies of distributed computing in a very different way, offering significant benefits over request-response, and details event-oriented solutions to problems commonly addressed with well-known patterns.
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.
Stefan Judis (Contentful)
Today, your product's success depends on the creation of experiences in a steadily rising number of channels, leading to increasing demands for your content management system. Stefan Judis explains how Contentful’s content infrastructure helps developers on the frontline fetch the data they need, ship modern websites faster, and automate content distribution while using their favorite tools.
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. Yiannis Kanellopoulos and Evelyn van Kelle discuss the factors that determine developer happiness, explore the crucial relationship between developer happiness and code quality, and explain how to enhance overall code quality through a blend of interpersonal communication and tool-based analysis.
Stefan Tilkov (INNOQ)
Why do architecture approaches sometimes hurt instead of providing value? Why has “architect” become a negative term for some people? And what can we do to improve our own work? Stefan Tilkov looks at some of the most common pitfalls that ensure you’ll come up with a disaster and explains how they can be avoided.
Fahran Wallace (OpenCredo)
Fahran Wallace 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 her design choices five years later.