All Software Architecture, All the Time
June 10-13, 2019
San Jose, CA
 
210 B/F
Add Choreographing microservices to your personal schedule
9:00am Choreographing microservices Allen Holub (Holub Associates)
Add New project, now what? A developer's guide to software architecture to your personal schedule
11:00am New project, now what? A developer's guide to software architecture Stefania Stefansdottir (ThoughtWorks)
Add Powering 100+ million daily users to your personal schedule
3:00pm Powering 100+ million daily users Rezaul Hoque (Microsoft)
210 C/G
Add Improving real-world system architectures to your personal schedule
9:00am Improving real-world system architectures Ray Mitchell (Fairway Technologies )
Add Evolving to cloud native to your personal schedule
11:00am Evolving to cloud native Nathaniel Schutta (Pivotal)
Add How to be (successful at being) wrong to your personal schedule
3:55pm How to be (successful at being) wrong Russ Miles (ChaosIQ)
210 D/H
Add Responsible microservices to your personal schedule
9:00am Responsible microservices Nathaniel Schutta (Pivotal)
Add 7 years of DDD: Tackling complexity in a large-scale marketing system to your personal schedule
11:00am 7 years of DDD: Tackling complexity in a large-scale marketing system Vladik Khononov (DoiT International)
210 A/E
Add Kubernetes APIs under the hood to your personal schedule
9:00am Kubernetes APIs under the hood Phillip Wittrock (Google)
Add Observing the light at the end of the legacy tunnel to your personal schedule
11:00am Observing the light at the end of the legacy tunnel Isobel Redelmeier (LightStep)
Add How to build a thriving DevOps culture to your personal schedule
3:00pm How to build a thriving DevOps culture Mandy Waite (Google)
Add On microservices, bounded contexts, and everything in between to your personal schedule
3:55pm On microservices, bounded contexts, and everything in between Vladik Khononov (DoiT International)
Add Metrics for software architects to your personal schedule
4:50pm Metrics for software architects Alexander von Zitzewitz (hello2morrow)
212
Add Lessons in debugging serverless architecture to your personal schedule
9:00am Lessons in debugging serverless architecture Chen Harel ♨ (OverOps)
Add An architect's guiding principles for leadership to your personal schedule
11:00am An architect's guiding principles for leadership Seth Dobbs (Bounteous)
Add Architecture as code: Objective measures of value in a changing world to your personal schedule
3:00pm Architecture as code: Objective measures of value in a changing world Paula Paul (Slalom Build), Cassandra Shum (ThoughtWorks)
4:50pm
211 C/D
Expo Hall Sessions
Add Service mesh: A new pattern, not a new technology to your personal schedule
11:00am Service mesh: A new pattern, not a new technology Marco Palladino (Kong)
7:30am Morning Coffee | Room: Grand Ballroom Foyer
Add Wednesday Speed Networking to your personal schedule
8:15am Wednesday Speed Networking | Room: Grand Ballroom 220 foyer
10:30am Morning Break | Room: Expo Hall
Add Lunch and Wednesday Topic Tables to your personal schedule
11:45am Lunch Lunch and Wednesday Topic Tables | Room: Expo Hall
2:20pm Afternoon Break | Room: Expo Hall
Add Expo Hall Reception to your personal schedule
5:35pm Expo Hall Reception | Room: Expo Hall
Add Wednesday opening remarks to your personal schedule
Grand Ballroom 220
1:00pm Wednesday opening remarks Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Add Security and deception: Lessons from a professional liar to your personal schedule
1:05pm Security and deception: Lessons from a professional liar Michael Carducci (Mago:Tech)
Add Cultivate your personal design heuristics to your personal schedule
1:30pm Cultivate your personal design heuristics Rebecca Wirfs-Brock (Wirfs-Brock Associates)
Add Architect as storyteller to your personal schedule
1:55pm Architect as storyteller Nathaniel Schutta (Pivotal)
Add Next Architecture to your personal schedule
2:05pm Next Architecture Christopher Guzikowski (O'Reilly)
Add Closing remarks to your personal schedule
2:15pm Closing remarks Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
9:00am-10:30am (1h 30m) Application architecture, Microservices, Reactive and its variants Best Practice
Choreographing microservices
Allen Holub (Holub Associates)
Allen Holub covers the ins and outs of choreographed microservice systems in depth, looking at everything from architecture and implementation details to design techniques.
11:00am-11:45am (45m) Application architecture, DevOps & Continuous Delivery, Leadership skills Best Practice
New project, now what? A developer's guide to software architecture
Stefania Stefansdottir (ThoughtWorks)
When developers start as tech leads or architects, they're often confused about how and where to start. Stefania Stefansdottir walks you through tasks and examples of how to get a team up and running with a new project in an existing ecosystem as well as pitfalls and gotchas to keep in mind.
3:00pm-3:45pm (45m) Application architecture, Enterprise architecture, Scale Best Practice, Overview
Powering 100+ million daily users
Rezaul Hoque (Microsoft)
Rezaul Hoque outlines the architecture behind the services powering people's experiences in Office 365 (Outlook, SharePoint, and OneDrive).
3:55pm-4:40pm (45m) Application architecture, Distributed systems, Serverless Best Practice
Serverless architecture patterns: The awkward early years
Mike Roberts (Symphonia)
Patterns are an excellent way of building knowledge of an architectural style. As serverless starts to mature, we're starting to see patterns emerge. Mike Roberts introduces you to some of them and helps you look for patterns in your own organizations.
4:50pm-5:35pm (45m) DevOps & Continuous Delivery, Enterprise architecture, Leadership skills Overview, Theoretical
Idealized architecture: Increasing optionality by designing for right now
Cat Swetel (Ticketmaster)
How can architects collect and make sense of stories from the tactical frontlines to inform long-term technology strategy and vision? Cat Swetel reviews published time span research and works through what the shorter time spans of Agile and CI/CD may mean for software architecture and sociotechnical systems overall.
9:00am-10:30am (1h 30m) Application architecture, Business concerns, Enterprise architecture Best Practice, Overview
Improving real-world system architectures
Ray Mitchell (Fairway Technologies )
Ray Mitchell provides valuable insight on how to move an existing system to an improved architecture while keeping the system up and running during the process.
11:00am-11:45am (45m) Application architecture, Cloud native, Microservices Best Practice, Overview
Evolving to cloud native
Nathaniel Schutta (Pivotal)
Every organization has at least a phalanx or two in the cloud. This is, understandably, changing the way we architect our systems. But your application portfolio is full of heritage systems that hail from the time before everything was as a service. Not all of those applications will make it to the valley beyond, so join Nathaniel Schutta for tips on grappling with your legacy portfolio.
3:00pm-3:45pm (45m) Business concerns, Fundamentals, Leadership skills Best Practice, Overview
Don't make them guess: How to improve your architectural visualizations
Jochem Schulenklopper (Xebia)
Communicating (about) architecture to non-IT/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 actionable information/advice. Jochem Schulenklopper shows theory, examples, and useful tips on eight different facets of visual communication of architecture.
3:55pm-4:40pm (45m) Application architecture, Chaos engineering, DevOps & Continuous Delivery Best Practice, Hands-on, Overview
How to be (successful at being) wrong
Russ Miles (ChaosIQ)
Being wrong is often seen as the worst thing that can happen, especially when you build business-critical applications and services. Never before has software owners had such an opportunity, or the power, to be wrong. Russ Miles turns being wrong into a superpower for you and your organization.
4:50pm-5:35pm (45m) Cloud native, Distributed systems, Scale Best Practice
Rearchitecting for cloud native; Or, All we changed was everything
J.R. Jasperson (Twilio SendGrid)
Twilio SendGrid delivers more than 50 billion emails per month from some of the most recognizable brands on the internet. Three years ago, SendGrid began a journey to fully rearchitect its systems to cloud native, as a precursor to public cloud migration. Join J.R. Jasperson to explore the drivers, trade-offs, and technical decisions that enabled SendGrid’s transition to the cloud.
9:00am-10:30am (1h 30m) Application architecture, Cloud native, Microservices Anti-Pattern, Best Practice
Responsible microservices
Nathaniel Schutta (Pivotal)
There are many good reasons to use a microservices architecture, but there are no free lunches. The advantages of microservices come with added complexity. Teams should happily take on that complexity…provided the application in question benefits from the upside of microservices. Nathaniel Schutta cuts through the hype to help you make the right choice for your unique situation.
11:00am-11:45am (45m) Case Study, Enterprise architecture, Microservices Best Practice, Overview
7 years of DDD: Tackling complexity in a large-scale marketing system
Vladik Khononov (DoiT International)
Vladik Khononov shares an experience report of using the domain-driven design (DDD) methodology at a greenfield company from the first day the company was founded all the way to acquisition by one of his clients.
3:00pm-3:45pm (45m) Enterprise architecture, Microservices Best Practice, Overview, Theoretical
Icebergs, bathtubs, and flows: Applying systems thinking to software architecture
Matthew McLarty (MuleSoft)
Software systems have a dynamic nature that requires a design approach different from the architecture of physical structures. Systems thinking examines the structure and behavior of complex systems. Matt McLarty provides an introduction to systems thinking and explores how it can be applied to software architecture, particularly in the context of distributed systems and microservices.
3:55pm-4:40pm (45m) Business concerns, Enterprise architecture, Scale Framework-focused
Project to product: Why Agile and DevOps transformations are failing at scale
Mik Kersten (Tasktop)
Enterprise organizations are attempting to use managerial mechanisms from previous ages to direct software delivery in this one. The problem is that the principles of modern software-delivery approaches are not translating to the business. Mik Kersten presents the Flow Framework—a new approach to software delivery bridging the gap between business strategy and technology delivery.
4:50pm-5:35pm (45m) Application architecture, Fundamentals, Leadership skills Anti-Pattern, Theoretical
Brains considered harmful: How cognitive biases undermine your software architecture
Ian Varley (Salesforce)
While most of us think our software designs are based in rational, logical thought, the truth is much scarier. Ian Varley covers the emerging field of cognitive biases—bugs in our mental operating system—and takes a cold, hard look at how these mental blind spots defeat our attempts to build systems that serve our users and stand the test of time.
9:00am-10:30am (1h 30m) Cloud native, Containers & Containers Orchestration, Microservices Framework-focused, Hands-on, Overview
Kubernetes APIs under the hood
Phillip Wittrock (Google)
Join Philip Wittrock to learn the fundamentals behind Kubernetes API creation and build your own Kubernetes extension API. You'll cover the fundamentals of defining APIs as resources (e.g., versioning semantics) and implementing APIs as controllers. During the second half, you'll apply the conceptual material as we build our own Kubernetes API for MongoDB from scratch.
11:00am-11:45am (45m) Application architecture, Enterprise architecture, Fundamentals Best Practice
Observing the light at the end of the legacy tunnel
Isobel Redelmeier (LightStep)
Modern observability tools offer so much to help keep fresh code, well, fresh. That's great news for greenfield code, but most code sooner or later succumbs to the woes of time and team churn. How do you apply observability to code that hasn't been instrumented since day one? Isobel Redelmeier explains how to use observability to refactor old code.
3:00pm-3:45pm (45m) DevOps & Continuous Delivery, Leadership skills Best Practice, Overview
How to build a thriving DevOps culture
Mandy Waite (Google)
Mandy Waite shares how she and her team at Google Cloud are working to make developers happier and more productive and details how her team uses their internal research and expands upon it to collaborate with Google Cloud partners and open source projects. Join in to get tips on how to cultivate a DevOps culture inside your company.
3:55pm-4:40pm (45m) Distributed systems, Fundamentals, Microservices Best Practice, Overview, Theoretical
On microservices, bounded contexts, and everything in between
Vladik Khononov (DoiT International)
Often microservices and bounded contexts are considered to be the same thing. They are not. Vladik Khononov identifies the difference between microservices and bounded contexts, provides heuristics when each pattern should be used, and shares his experience optimizing microservices-quotebased architectures at Naxex.
4:50pm-5:35pm (45m) Application architecture, Fundamentals Best Practice
Metrics for software architects
Alexander von Zitzewitz (hello2morrow)
Software metrics can be used effectively to judge the maintainability and architectural quality of a code base. Even more importantly, they can be used as canaries in a coal mine to warn early about dangerous accumulations of architectural and technical debt. Alexander von Zitzewitz outlines key metrics that every architect should know and shares a new metric to measure software maintainability.
9:00am-10:30am (1h 30m) Application architecture, DevOps & Continuous Delivery, Serverless Best Practice, Framework-focused, Hands-on, Language-focused
Lessons in debugging serverless architecture
Chen Harel ♨ (OverOps)
Serverless architecture opens up a world of opportunity for development, providing ease of use while deploying and operating at scale. But this can decrease visibility, making it difficult to see when your environment is misbehaving in terms of throughput, functionality, and performance. Tal Weiss introduces a successful new framework for debugging serverless architecture with real-world examples.
11:00am-11:45am (45m) Leadership skills Best Practice
An architect's guiding principles for leadership
Seth Dobbs (Bounteous)
Architects provide guiding principles as part of their architecture to enable decision making for unforeseen details but seldom develop guiding principles as leaders and for interacting with people. Seth Dobbs shares a core set of principles that enable effective interactions with your team and your stakeholders.
3:00pm-3:45pm (45m) Business concerns, Enterprise architecture, Fundamentals Best Practice, Framework-focused, Overview
Architecture as code: Objective measures of value in a changing world
Paula Paul (Slalom Build), Cassandra Shum (ThoughtWorks)
Architecture standards change in months, not years, bringing new capabilities, but taking advantage of them requires constant monitoring and tight feedback loops. We’ve embraced continuous delivery, but how do we enable continuous evolution? Paula Paul and Cassandra Shum explore architecture as code as a means to enable continuous evolution.
3:55pm-4:40pm (45m) Application architecture, Business concerns, DevOps & Continuous Delivery Anti-Pattern, Best Practice, Theoretical
Sociotechnical domain-driven design: Aligning teams and software for continuous delivery
Nick Tune (Empathy Software)
A loosely coupled software architecture and an organizational structure to match is one of the biggest predictors of continuous delivery performance. Nick Tune explains why technical leaders must adopt a sociotechnical mindset to minimize dependencies and maximize team autonomy, optimizing end-to-end value creation and delivery speed.
4:50pm-5:35pm (45m)
Session
11:00am-11:45am (45m) Sponsored
An emerging architecture pattern for Agile integration: Cell-based architecture (sponsored by WSO2)
Asanka Abeysinghe (WSO2)
The number of microservices running in enterprises increases daily, and service composition, governance, security, and observability are becoming a challenge to implement and incorporate. Asanka Abeysinghe discusses how a cell-based architecture can be applied to current or desired development and technologies to address these issues.
3:00pm-3:45pm (45m)
Shifting left: From wishes to workflows (sponsored by GitLab)
Priyanka Sharma (GitLab)
With the explosion of microservices and Kubernetes, enterprises have recognized the importance of empowering developers to productionize their software. However, most companies still have separate ops/DevOps teams and software teams. Priyanka Sharma investigates why this is the case and explains how tooling and workflows make or break shift left.
11:00am-11:45am (45m) Application architecture, Cloud native, Microservices, Overcoming Obstacles: Lessons in Resilience Language-focused, Overview, Theoretical
Service mesh: A new pattern, not a new technology
Marco Palladino (Kong)
Service mesh discussions are dominated by vendors trying to frame mesh as a new technology. However, just as microservices are a pattern, not a specific technology, service mesh is a new way to deploy features that API management once comprised. Marco Palladino explores the service mesh pattern, notes the reasons for its emergence, and outlines the technical requirements.
1:25pm-2:10pm (45m) Overcoming Obstacles: Lessons in Resilience
How did things go right: Learning more from incidents (Velocity)
Join Ryan Kitchens in an introduction to Safety-II concepts that will help move the industry forward, increasing the opportunity for learning from success with some fundamental and practical ways that get us from "Why did things go wrong?" to "How did things go right?"
2:20pm-3:05pm (45m) Overcoming Obstacles: Lessons in Resilience
Use of self-healing techniques and failure injections to build a reliable service at Adobe (Velocity)
Nicolas Brousse and Oleksii Mykhailov found a distributed infrastructure that leverages public cloud providers and a private cloud with open infrastructure can deliver dynamic advertising content with low latency, preserving its high availability in an award-winning paper. Join them as they present their techniques and demonstrate how to design an ad-serving service that is resilient to failure.
3:50pm-4:35pm (45m)
Two hearts, one mind: Delivering the same platform to SaaS and on-premises (Velocity)
NS1 first developed and operated a SaaS DNS platform, then shifted to releasing versioned software for on-prem use of its DNS products. Renee Orser details the many lessons, including the relationship between system architecture and organizational design, that surfaced while the team managed the challenges brought by diversification of a single platform across a suite of deployment models.
4:50pm-5:35pm (45m) Overcoming Obstacles: Lessons in Resilience Anti-Pattern, Best Practice, Hands-on
In search of domain-driven design in the world of microservices
Anuar Nurmakanov (EPAM)
Anuar Nurmakanov shares his team’s journey with DDD from the very beginning of a project and outlines the many problems they faced. He then details some anti-patterns to be afraid of and how to deal with them, DDD best practices, and how DDD and microservices ideas can leave together.
7:30am-9:00am (1h 30m)
Break: Morning Coffee
8:15am-8:45am (30m)
Wednesday Speed Networking
Jumpstart your networking at Software Architecture by coming to Speed Networking. Bring your business cards and prepare a minute of chitchat about yourself, your projects, and your interests.
10:30am-11:00am (30m)
Break: Morning Break
11:45am-1:00pm (1h 15m)
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 problems. If you aren’t sure which topic to pick, don’t worry—it's not a long-term commitment. Try two or three, and settle on a different one tomorrow.
2:20pm-3:00pm (40m)
Break: Afternoon Break
5:35pm-6:35pm (1h)
Expo Hall Reception
Join us in the Expo Hall for drinks and food at the Expo Hall Reception.
1:00pm-1:05pm (5m)
Wednesday opening remarks
Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Program chairs Chris Guzikowski and Neal Ford open the first day of keynotes.
1:05pm-1:30pm (25m)
Security and deception: Lessons from a professional liar
Michael Carducci (Mago:Tech)
If it seems like humans are easy to deceive, it's because we are. The myriad traits that make humankind so eminently exploitable are practically baked into our DNA. Too often these same traits make it into the software we build. Michael Carducci takes an entertaining look at why humans are so easy to fool and explores what we can do to overcome our weaknesses and build more secure software.
1:30pm-1:55pm (25m)
Cultivate your personal design heuristics
Rebecca Wirfs-Brock (Wirfs-Brock Associates)
Cultivating and refining personal design heuristics is one way we become better software designers. Whether you're aware of it or not, you use heuristics you acquired through reading, practice, and experience. Rebecca Wirfs-Brock explores how you can grow as a designer by becoming conscious of your heuristics.
1:55pm-2:05pm (10m)
Architect as storyteller
Nathaniel Schutta (Pivotal)
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.
2:05pm-2:15pm (10m)
Next Architecture
Christopher Guzikowski (O'Reilly)
The nature of software architecture is changing. O'Reilly's research into anonymized behavior on our online learning platform bears this out. Software Architecture Conference co-chair Chris Guzikowski presents the relevant findings from our research, introduces the concepts behind Next Architecture, and invites the community to join in an ongoing dialog toward learning and improvement.
2:15pm-2:20pm (5m)
Closing remarks
Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Program chairs Chris Guzikowski and Neal Ford close the first day of keynotes.
7:00pm-9:00pm (2h)
Night at The Tech (cosponsored by NS1 and O'Reilly)
Join us at The Tech to enjoy the best of local food, drink, and entertainment and have a chance to win amazing prizes. Attendees of both Software Architecture and Velocity are invited, so you'll have the opportunity to network with everyone.