Engineering the Future of Software
16–18 October 2017: Conference & Tutorials
18–19 October 2017: Training
London, UK
 
King's Suite - Sandringham
Add Practical examples of serverless architecture to your personal schedule
10:45 Practical examples of serverless architecture Scott Davis (ThoughtWorks)
Add Apache Spark and machine learning on microservices to your personal schedule
13:15 Apache Spark and machine learning on microservices Stepan Pushkarev (hydrosphere.io)
Add Rethinking microservices with stateful streams to your personal schedule
15:50 Rethinking microservices with stateful streams Ben Stopford (Confluent)
Add Balancing sociotechnical complexity in software architectures to your personal schedule
16:50 Balancing sociotechnical complexity in software architectures Evelyn van Kelle (Software Improvement Group), Pepijn van de Kamp (Software Improvement Group)
Buckingham Room - Palace Suite
Add Research-driven development: Improve the software you love while staying productive to your personal schedule
13:15 Research-driven development: Improve the software you love while staying productive Philip Winder (Winder Research and Development)
Add High-performance JavaScript web app architecture to your personal schedule
14:15 High-performance JavaScript web app architecture Pratik Patel (TripLingo)
Blenheim Room - Palace Suite
Add How do software architects find the way to user experience? With Google Maps to your personal schedule
10:45 How do software architects find the way to user experience? With Google Maps Matthias Naab (Fraunhofer IESE), Marcus Trapp (Fraunhofer IESE)
Add Frontend reactive architectures to your personal schedule
13:15 Frontend reactive architectures Luca Mezzalira (DAZN)
Add Don't ask, don't tell: The virtues of privacy by design to your personal schedule
14:15 Don't ask, don't tell: The virtues of privacy by design Eleanor McHugh (Innovative Identity Solutions)
Park Suite (St. James / Regents)
Add Architecturing and securing IoT platforms with microservices to your personal schedule
10:45 Architecturing and securing IoT platforms with microservices Drasko Draskovic (Mainflux), Janko Isidorovic (Mainflux)
Add Humane teams at home and around the world to your personal schedule
13:15 Humane teams at home and around the world Daniel Young (EngineerBetter), Emma Jane Hogbin Westby (UN-OCHA)
Add Building microservices with ASP.NET Core to your personal schedule
14:15 Building microservices with ASP.NET Core Kevin Hoffman (Capital One)
Add Beyond accidental architecture to your personal schedule
15:50 Beyond accidental architecture James Thompson (Nav)
Windsor Suite
10:45
Add Episode PWA: Return of the web (sponsored by Enonic) to your personal schedule
14:15 Episode PWA: Return of the web (sponsored by Enonic) Thomas Sigdestad (Enonic AS)
16:50
King's Suite - Balmoral
Add Monday opening welcome to your personal schedule
King's Suite - Balmoral
9:00 Monday opening welcome Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Add The move toward modularity   to your personal schedule
9:05 The move toward modularity Mark  Richards  (Independent)
Add The rise of the streaming platform to your personal schedule
9:25 The rise of the streaming platform Neha Narkhede (Confluent)
Add Architect as storyteller to your personal schedule
9:45 Architect as storyteller Nathaniel Schutta (Ntschutta.com)
Add Visualize, document, and explore your software architecture to your personal schedule
10:45 Visualize, document, and explore your software architecture Simon Brown (Independent Consultant)
Add Adventures in accidental human architecture to your personal schedule
13:15 Adventures in accidental human architecture Michelle Brush (Cerner Corporation)
Add Complex event flows in distributed systems to your personal schedule
15:50 Complex event flows in distributed systems Bernd Rücker (Camunda), Martin Schimak (Plexiti)
Add Monday Speed Networking to your personal schedule
8:15 Monday Speed Networking | Room: Kings Suite Foyer (Balmoral/Sandringham)
10:15 Break | Room: Sponsor Pavilion
Add Lunch and Monday Topic Tables to your personal schedule
12:15 Lunch and Monday Topic Tables | Room: Sponsor Pavilion
15:05 Break | Room: Sponsor Pavilion
Add Sponsor Pavilion Reception to your personal schedule
17:45 Sponsor Pavilion Reception | Room: Sponsor Pavilion
8:00 Morning Coffee | Room: Kings Suite Foyer
10:45-12:15 (1h 30m) Distributed systems Best Practice, Case Study, Overview
Practical examples of serverless architecture
Scott Davis (ThoughtWorks)
What does a networked app look like without the server? Scott Davis explores a spectrum of environments, from platforms as a service (PaaS) to container hosting, and walks you down the evolutionary trail from microservices and backends as a service (BaaS) to canonical, truly serverless solutions like OpenWhisk and AWS Lambda—e.g., functions as a service (FaaS).
13:15-14:05 (50m) Microservices, pros and cons Best Practice, Hands-on
Apache Spark and machine learning on microservices
Stepan Pushkarev (hydrosphere.io)
Hadoop-based data platforms that power ETL jobs and machine learning pipelines are great examples of monolithic architectures that could be redesigned with microservices. Stepan Pushkarev walks you through building and deploying data processing, reporting services, training, and prediction pipelines as decoupled microservices connected with the rest of the enterprise architecture.
14:15-15:05 (50m) Integration architecture Anti-Pattern, Best Practice, Case Study, Overview
Scaling traditional integration in an event-driven architecture
Karun Japhet (ThoughtWorks)
Karun Japhet tells the tale of how one company bridged the technological divide between modern event-driven systems and traditional architectures, building a resilient platform with eventual consistency guarantees even when third parties provided no guarantees of reasonable service.
15:50-16:40 (50m) Microservices, pros and cons Best Practice
Rethinking microservices with stateful streams
Ben Stopford (Confluent)
Ben Stopford looks at two forces that sit in opposition: data systems (which focus on exposing data) and services (which focus on encapsulating it). How should we balance these two? Streaming offers a solution.
16:50-17:40 (50m) Fundamentals Best Practice
Balancing sociotechnical complexity in software architectures
Evelyn van Kelle (Software Improvement Group), Pepijn van de Kamp (Software Improvement Group)
When discussing architecture, things like microservices and the Reactive Manifesto come to mind. However, the culmination and success of technical choices is strongly determined by social context. Evelyn van Kelle and Pepijin van de Kamp explore the interplay of technical issues and the social aspects of working on a team, such as communication and shared understanding of assumptions and choices.
10:45-12:15 (1h 30m) Distributed systems Case Study
Platform architecture for omnichannel retail
Joel Crabb (Target)
The retail landscape for brick and mortar companies transitioning to digital is incredibly complex. Saddled with extensive legacy systems that impinge rapid development capabilities, retailers need an architecture that melds the new with the old. Joel Crabb shares a platform architecture for retailers to compete in this new world.
13:15-14:05 (50m) Fundamentals Best Practice, Overview
Research-driven development: Improve the software you love while staying productive
Philip Winder (Winder Research and Development)
Philip Winder argues that modern developers are in fact researchers. To that end, Philip explores shares practical tips to make people better researchers and therefore better developers.
14:15-15:05 (50m) Fundamentals Best Practice, Overview
High-performance JavaScript web app architecture
Pratik Patel (TripLingo)
Single-page web apps are becoming increasingly popular, so it's important to understand the low-level and high-level aspects of the browser platform and JavaScript runtimes embedding in them. Pratik Patel dives deep into the performance aspects of JavaScript and the web browser, covering the best practices and techniques you need to tune your apps and tips for framework selection.
15:50-16:40 (50m) Distributed systems Case Study
Building next-gen edge architecture at Expedia
Rick Fast (Expedia)
As Expedia refactors its backend services into a finer-grained microservice architecture, frontend applications have begun to be split into smaller applications serving a small number of pages or content on the website. Rick Fast details how Expedia is creating an extremely configurable, self-service edge architecture for routing between frontend applications and managing bot traffic.
16:50-17:40 (50m) Integration architecture Best Practice, Case Study
How to use the Backend for Frontend (BFF) pattern in your mobile application architecture
Bulama Yusuf (Intellectual Apps)
Today, many solutions employ a mobile-first approach. In addition to handling mobile clients, there is a need to cater to web clients, sensors, and devices, but these clients have different needs and consume data in different ways. Bulama Yusuf explains how to use the Backend for Frontend (BFF) pattern to develop an API for a system that has various clients.
10:45-12:15 (1h 30m) User experience design Best Practice, Hands-on
How do software architects find the way to user experience? With Google Maps
Matthias Naab (Fraunhofer IESE), Marcus Trapp (Fraunhofer IESE)
A successful software system requires both a strong software architecture and a great user experience (UX). However, UX is surprisingly often neglected by software architects. Using Google Maps as an example, Matthias Naab and Marcus Trapp explore the architectural decisions behind excellent UX and the relationship between UX designers and software architects.
13:15-14:05 (50m) Reactive and its variants Best Practice, Theoretical
Frontend reactive architectures
Luca Mezzalira (DAZN)
Reactive programming is quickly becoming one of the hottest topics in frontend development. Luca Mezzalira offers an overview of available reactive architectures for frontend ecosystems and evaluates libraries and frameworks, such as Cycle.js, MobX, and SAM, that you can use to make your current architecture reactive.
14:15-15:05 (50m) Security Overview
Don't ask, don't tell: The virtues of privacy by design
Eleanor McHugh (Innovative Identity Solutions)
After years of personal data breaches and mishandled payment data, lawmakers are waking up to the importance of online privacy. Eleanor McHugh explains why, to comply with new laws, we need to put privacy at the heart of our design processes. But how do we do this when design itself is often seen as the enemy?
15:50-16:40 (50m) Optimization Best Practice
Iterative architecture: Your path to on-time delivery
Asanka Abeysinghe (WSO2)
Think big, act small. It’s easy to develop a vision, but there are often many architecture barriers along the path to achieving it. Asanka Abeysinghe explores iterative architecture—introducing iterative architectural changes to support business and technical requirements—and shares real-world examples.
16:50-17:40 (50m) Distributed systems Overview
The computer science behind a modern distributed data store
Max Neunhöffer (ArangoDB)
What we see in the modern data store world is a race between different approaches to achieve distributed and resilient storage. The IoT, genomics, and applications for any other field also raise the demand for a stateful layer. Max Neunhöffer walks you through the components and the inner workings of modern open source databases like ArangoDB, Cassandra, Cockroach, and RethinkDB.
10:45-12:15 (1h 30m) Microservices, pros and cons Framework-Focused
Architecturing and securing IoT platforms with microservices
Drasko Draskovic (Mainflux), Janko Isidorovic (Mainflux)
IoT device management and multiprotocol messaging platforms demand specific architectural decisions and high-concurrency approaches due to the massive number of expected devices. Drasko Draskovic and Janko Isidorovic share an architecture, implementation, and testing procedures needed to create an industry-grade IoT platform based on microservices and Docker containers.
13:15-14:05 (50m) Business skills Best Practice, Overview
Humane teams at home and around the world
Daniel Young (EngineerBetter), Emma Jane Hogbin Westby (UN-OCHA)
Software development is a social activity that favors direct human contact, yet 21st century life can often get in the way, forcing us to reconsider our communication patterns. Daniel Young and Emma Jane Hogbin Westby explore how to build and maintain happy productive teams, regardless of geography.
14:15-15:05 (50m) Microservices, pros and cons Best Practice, Framework-Focused
Building microservices with ASP.NET Core
Kevin Hoffman (Capital One)
Microsoft finally has a truly open source, cross-platform development framework that is ideal for building cloud-native microservices: ASP.NET Core. Kevin Hoffman explains how to use ASP.NET Core to build immutable releases with Docker, address real-world concerns like configuration, security, and data access, and implement continuous integration and continuous delivery in the cloud.
15:50-16:40 (50m) Business skills Best Practice, Overview
Beyond accidental architecture
James Thompson (Nav)
In many cases, existing architectures represent an accident of circumstances. James Thompson explains why you should move beyond the accidental and introduce intentional architectural thinking to your team, outlining the benefits of deliberate software architecture, from helping newer engineers understand why certain boundaries exist to enabling senior engineers to improve their skills and more.
16:50-17:40 (50m) Business skills Theoretical
Superheroes and con artists: Abusing fictional tropes for better teams
Don Kelly (Strangeware)
Hiring and maintaining a software team is a challenging proposition. Programmers are among the toughest craftspeople to manage and assess. To gain a fresh perspective (and relieve the boredom), Don Kelly turns to the pulp fiction of his adolescence for inspiration, explaining how he maps teams from fictional universes into the software teams he would like to build.
10:45-12:15 (1h 30m)
Session
13:15-14:05 (50m) Sponsored
Choosing the right stack for real-time applications (sponsored by PubNub)
Bhavana Srinivas (PubNub)
As software continues to evolve from a request/response architecture to an always-on data stream architecture, a lot has to change. Bhavana Srinivas explores new software architectures that make it easy for companies to deliver applications that rely on streaming data and real-time messaging.
14:15-15:05 (50m) Sponsored
Episode PWA: Return of the web (sponsored by Enonic)
Thomas Sigdestad (Enonic AS)
Thomas Sigdestad leads a Star Wars-themed talk about progressive web apps (PWAs) and how they are changing the future of application development. Thomas also discusses the death of REST and why new backend technologies such as GraphQL and GRPC are better suited to fuel the needs of tomorrow's clients
15:50-16:40 (50m) Sponsored
Cloud-native design patterns in practice (sponsored by Red Hat OpenShift)
Michael Hausenblas (Red Hat)
Cloud-native applications—containerized apps that run in a cluster, whether in the public cloud or in a hybrid cloud setup—are going mainstream. Michael Hausenblas offers an overview of the CNCF stack, where cloud native goes beyond 12-factor apps, and walks you through the design and implementation process for a concrete app, using Kubernetes, Prometheus, and Istio.
16:50-17:40 (50m)
Session
9:00-9:05 (5m)
Monday opening welcome
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Brian Foster and Neal Ford welcome you to the first day of the Software Architecture Conference.
9:05-9:25 (20m)
The move toward modularity
Mark  Richards  (Independent)
We must rethink how we approach the design and architecture of software for the future. Architectural modularity will be a cornerstone of these software applications. Mark Richards explores the history of architectural modularity, discusses current architecture patterns that support modularity, and explains why architectural modularity is so important (and necessary).
9:25-9:45 (20m)
The rise of the streaming platform
Neha Narkhede (Confluent)
Streaming platforms have emerged as a popular, new trend, but what exactly is a streaming platform? With Apache Kafka at the core, streaming platforms offer an entirely new perspective on managing the flow of data. Neha Narkhede shares examples of Kafka in action and explains why streaming platforms have become the central nervous system for modern digital businesses.
9:45-10:05 (20m)
Architect as storyteller
Nathaniel Schutta (Ntschutta.com)
Nathaniel Schutta explains why an architect's job is to be a storyteller. Architects are essentially the Rosetta Stone of an organization, providing translation services (or, as some would call it, the "elevator" between the executive suite and the development floors). The challenge lies in not only crafting a compelling message but doing so for wildly disparate audiences.
10:05-10:15 (10m)
Closing remarks
Brian Foster and Neal Ford offer closing remarks.
10:45-12:15 (1h 30m) Fundamentals Best Practice, Overview, Theoretical
Visualize, document, and explore your software architecture
Simon Brown (Independent Consultant)
It seems like many software teams have lost the ability to communicate what it is they are building, so it's no surprise that these same teams often lack technical leadership, direction, and consistency. Simon Brown shares approaches and tools for visualizing, documenting, and exploring your software architecture.
13:15-14:05 (50m) Devops Anti-Pattern, Best Practice
Adventures in accidental human architecture
Michelle Brush (Cerner Corporation)
Are you vigilantly keeping watch on your system in anticipation of altering some setting or system state? When parts of your system fail, do you perform manual cleanup? If so, humans have been injected into your architecture. Michelle Brush explores the factors that lead to systems that run on human intervention and shares best practices for detecting and removing humans from the machine.
14:15-15:05 (50m) Devops Best Practice
Continuous delivery patterns for contemporary architecture
Daniel Bryant (SpectoLabs)
It's evident that modern software architecture is evolving toward fully component-based architectures, but there are many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
15:50-16:40 (50m) Distributed systems Best Practice
Complex event flows in distributed systems
Bernd Rücker (Camunda), Martin Schimak (Plexiti)
In distributed systems, some business transactions and end-to-end processes stretch across the boundaries of individual services. While event-driven choreography leads to nicely decoupled systems, complex event chains can cause headaches. Bernd Rücker and Martin Schimak explain why transforming certain events into commands is beneficial and how to avoid losing sight of larger-scale flows.
16:50-17:40 (50m) Microservices, pros and cons Best Practice, Case Study
Application scaling over the edge: Microservice architecture in industrial applications
Fei Li (Siemens)
Driven by the need for data analytics in Industry 4.0, edge computing is gaining momentum to bring intelligence to the devices at the network’s edge. Fei Li offers insights on a microservice-based architecture that keeps analytics applications on edge devices while dynamically utilizing resources on the cloud to achieve resilience and scalability in critical industrial applications.
8:15-8:45 (30m)
Monday Speed Networking
Meet us before the opening keynotes on Monday 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 Monday 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
17:45-18:45 (1h)
Sponsor Pavilion Reception
Join us in the Sponsor Pavilion after the afternoon sessions on Monday, October 16, from 17:45 to 18:45 for the Software Architecture Sponsor Pavilion Reception. Visit the exhibitors, mingle with other attendees, and enjoy great refreshments.
8:00-8:15 (15m)
Break: Morning Coffee