Engineering the Future of Software
Feb 25–26, 2018: Training
Feb 26–28, 2018: Tutorials & Conference
New York, NY
 
Grand Ballroom West
10:45am Event storage in a distributed system Stephen Pember (Toast)
1:15pm Reactivating enterprise integration Viktor Klang (Lightbend)
2:15pm Complex event flows in distributed systems Bernd Rücker (Camunda)
3:50pm API security in a microservice architecture Matthew McLarty (MuleSoft)
Mercury Ballroom
10:45am Math and measurement in the management of architecture Michelle Brush (Cerner Corporation)
3:50pm Why Netflix built an evolutionary architecture Suudhan Rangarajan (Netflix)
4:50pm Evolving a modern end-to-end data infrastructure at Comcast Michael Bevilacqua-linn (Facebook)
Sutton North
10:45am Building Evolutionary Architectures Neal Ford (ThoughtWorks)
1:15pm Building a technical coaching program James Thompson (Mavenlink)
2:15pm Designing reactive microservices with ASP.NET Core Kevin Hoffman (Capital One)
Regent
10:45am Technical debt: A master class Robert Lefkowitz (Warby Parker)
1:15pm Observable microservices Maria Gomez (BCG Digital Ventures)
2:15pm Microservices? Serverless is the answer. Karun Japhet (Sahaj Software), Vinicius Gomes (ThoughtWorks)
3:50pm
Sutton South
10:45am Incremental architecture Allen Holub (Holub Associates)
Beekman Parlor
10:45am Agile Product Roadmaps for Software Architecture James Siddle (Skyhook Consulting Ltd)
4:50pm REPEAT SESSION: Observable microservices Maria Gomez (BCG Digital Ventures)
12:15pm Lunch and Wednesday Topic Tables | Room: Americas Hall 1
Grand Ballroom
9:00am Wednesday opening remarks Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
9:05am Developing a chaos architecture mindset Adrian Cockcroft (Amazon Web Services)
9:25am Making microservices more resilient Nora Jones (Slack)
9:50am Going (cloud) native Kevin Stewart (Heptio)
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
8:00am Morning Coffee | Room: Level 3 Promenade
8:15am Wednesday Speed Networking | Room: 3rd Level Promenade
10:45am-12:15pm (1h 30m) Application architecture, Business solutions, Distributed systems, Microservices, Reactive and its variants Best Practice, Overview
Event storage in a distributed system
Stephen Pember (Toast)
Event storage offers many practical benefits to distributed systems providing complete state changes over time, but there are a number of challenges when building an event store mechanism. Stephen Pember explores some of the problems you may encounter and shares real-world patterns for working with event storage.
1:15pm-2:05pm (50m) Application architecture, Distributed systems, Integration architecture, Reactive and its variants, Scale Framework-focused, Theoretical
Reactivating enterprise integration
Viktor Klang (Lightbend)
Viktor Klang offers a new take on enterprise integration patterns that builds on top of the Reactive Streams standard, an orchestration layer where transformations are standalone, composable, and reusable and—most importantly—use asynchronous flow-control (backpressure) to maintain predictable, stable behavior over time.
2:15pm-3:05pm (50m) Distributed systems, Enterprise architecture, Microservices Best Practice
Complex event flows in distributed systems
Bernd Rücker (Camunda)
In distributed systems, some business transactions and even more end-to-end processes stretch across boundaries of individual services. While event-driven choreography leads to nicely decoupled systems, complex event chains cause headaches. Bernd Rücker explains why transforming certain events into commands is beneficial and how to avoid losing sight of larger-scale flows.
3:50pm-4:40pm (50m) Cloud native, Distributed systems, Enterprise architecture, Integration architecture, Microservices, Security Best Practice, Overview
API security in a microservice architecture
Matthew McLarty (MuleSoft)
Microservices have taken the software architecture world by storm. Initially driven by a desire for increased delivery velocity and greater scalability, organizations are now recognizing the importance and complexity of securing their microservices. Matt McLarty shares techniques for securing microservice APIs and a practical model you can implement in your organization.
4:50pm-5:40pm (50m) Application architecture, Business solutions, Cloud native, Enterprise architecture, Integration architecture, Optimization, Reactive and its variants, Scale Best Practice, Framework-focused
How Shutterstock built a component-based 12-factor application
Marty Brodbeck (Shutterstock)
In an effort to consolidate and modernize the company’s technology stack, Shutterstock recently embarked on a technology overhaul, which also led to organizational and cultural change. Marty Brodbeck shares some of the decisions Shutterstock made and the challenges it faced during this huge transformation, along with key principles that drove and guided the shift.
10:45am-12:15pm (1h 30m) Application architecture, Enterprise architecture, Leadership skills Best Practice
Math and measurement in the management of architecture
Michelle Brush (Cerner Corporation)
Our architectural decisions are both guided and judged by the things we choose to value and measure in our systems. Michelle Brush explains how to assess what aspects of the system different organizations should value and therefore constantly measure and shares approaches for measuring for accountability and improvement of those values in an architecture.
1:15pm-2:05pm (50m) Application architecture, Fundamentals, Optimization
High-performance JavaScript web app architecture
Pratik Patel (IBM)
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.
2:15pm-3:05pm (50m) Devops, Distributed systems, Microservices Anti-Pattern, Best Practice
Logs are not human scale: How to build observable systems
Sam Stokes (Honeycomb)
In the complex world of microservices and distributed systems, we need to understand what our software is doing. Traditional tools, such as logs, read by humans and filtered by crude rules, aren’t powerful enough. Sam Stokes explains that we need new, better tools and why this will also require us to design our systems to give the tools better data.
3:50pm-4:40pm (50m) Application architecture, Devops, Distributed systems, Enterprise architecture, Microservices, Scale Best Practice, Case Study
Why Netflix built an evolutionary architecture
Suudhan Rangarajan (Netflix)
As Netflix continues its journey beyond 100M members, the company is rearchitecting its critical Playback API service to better serve its business needs for the next three to five years. Suudhan Rangarajan discusses why and how Netflix rebuilt the Playback API service and outlines a rigorous framework that you can use to reason about your microservice architecture.
4:50pm-5:40pm (50m) Application architecture, Cloud native Best Practice, Case Study
Evolving a modern end-to-end data infrastructure at Comcast
Michael Bevilacqua-linn (Facebook)
Michael Bevilacqua-linn shares an architecture for a cloud-based end-to-end data infrastructure that handles everything from classic analytic use cases to real-time operational analysis to modern machine learning techniques in an elastically scaleable and secure manner.
10:45am-12:15pm (1h 30m)
Building Evolutionary Architectures
Neal Ford (ThoughtWorks)
This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.
1:15pm-2:05pm (50m) Business solutions, Leadership skills Best Practice, Overview
Building a technical coaching program
James Thompson (Mavenlink)
Traditional management approaches tend to focus on narrow measures of performance. Within engineering organizations, this can lead to incentives around the wrong practices and priorities. Coaching models refocus the management of engineers around professional growth in a way that can create a virtuous cycle. James Thompson explains how to build a technical coaching program in your organization.
2:15pm-3:05pm (50m)
Designing reactive microservices with ASP.NET Core
Kevin Hoffman (Capital One)
Kevin Hoffman explains how to deal with distributed transactions by designing around them with techniques like event sourcing, CQRS, and embracing eventual consistency and walks you through a suite of services built with ASP.NET Core to illustrate these patterns, including consuming and publishing Kafka events, using Entity Framework Core to materialize views in Postgres, and more.
3:50pm-4:40pm (50m) User experience design Hands-on, Overview
Design and interactivity without sacrificing speed
Abby Beck (Google )
Web design shouldn’t be hindered by the need for a fast, smoothly loading site. Abby Beck explains how to keep design at the forefront of any web project without sacrificing speed.
4:50pm-5:40pm (50m) Enterprise architecture, Leadership skills Best Practice, Overview
Enterprise architecting for digital disruption
Joel Crabb (Target)
The catchphrase of the year is digital disruption. It's finally clear that digital complacency is a path to nonexistence even in industries that haven’t yet felt the direct impact of the digital era. Joel Crabb explains why retail has been completely disrupted and, in the process, is reinventing enterprise architecture for digital relevancy.
10:45am-12:15pm (1h 30m) Application architecture, Enterprise architecture, Microservices, Scale, Serverless Anti-Pattern, Best Practice
Technical debt: A master class
Robert Lefkowitz (Warby Parker)
Robert Lefkowitz offers a overview of technical debt, explaining how to prevent or reduce it, when to increase it, and how to use refactoring to refinance it.
1:15pm-2:05pm (50m) Devops, Distributed systems, Enterprise architecture, Microservices Best Practice, Overview
Observable microservices
Maria Gomez (BCG Digital Ventures)
Think of this talk as Microservices 201. You know microservices basics and their pros and cons and have maybe even started putting them in production but haven't spent much time thinking about how to maintain them. Maria Gomez explores the most important operational concerns for maintaining microservices and explains why observability helps you maintain a healthy production environment.
2:15pm-3:05pm (50m) Microservices, Serverless Overview
Microservices? Serverless is the answer.
Karun Japhet (Sahaj Software), Vinicius Gomes (ThoughtWorks)
Serverless architecture is the latest implementation technique for the increasingly popular event-driven system architecture. Karun Japhet and Vinicius Gomes compare the the multiple cross-functional requirements of serverless and microservices implementations of an event-driven system.
3:50pm-4:40pm (50m)
Session
4:50pm-5:40pm (50m) Cloud native, Distributed systems, Microservices Best Practice, Framework-focused
The second-hardest part of microservices: Calling your services
Christian Posta (solo.io)
When building microservices, you must solve for a number of critical functions, but the process can be incredibly complex and expensive to maintain. Christian Posta offers an overview of Envoy Proxy and Istio.io Service Mesh, explaining how they solve application networking problems more elegantly by pushing these concerns down to the infrastructure layer and demonstrating how it all works.
10:45am-12:15pm (1h 30m)
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.
10:45am-12:15pm (1h 30m) Application architecture, Business solutions, Enterprise architecture, Fundamentals, Leadership skills Best Practice, Case Study
Agile Product Roadmaps for Software Architecture
James Siddle (Skyhook Consulting Ltd)
Software architecture can be beautiful, but business and engineering reality is often inconvenient and messy. James Siddle explains how living product roadmaps help you deal with reality without compromising your architecture vision. You’ll learn Agile roadmapping techniques and how to engage with stakeholders to move toward your architecture goals while avoiding wasteful endeavors.
1:15pm-2:05pm (50m) Sponsored
All roads lead to IT as a service: Achieving business transformation with the cloud (sponsored by IBM)
Rene Bostic (IBM Cloud)
René Bostic details how software architects of the digital economy are leveraging cloud technology to drive business transformation for success. Join in to learn how the cloud can make your business more resilient, enable new workloads, and ensure the balance between innovation and stability.
2:15pm-3:05pm (50m) Sponsored
Cloud-native deployment options: A review of container, serverless, and microservice implementations (sponsored by IBM)
Andrew Hately (IBM)
Whether you’re modernizing an application monolith or developing a new cloud-native application, it's no longer a question of whether or not to use microservices. Instead, the challenge facing many architects is deciding what technologies to use in their applications. Andrew Hately details the best combination of cloud services and tools to use to get the right results.
3:50pm-4:40pm (50m) Sponsored
Considerations and pitfalls when migrating from on-premises to the public cloud (sponsored by ThoughtWorks)
Cassandra Shum (ThoughtWorks), Rosemary Wang (HashiCorp)
Cassandra Shum and Rosemary Wang detail what you need to know when moving from an on-premises platform to the public cloud, moving beyond the technical architecture and patterns to explore the pitfalls when migrating.
4:50pm-5:40pm (50m) Devops Best Practice
REPEAT SESSION: Observable microservices
Maria Gomez (BCG Digital Ventures)
Think of this talk as Microservices 201. You know microservices basics and their pros and cons and have maybe even started putting them in production but haven't spent much time thinking about how to maintain them. Maria Gomez explores the most important operational concerns for maintaining microservices and explains why observability helps you maintain a healthy production environment.
12:15pm-1:15pm (1h)
Lunch and Wednesday 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.
9:00am-9:05am (5m)
Wednesday opening remarks
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Brian Foster and Neal Ford open the second day of keynotes.
9:05am-9:25am (20m)
Developing a chaos architecture mindset
Adrian Cockcroft (Amazon Web Services)
Chaos engineering leverages carefully designed failure injection tests and the distributed automation inherent in cloud deployments to prove that there is enough margin to absorb failures in production. Adrian Cockcroft outlines the overall architectural principles of chaos engineering and shares methods engineers can use to exercise failure modes in safety and business-critical systems.
9:25am-9:45am (20m)
Making microservices more resilient
Nora Jones (Slack)
Nora Jones demonstrates how to design microservices for enabling resiliency experiments and discusses the moving parts you need to consider from implementation through to production.
9:45am-9:50am (5m) Sponsored Keynote
Accelerate application delivery with a cloud-native mindset (sponsored by IBM)
Andrew Hately (IBM)
Data-intensive processes and AI workloads demand the performance and scalability of a cloud-native platform. Container-based methods accelerate software development, but to truly exploit CD workflows, enterprises must adopt a collaborative culture. Andrew Hately explains how a cloud-native mindset can accelerate your application delivery.
9:50am-10:10am (20m) Cloud native
Going (cloud) native
Kevin Stewart (Heptio)
Many organizations are racing to adopt cloud native to unlock all of the benefits that microservices, containers, and orchestration tools such as Kubernetes promise to deliver. Kevin Stewart explores the people, processes, and cultural aspects that complement the cloud-native computing technology stack.
10:10am-10:15am (5m)
Closing remarks
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Program chairs Brian Foster and Neal Ford close out the last day of keynotes.
10:15am-10:45am (30m)
Break: Morning Break
3:05pm-3:50pm (45m)
Break: Afternoon Break
8:00am-9:00am (1h)
Break: Morning Coffee
8:15am-8:45am (30m)
Wednesday 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.