Engineering the Future of Software
Feb 25–26, 2018: Training
Feb 26–28, 2018: Tutorials & Conference
New York, NY
 
Grand Ballroom West
10:45am Architectural trade-offs Jeremy Deane (Foundation Medicine)
2:15pm Pragmatic event-driven microservices Allard Buijze (AxonIQ)
Mercury Ballroom
10:45am Are you really sure you want a blockchain? Ben Evans (jClarity)
1:15pm Data services: Processing big data the microservice way Mario-Leander Reimer (QAware)
2:15pm Maintaining architectural quality on software teams Yiannis Kanellopoulos (Code4Thought), Evelyn van Kelle (Software Improvement Group)
Sutton North
10:45am The architect as strategist Eben Hewitt (Sabre)
1:15pm An architect’s survival guide to healthcare Sonya Natanzon (Guardant Health)
Regent
10:45am Incremental architecture Allen Holub (Holub Associates)
1:15pm Why concurrency management is better than rate limiting Jonathan Moore (Comcast Cable)
2:15pm Mostly serverless John Chapin (Symphonia)
3:50pm How to improve your architectural visualizations Jochem Schulenklopper (Xebia)
Sutton South
10:45am
4:50pm
Beekman Parlor
10:45am
2:15pm (Machine) learning to detect fraudsters (sponsored by ThoughtWorks) Sarah LeBlanc (ThoughtWorks), Hany Elemary (ThoughtWorks)
6:45pm
6:45pm Architectural Katas | Room: Sutton North
7:30pm Software Architecture Dine-Around | Room: Various Locations
Grand Ballroom
9:00am Tuesday opening remarks Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
9:05am Defining software architecture Martin Fowler (ThoughtWorks), Neal Ford (ThoughtWorks), Brian Foster (O'Reilly Media)
9:25am Turning request-response on its head Cornelia Davis (Pivotal)
9:50am Events on the outside, on the inside, and at the core Chris Richardson (Eventuate)
10:10am Closing remarks Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
10:15am Morning Break | Room: Sponsor Pavilion
3:05pm Afternoon Break | Room: Sponsor Pavilion
5:45pm Sponsor Pavilion Reception | Room: Sponsor Pavilion
8:00am Morning Coffee | Room: Level 3 Promenade
8:15am Tuesday Speed Networking | Room: 3rd Level Promenade
10:45am-12:15pm (1h 30m) Application architecture, Enterprise architecture Overview
Architectural trade-offs
Jeremy Deane (Foundation Medicine)
There are inherent trade-offs that must be made in any software architecture. Some architectural trade-offs are obvious, such as performance versus security or availability versus consistency, while others are quite subtle such as resiliency versus affordability. Jeremy Deane explores a number of architectural trade-offs and offers strategies for dealing with them.
1:15pm-2:05pm (50m) Cloud native, Distributed systems, Scale Best Practice, Case Study
Building stream processing as a service at Netflix
Steven Wu (Netflix)
Steven Wu explains how Netflix’s SPaaS platform empowers users to focus on extracting insights from data streams and build stream processing applications and shares lessons learned building and operating the largest SPaaS use case: Netflix’s Keystone data pipeline, a self-serve platform for creating near-real-time event pipelines that processes three trillion events and 12 PB of data every day.
2:15pm-3:05pm (50m) Application architecture, Distributed systems, Microservices 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.
3:50pm-4:40pm (50m) Cloud native, Devops, Distributed systems, Microservices, Serverless Case Study
Edge PaaS: A Netflix case study about edge service architecture
Paul Bakker (Netflix)
How do feature teams (device teams, UI, etc.) connect efficiently to backend services in a microservices architecture? How do you create an edge API that satisfies teams with vastly different requirements? And how do you operate these mission-critical edge services? Paul Bakker discusses these challenges and offers an overview of Netflix's PaaS built specifically for edge services.
4:50pm-5:40pm (50m) Application architecture, Distributed systems, Enterprise architecture, Microservices, Reactive and its variants, Scale Best Practice, Theoretical
Managing consistency, state, and identity in distributed microservices
Duncan DeVore (Lightbend)
Duncan DeVore discusses the ins and outs of dealing with modular JVM-based application consistency, distributed state, and identity coherence with techniques such as idempotency, eventual and casual consistency, the CAP theorem, single source of truth, and distributed domain design.
10:45am-12:15pm (1h 30m) Business solutions, Distributed systems, Fundamentals Best Practice, Overview
Are you really sure you want a blockchain?
Ben Evans (jClarity)
Confused about what a blockchain is? Think you might have a need for one but are confused by all the hype (and the vendors bearing solutions)? Want to understand how blockchain can be useful to your systems and processes? Join Ben Evans to learn the basic technology underlying the blockchain, explore real use cases, and find out how to avoid antipatterns.
1:15pm-2:05pm (50m) Cloud native, Microservices Case Study, Overview
Data services: Processing big data the microservice way
Mario-Leander Reimer (QAware)
Mario-Leander Reimer explores key JEE technologies that can be used to build JEE-powered data services and walks you through implementing the individual data processing tasks of a simplified showcase application. You'll then deploy and orchestrate the individual data services using OpenShift, illustrating the scalability of the overall processing pipeline.
2:15pm-3:05pm (50m)
Maintaining architectural quality on software teams
Yiannis Kanellopoulos (Code4Thought), Evelyn van Kelle (Software Improvement Group)
Good teams and good products go hand in hand. But how does product quality impact the effectiveness of a team? And how do good teams produce high-quality software architecture? Evelyn van Kelle and Yiannis Kanellopoulos explain how developer happiness and high-quality architecture are interrelated and why we cannot engineer the future without empowering developers.
3:50pm-4:40pm (50m) Application architecture, Distributed systems, Enterprise architecture, Integration architecture, Microservices Best Practice, Case Study
Architecting an advanced analytics platform for machine learning
Georgios Gkekas (ING Bank)
Georgios Gkekas shares ING's advanced analytics journey to promote modern machine and deep learning techniques internally through a central, best-of-breed technical platform tailored for data science activities. The platform offers only the necessary automated tools to replace the tedious, repetitive, and error-prone steps in a typical data science pipeline.
4:50pm-5:40pm (50m) Application architecture, Cloud native, Distributed systems, Enterprise architecture, Integration architecture, Microservices, Reactive and its variants, Scale Framework-focused, Hands-on
Apache Kafka + Apache Mesos = Highly scalable streaming microservices
Kai Wähner (Confluent)
Kai Wähner shares a highly scalable, mission-critical infrastructure using Apache Kafka and Apache Mesos: Kafka brokers are used as the distributed messaging backbone; Kafka’s Streams API embeds stream processing into any external application without the need for a dedicated streaming cluster; and Mesos is used as a scalable infrastructure to leverage the benefits of a cloud-native platform.
10:45am-12:15pm (1h 30m) Enterprise architecture, Leadership skills Best Practice, Framework-focused
The architect as strategist
Eben Hewitt (Sabre)
Eben Hewitt explains what the world’s top strategy firms can teach us about the intersection of strategic thinking and architecture and outlines a framework, process, and set of tools that will help you create a powerful technology strategy for your organization.
1:15pm-2:05pm (50m) Business solutions, Enterprise architecture, Leadership skills Overview
An architect’s survival guide to healthcare
Sonya Natanzon (Guardant Health)
Healthcare is a broad and complex field that can overwhelm the most seasoned architect. Sonya Natanzon identifies the guideposts that help you navigate the complexity and focus on the most important aspects of healthcare solutions.
2:15pm-3:05pm (50m) Sponsored
Rebuilding the New York Times crossword with Google Cloud (sponsored by Google Cloud)
JP Robinson (New York Times)
Over the course of 2017, the API traffic of the New York Times crossword tripled. At the same time, a very small team of engineers managed to migrate its platform from a PHP monolith on Amazon Web Services to a suite of Go microservices on Google Cloud Platform. JP Robinson explains how his team was able to make the migration with zero downtime while cutting infrastructure costs in half.
3:50pm-4:40pm (50m) Application architecture, Cloud native, Devops, Microservices Best Practice, Overview
Strategies for decentralized data management in microservices architectures
JP Morgenthal (DXC)
A big part of microservices architecture is decomposing monolithic applications with tightly coupled data models, but moving to decentralized data management is one of the most challenging aspects of a microservices architecture. JP Morgenthal shares strategies for your redesign efforts, the possible pitfalls, and the trade-offs these approaches force architects and engineers to make.
4:50pm-5:40pm (50m) Devops, Fundamentals, User experience design Anti-Pattern, Best Practice
Y2K and other disappointing disasters: Risk reduction and harm mitigation
Heidi Waterhouse (LaunchDarkly)
Heidi Waterhouse explores risk reduction and harm mitigation, helping you understand where you can prevent problems and where you can just make them less bad, and shares available tools to make every disaster a disappointing fizzle.
10:45am-12:15pm (1h 30m) Fundamentals, Integration architecture, Microservices Best Practice
Incremental architecture
Allen Holub (Holub Associates)
If you still use large up-front design phases, you'll likely encounter problems with your design as you implement. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Allen Holub demonstrates how to develop an effective and coherent architecture incrementally as the code evolves.
1:15pm-2:05pm (50m) Distributed systems, Microservices Best Practice, Theoretical
Why concurrency management is better than rate limiting
Jonathan Moore (Comcast Cable)
Rate limiting is the most common capacity management approach for API gateways, but concurrency management is a fundamentally better concept for a variety of reasons. Jon Moore outlines the basic queuing theory behind concurrency management and shares a new algorithm for keeping misconfigured clients from causing trouble for everyone else.
2:15pm-3:05pm (50m) Devops, Enterprise architecture, Serverless Best Practice, Case Study
Mostly serverless
John Chapin (Symphonia)
Even EC2 has serverless attributes, and you can leverage them to realize the benefits of serverless in your classic enterprise cloud architectures. John Chapin shares the true story of an enterprise IT organization for which a potent combination of “mostly serverless” technology and a DevOps mindset have laid the groundwork for a future serverless transformation.
3:50pm-4:40pm (50m) Leadership skills Best Practice, Overview
How to improve your architectural visualizations
Jochem Schulenklopper (Xebia)
Communicating (about) architecture to non-IT and business stakeholders is a valuable skill. After all, many architectural decisions are made by others, so they need to be informed with clear, honest, intelligible, and helpful information and advice. Jochem Schulenklopper dives into theory and shares practical tips on eight different facets of visually communicating your architecture.
4:50pm-5:40pm (50m) Cloud native, Microservices Best Practice, Case Study
Continuous delivery patterns for contemporary architecture
Daniel Bryant (Datawire)
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.
10:45am-12:15pm (1h 30m)
Session
1:15pm-2:05pm (50m) Sponsored
How TELUS beats the competition to market by replatforming on content infrastructure (sponsored by Contentful)
Rouven Wessling (Contentful), Andrew Kumar (TELUS)
TELUS digital—the in-house agency for Canadian telecommunications company TELUS—recently created a new content platform that enables team members to easily add, update, and deliver content across all their digital properties. Rouven Wessling offers an overview of the platform and explains why TELUS digital chose a content infrastructure over traditional CMS options.
2:15pm-3:05pm (50m) Sponsored
From data to deployment: Full stack data science (sponsored by Indeed)
Benjamin Link (Indeed)
Benjamin Link walks you through how Indeed implements its data science full stack models, from labeling data, performing analysis, and generating features to building and validating a model, creating infrastructure, deploying a model, and monitoring a solution. Benjamin also explains how these techniques are applicable across a broad set of domains.
3:50pm-4:40pm (50m) Sponsored
Feature management for DevOps-minded architects (sponsored by LaunchDarkly)
John Kodumal (LaunchDarkly)
John Kodumal explores the concept of feature management and explains how it can be applied in the DevOps space.
4:50pm-5:40pm (50m)
Session
10:45am-12:15pm (1h 30m)
Session
1:15pm-2:05pm (50m) Sponsored
From interactive to immersive: Messaging apps of the future (sponsored by PubNub)
bhavana srinivas (PubNub)
Bhavana Srinivas explores the future of messaging applications and explains how serverless technology and cognitive systems are transforming the way we build communication apps, from chatbots to programmable networks. Join in to learn why businesses and products alike will be built on chat apps and how chat apps are changing software architectures altogether.
2:15pm-3:05pm (50m) Sponsored
(Machine) learning to detect fraudsters (sponsored by ThoughtWorks)
Sarah LeBlanc (ThoughtWorks), Hany Elemary (ThoughtWorks)
Join Sarah LeBlanc and Hany Elemary for a unique talk where data science meets DevOps culture. Sarah and Hany explain how to put machine learning fraud detection models into production, using data science algorithms to drive effective models. Along the way, they explain how a global corporation is creating an extensible platform for more than just application fraud.
3:50pm-4:40pm (50m) Sponsored
Software-defined servers: Move from monolithic to flexible servers without changing a single line of code (sponsored by TidalScale)
Ike Nassi (TidalScale)
Ike Nassi explores the implications that software-defined servers will have on application and computing infrastructure.
4:50pm-5:40pm (50m) Sponsored
From monolith to microservices: An architectural strategy (sponsored by CAST Software)
Philippe Guerin (CAST Software)
Philippe Guerin demonstrates how to transform a monolithic application into a microservices application while tracking the change of the transformation and balancing the loss of performance or stability of your application with the introduction of the new layers.
6:45pm-7:30pm (45m)
Plenary
6:45pm-8:15pm (1h 30m)
Architectural Katas
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 following the Sponsor Pavilion Reception.
7:30pm-9:00pm (1h 30m)
Software Architecture Dine-Around
Looking for dinner plans Tuesday night? Sign up to join a group of fellow attendees for the Software Architecture Dine-Around.
12:15pm-1:15pm (1h)
Lunch and Tuesday Topic Tables (sponsored by CA Technologies)
Join other attendees during lunch at Software Architecture to share ideas, talk about the issues of the day, and maybe solve a few.
9:00am-9:05am (5m)
Tuesday opening remarks
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Brian Foster and Neal Ford open the first day of keynotes.
9:05am-9:25am (20m)
Defining software architecture
Martin Fowler (ThoughtWorks), Neal Ford (ThoughtWorks), Brian Foster (O'Reilly Media)
In this fireside conversation, conference cochairs Neal Ford and Brian Foster sit down with Martin Fowler, one of the great definers of the software world, to discuss the historical struggles around defining software architecture and how that definition has evolved during its usage.
9:25am-9:45am (20m)
Turning request-response on its head
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.
9:45am-9:50am (5m) Sponsored Keynote
Extending the Kubernetes API (sponsored by Google Cloud)
Jago Macleod (Google)
Jago Macleod shares recent work that allows users to extend the Kubernetes API with custom resources and controllers and leverage this pattern. Its growing popularity in Kubernetes and other projects in the space suggests you will see more of it in the future.
9:50am-10:10am (20m)
Events on the outside, on the inside, and at the core
Chris Richardson (Eventuate)
Chris Richardson explains why events are a key application integration mechanism and how they are used by applications to communicate with the outside world. You'll learn how the microservices inside an application use events to maintain data consistency and discover how to go one step further and make events an integral part of your domain logic.
10:10am-10:15am (5m)
Closing remarks
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Brian Foster and Neal Ford close the first day of keynotes.
10:15am-10:45am (30m)
Break: Morning Break
3:05pm-3:50pm (45m)
Break: Afternoon Break
5:45pm-6:45pm (1h)
Sponsor Pavilion Reception
Be sure to join us in the Sponsor Pavilion for drinks and food at the Software Architecture Sponsor Pavilion Reception. This will be your first opportunity to network with other Software Architecture attendees, so don’t miss out.
8:00am-9:00am (1h)
Break: Morning Coffee
8:15am-8:45am (30m)
Tuesday Speed Networking
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.