Engineering the Future of Software
16–18 October 2017: Conference & Tutorials
18–19 October 2017: Training
London, UK
 
King's Suite - Sandringham
Add Continuous data-centric architecture to your personal schedule
10:45 Continuous data-centric architecture Murat Erder (Deutsche Bank)
Add Architecting for the cloud to your personal schedule
14:15 Architecting for the cloud Ann Mwangi (ThoughtWorks)
Add Practical Kubernetes to your personal schedule
15:50 Practical Kubernetes Bryan Moyles (Google)
Add Pragmatic event-driven microservices to your personal schedule
16:50 Pragmatic event-driven microservices Allard Buijze (AxonIQ)
Buckingham Room - Palace Suite
Add Bounded contexts for legacy code to your personal schedule
10:45 Bounded contexts for legacy code James Thompson (Nav)
Add Unlocking the mysteries of distributed microservice authorization to your personal schedule
14:15 Unlocking the mysteries of distributed microservice authorization Wilfried Schobeiri (MediaMath), Kasey Klipsch (MediaMath)
Add Container zen: 12 steps to enlightenment to your personal schedule
15:50 Container zen: 12 steps to enlightenment Nils Magnus (LinuxTag Association and Open Telekom Cloud)
Add CQRS and event sourcing: A DevOps perspective to your personal schedule
16:50 CQRS and event sourcing: A DevOps perspective Stacey Watro (Stride Consulting), Maria Gomez (ThoughtWorks)
Blenheim Room - Palace Suite
Add Planning ahead for persistent memory to your personal schedule
10:45 Planning ahead for persistent memory Rob Dickinson (Intel)
Add The road taken to your personal schedule
14:15 The road taken Zsolt Sztupák (Gamesys)
Add Architecture at scale to your personal schedule
15:50 Architecture at scale Stewart Norriss (The Datashed)
Add Practical resilience to your personal schedule
16:50 Practical resilience Jan Machacek (Cake Solutions)
Park Suite (St. James / Regents)
Add Smart, scalable content distribution to your personal schedule
13:15 Smart, scalable content distribution Georgiana Gligor (Tekkie Consulting)
Add Evolutionary architectures to your personal schedule
15:50 Evolutionary architectures Neal Ford (ThoughtWorks)
Add Thinking about thinking about architecture to your personal schedule
16:50 Thinking about thinking about architecture Ben Evans (jClarity)
Windsor Suite
10:45
14:15
15:50
16:50
King's Suite - Balmoral
Add Tuesday opening welcome to your personal schedule
King's Suite - Balmoral
9:00 Tuesday opening welcome Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Add Thinking about platforms to your personal schedule
9:05 Thinking about platforms James Lewis (ThoughtWorks)
Add We cannot engineer the future of software without happy developers. (sponsored by SIG) to your personal schedule
9:20 We cannot engineer the future of software without happy developers. (sponsored by SIG) Yiannis Kanellopoulos (Software Improvement Group)
Add The death of Cannot Reproduce to your personal schedule
9:35 The death of Cannot Reproduce Michelle Brush (Cerner Corporation)
Add How to break the rules to your personal schedule
9:50 How to break the rules Dan North (Dan North & Associates Ltd)
Add Scaling and operationalizing machine learning solutions to your personal schedule
10:45 Scaling and operationalizing machine learning solutions Brian Sletten (Bosatsu Consulting)
Add The travel guide to a software system to your personal schedule
13:15 The travel guide to a software system Patrick Kua (N26)
Add Software architecture for developers to your personal schedule
14:15 Software architecture for developers Simon Brown (Independent Consultant)
Add Acknowledging boundaries to your personal schedule
15:50 Acknowledging boundaries Clément Delafargue (Clever Cloud)
Add Serverless in production: An experience report to your personal schedule
16:50 Serverless in production: An experience report Yan Cui (Space Ape Games)
Add Architectural Katas to your personal schedule
17:45 Architectural Katas | Room: King's Suite - Balmoral
Add Tuesday Speed Networking to your personal schedule
8:15 Tuesday Speed Networking | Room: Kings Suite Foyer (Balmoral/Sandringham)
10:15 Break | Room: Sponsor Pavilion
Add Lunch and Tuesday Topic Tables to your personal schedule
12:15 Lunch and Tuesday Topic Tables | Room: Sponsor Pavilion
15:05 Break | Room: Sponsor Pavilion
8:00 Morning Coffee | Room: Kings Suite Foyer
10:45-12:15 (1h 30m) Fundamentals Best Practice, Overview, Theoretical
Continuous data-centric architecture
Murat Erder (Deutsche Bank)
In the last five years, data has again risen to prominence, with chief data officers, data science, and analytics on the business side and microservices and NoSQL databases on the technology side. But how should software architects approach data in this age of Agile, big data, and the cloud? Murat Erder looks into key trends and architectural considerations.
13:15-14:05 (50m) Integration architecture Overview
Serverless architectures: What, why, why not, and where next?
Mike Roberts (Symphonia)
Mike Roberts offers a thorough overview of serverless, covering benefits and limitations along with examples and case studies to help you understand whether serverless is a good fit for your team and needs. Along the way, Mike also discusses the key elements of serverless that will have to advance as the technology evolves.
14:15-15:05 (50m) Scale Anti-Pattern, Best Practice, Overview
Architecting for the cloud
Ann Mwangi (ThoughtWorks)
Architects are increasingly becoming convinced that the cloud is the way to scale. The most important consideration after deciding on a cloud migration is the architectural design of the proposed infrastructure. Ann Mwangi shares considerations when deciding on and designing a cloud architecture for a business and highlights common pitfalls that teams fall into during this process.
15:50-16:40 (50m) Integration architecture Best Practice, Overview
Practical Kubernetes
Bryan Moyles (Google)
Kubernetes is an open source scheduling system that manages your containers. Admittedly, some of the concepts are difficult to understand. Bryan Moyles covers the bare minimum you need to know to get a basic web service up and running and shares best practices for managing canary deployments, managing configuration files, leveraging the internal DNS provided by Kubernetes services, and more.
16:50-17:40 (50m) Microservices, pros and cons Best Practice, Framework-Focused
Pragmatic event-driven microservices
Allard Buijze (AxonIQ)
Most discussions about implementing microservices start by evaluating the technical options and their challenges. However, the real business value is in functionality. Allard Buijze demonstrates how to build evolutionary microservices, starting with a single application that can be scaled out and distributed once the sensible boundaries are known.
10:45-12:15 (1h 30m) Fundamentals Case Study, Overview
Bounded contexts for legacy code
James Thompson (Nav)
Monolithic applications often resist the introduction of clearer architectural boundaries. Drawing on a real-world project as an example, James Thompson explains how to implement bounded contexts into such applications in conjunction with normal feature development and maintenance.
13:15-14:05 (50m) Devops Case Study
What we learned moving 65,000 Microsofties to DevOps on the public cloud
Martin Woodward (Microsoft)
Martin Woodward tells the full story of transforming Microsoft’s internal engineering systems from a collection of disparate in-house tools built up over decades to One Engineering System with a globally distributed 24×7×365 service on the public cloud, utilizing modern techniques and industry-recognized open source technologies.
14:15-15:05 (50m) Integration architecture
Unlocking the mysteries of distributed microservice authorization
Wilfried Schobeiri (MediaMath), Kasey Klipsch (MediaMath)
In a monolith, authorization is easy. In a microservices world, you have to make hard choices about your data model and the abstractions on top of which authorization rules are built. Wilfried Schobeiri and Kasey Klipsch share an approach to implementing distributed authorization in a microservices context, covering fallacies, common pitfalls, and best practices along the way.
15:50-16:40 (50m) Devops Best Practice, Overview, Theoretical
Container zen: 12 steps to enlightenment
Nils Magnus (LinuxTag Association and Open Telekom Cloud)
Nils Magnus outlines the 12 stages of self-awareness that lead to ultimate container enlightenment. It's a long and winding road: while usual suspects like system engineers, developers, and system designers understand container virtualization fairly well, its architectural pattern remains a different cup of tea, and orchestration frameworks and auxiliary tools make it hard to see to the bottom.
16:50-17:40 (50m) Devops Best Practice
CQRS and event sourcing: A DevOps perspective
Stacey Watro (Stride Consulting), Maria Gomez (ThoughtWorks)
As more organizations move toward distributed system architectures like CQRS and event sourcing, it’s important to discuss the challenges of deploying and supporting these systems in production. Stacey Watro and Maria Gomez explore strategies and pitfalls for supporting CQRS and event sources systems in production, covering how to build resilient systems, approach monitoring, and more.
10:45-12:15 (1h 30m) Fundamentals Anti-Pattern, Best Practice, Overview, Theoretical
Planning ahead for persistent memory
Rob Dickinson (Intel)
The persistent memory revolution is almost here, but many of us architects can't clearly picture where persistent memory fits into our applications. The hard truth is that persistent memory isn't quite like memory or storage; it's a new tier with new capabilities and tradeoffs. Rob Dickinson dispels some of the myths about persistent memory so you can better plan your own research.
13:15-14:05 (50m) Distributed systems Case Study
Implementing an event-driven microservices architecture in a functional language
Nikhil Barthwal (Jet.com)
Web services are typically stateless entities that need to operate at scale. Nikhil Barthwal explains how Jet.com implemented event-driven microservices architecture using a functional language, demonstrating how the functional paradigm captures the behavior of this service architecture very naturally and offers several benefits, such as scalability, productivity, and correctness.
14:15-15:05 (50m) Microservices, pros and cons Anti-Pattern, Best Practice, Case Study
The road taken
Zsolt Sztupák (Gamesys)
A few years ago, Gamesys began to modernize its platform. Moving to a containerized microservice architecture was a big part of this journey. While the road taken was long and bumpy, the team was able to fulfill most of its promises. Zsolt Sztupák shares Gamesys's experience, pinpointing various design decisions that both helped and hindered the team in achieving what they wanted.
15:50-16:40 (50m) Scale Anti-Pattern, Case Study
Architecture at scale
Stewart Norriss (The Datashed)
Stewart Norriss worked in the gaming and betting industry on a platform that coped with 30+ million events a day and took 115+ million payment events a year. Stewart offers an overview of the architecture built to meet this general demand while also dealing with singular massive-scale events.
16:50-17:40 (50m) Distributed systems Best Practice
Practical resilience
Jan Machacek (Cake Solutions)
Jan Machacek explores the architecture and design decisions needed to build resilient systems, offering a step-by-step guide that you can apply to your current system to discover its critical areas and see what happens in those critical areas when the inevitable faults start to pile in. Along the way, Jan demonstrates different types of failures and how to deal with them.
10:45-12:15 (1h 30m) Security Best Practice, Overview
Practical security principles for the working architect
Eoin Woods (Endava)
As our world becomes digital, the systems we build must be secure by design. The security community has developed a well-understood set of principles used to build secure systems, but they are rarely explained outside that community. Eoin Woods walks you through these fundamental principles and demonstrates how to apply them to mainstream systems.
13:15-14:05 (50m) Distributed systems Best Practice, Case Study, Hands-on
Smart, scalable content distribution
Georgiana Gligor (Tekkie Consulting)
Distributing website content in a microservices-driven architecture is not a trivial task, and it requires solving complex problems stemming from the large number of servers involved and the variety of edge cases that need to be solved. Georgiana Gligor shares a solution to content snapshotting, distribution, and caching in a silo-based architecture involving tens of machines.
14:15-15:05 (50m) Business skills Best Practice, Overview, Theoretical
Great technical architects must be great organization architects
Nick Tune (Salesforce)
Aligning organizational and technical boundaries will be the most important responsibility of future architects. Nick Tune explains why we must learn to codesign and coevolve teams and technical architectures to take the next big step to reduce lead times and build learning organizations.
15:50-16:40 (50m)
Evolutionary architectures
Neal Ford (ThoughtWorks)
An evolutionary architecture supports incremental, guided change as a first principle across multiple dimensions. Neal Ford describes how to build architectures that safely evolve over time, adding evolvability as a standard "-ility" on software projects.
16:50-17:40 (50m) Fundamentals Anti-Pattern, Best Practice, Case Study, Theoretical
Thinking about thinking about architecture
Ben Evans (jClarity)
The cognitive processes that an architect undertakes when creating a new design are often overlooked. Ben Evans explores some of the best known cognitive biases and other effects that are relevant to architectural design and related tasks.
10:45-12:15 (1h 30m)
Session
13:15-14:05 (50m) Sponsored
Unleash the power of FPGA acceleration in the data center (sponsored by Intel)
Shiva Rao (Intel)
Shiva Rao explains how to deploy and leverage FPGAs to accelerate specific data center workloads to optimize performance and lower power consumption and offers an overview of an acceleration stack for enabling applications running on Intel Xeon processors to leverage FPGA acceleration across the ecosystem of Intel FPGA-based acceleration platforms.
14:15-15:05 (50m)
Session
15:50-16:40 (50m)
Session
16:50-17:40 (50m)
Session
9:00-9:05 (5m)
Tuesday opening welcome
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Brian Foster and Neal Ford welcome you to the second day of the Software Architecture Conference.
9:05-9:20 (15m)
Thinking about platforms
James Lewis (ThoughtWorks)
Drawing on his experience advising clients on platform adoption, James Lewis explores the benefits that platforms can bring, the organizational limitations that make platform adoption attractive, how we currently overcome these limitations, and the paradigm shift in thinking needed to get the most out of them.
9:20-9:35 (15m) Sponsored
We cannot engineer the future of software without happy developers. (sponsored by SIG)
Yiannis Kanellopoulos (Software Improvement Group)
Software is the DNA of modern society. However, most organizations don't seem to care about the people who are fundamentally responsible for implementing their digital vision: software developers. Yiannis Kanellopoulos explores several deficiencies SIG found in its current approach to making developers excel and realizing prophesied potential. So how can you help? One word: empowerment.
9:35-9:50 (15m)
The death of Cannot Reproduce
Michelle Brush (Cerner Corporation)
Software practitioners believe if you can’t reproduce a bug, you can’t know if you’ve fixed it, but sometimes it's just not possible. Issue tracking systems have a special resolution type for this situation—Cannot Reproduce. Michelle Brush highlights principles and practices that deliver reproducibility in systems, arguing that we are getting closer and closer to the death of Cannot Reproduce.
9:50-10:10 (20m)
How to break the rules
Dan North (Dan North & Associates Ltd)
Societies work because we follow the rules, but what if those same rules are holding us back? The problem may be because we are failing to change our habits. Dan North introduces some uncomfortable truths from Eliyahu Goldratt, author of The Goal, a cornerstone of modern management theory, that help us recognize and challenge this behavior and unlock the true value from our technology.
10:10-10:15 (5m)
Closing remarks
Brian Foster and Neal Ford offer closing remarks.
10:45-12:15 (1h 30m) Scale Framework-Focused
Scaling and operationalizing machine learning solutions
Brian Sletten (Bosatsu Consulting)
Building successful machine learning implementations is only partially about the models and their predictive capabilities. Most toolkits and frameworks will hold your hand through a training phase, but operationalizing the results is up to you. Brian Sletten walks you through the necessary architecture and best practices for sustained, iterative production machine learning systems.
13:15-14:05 (50m) Fundamentals Anti-Pattern, Best Practice, Overview
The travel guide to a software system
Patrick Kua (N26)
Imagine that tomorrow you started work on a new software system. What would you need to know to be productive? What information would help you orient yourself, make better decisions, and know that you're heading in the right direction? Patrick Kua uses the analogy of the travel guide to help you decide what to document in your software systems.
14:15-15:05 (50m) Fundamentals Overview, Theoretical
Software architecture for developers
Simon Brown (Independent Consultant)
In a talk aimed at software developers who want to learn more about software architecture, technical leadership, and the balance with agility, Simon Brown offers an overview of software architecture on modern software projects.
15:50-16:40 (50m) Microservices, pros and cons Best Practice, Overview
Acknowledging boundaries
Clément Delafargue (Clever Cloud)
Get consistency back in your μServices architecture. Clément Delafargue explains why the best way to reduce complexity in a μServices architecture is to embrace boundaries. Join in to learn how to do it with the help of proper design and a good type system.
16:50-17:40 (50m) Reactive and its variants Anti-Pattern, Best Practice, Case Study
Serverless in production: An experience report
Yan Cui (Space Ape Games)
AWS Lambda has changed the way we deploy and run software, but the serverless paradigm has created new challenges to old problems around testing, CI/CD, and ops. Yan Cui shares solutions to these challenges, drawing on his experience running Lambda in production.
17:45-19:45 (2h)
Architectural Katas
Software architects have to practice being software architects. Now is your chance. Network and show your skills by joining an Architectural Kata—a small-team exercise where each group is given a project that needs development—on Tuesday evening.
8:15-8:45 (30m)
Tuesday Speed Networking
Meet us before the opening keynotes on Tuesday morning and get to know fellow attendees in quick, 60-second discussions.
10:15-10:45 (30m)
Break
12:15-13:15 (1h)
Lunch and Tuesday Topic Tables
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.
15:05-15:50 (45m)
Break
8:00-8:15 (15m)
Break: Morning Coffee