All Software Architecture, All the Time
June 10-13, 2019
San Jose, CA

Schedule: Best Practice sessions

Add to your personal schedule
9:00am–12:30pm Tuesday, June 11, 2019
Erik Wilde (Good API), Mike Amundsen (Amundsen.com, Inc.)
Average rating: ****.
(4.25, 12 ratings)
APIs are a necessary ingredient of digital transformation strategies. APIs are developed and evolved in ecosystems of existing APIs and existing guidelines and supporting tools. Erik Wilde and Mike Amundsen provide an analysis and assessment of the state of the API landscape, helping you decide how to allocate resources and make strategic investments for improving your API program. Read more.
Add to your personal schedule
9:00am–12:30pm Tuesday, June 11, 2019
Leadership skills
Location: 210 C/G
Seth Dobbs (Bounteous)
Average rating: ****.
(4.81, 26 ratings)
Communication is not an optional soft skill for architects—it's essential to our success. We can have the most brilliant ideas, but if we're ineffective in communicating their value or if we can't obtain buy-in from our stakeholders, we won't be successful. Seth Dobbs shares a process for effectively shaping and communicating your solutions to different stakeholders. Read more.
Add to your personal schedule
9:00am–12:30pm Tuesday, June 11, 2019
Edwin Maldonado (Contentful)
Average rating: ***..
(3.17, 6 ratings)
Software engineers usually find themselves changing hard-coded content on the presentation layer, changing a paragraph here and there; that’s difficult to maintain and hard to scale. Now imagine you have to support and apply the same changes on the website and other devices. Edwin Maldonado provides the tools you need to design a reusable information architecture. Read more.
Add to your personal schedule
9:00am–12:30pm Tuesday, June 11, 2019
John Chapin (Symphonia)
Average rating: *****
(5.00, 5 ratings)
With systems like Travis CI, Circle CI, and CodeBuild, we're never more than a few lines of YAML away from a complete continuous delivery pipeline. However, ephemeral build systems constantly recreate the world from scratch, increasing build time and lengthening the CD feedback loop. John Chapin addresses those challenges and shares a reference pipeline using AWS CodePipeline and CodeBuild. Read more.
Add to your personal schedule
9:00am–12:30pm Tuesday, June 11, 2019
Valentina Rodriguez (Independent)
Average rating: ***..
(3.16, 19 ratings)
Valentina Rodriquez shares a manifest describing a set of principles to design high-quality architectures. If you're planning to change your career or just want to improve your architect skills, join in. Read more.
Add to your personal schedule
1:30pm–5:00pm Tuesday, June 11, 2019
Matthew McLarty (MuleSoft)
Average rating: *****
(5.00, 6 ratings)
Matt McLarty introduces microservice-based enterprise transformation architecture (META), a holistic approach organizations can use to ensure their microservices migration delivers its intended benefits, including hands-on exercises using the Microservice Design Canvas and other artifacts. META addresses the technological, operational, methodological, and cultural aspects of the migration effort. Read more.
Add to your personal schedule
9:00am–10:30am Wednesday, June 12, 2019
Tags: wl
Nathaniel Schutta (Pivotal)
Average rating: ****.
(4.42, 24 ratings)
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. Read more.
Add to your personal schedule
9:00am–10:30am Wednesday, June 12, 2019
Chen Harel ♨ (OverOps)
Average rating: **...
(2.67, 6 ratings)
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. Read more.
Add to your personal schedule
9:00am–10:30am Wednesday, June 12, 2019
Allen Holub (Holub Associates)
Average rating: ****.
(4.50, 22 ratings)
Allen Holub covers the ins and outs of choreographed microservice systems in depth, looking at everything from architecture and implementation details to design techniques. Read more.
Add to your personal schedule
9:00am–10:30am Wednesday, June 12, 2019
Ray Mitchell (Fairway Technologies )
Average rating: ****.
(4.25, 12 ratings)
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. Read more.
Add to your personal schedule
11:00am–11:45am Wednesday, June 12, 2019
Vladik Khononov (Naxex)
Average rating: ***..
(3.50, 4 ratings)
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. Read more.
Add to your personal schedule
11:00am–11:45am Wednesday, June 12, 2019
Nathaniel Schutta (Pivotal)
Average rating: ***..
(3.20, 5 ratings)
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. Read more.
Add to your personal schedule
11:00am–11:45am Wednesday, June 12, 2019
Stefania Stefansdottir (ThoughtWorks)
Average rating: ***..
(3.22, 9 ratings)
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. Read more.
Add to your personal schedule
11:00am–11:45am Wednesday, June 12, 2019
Leadership skills
Location: 212
Seth Dobbs (Bounteous)
Average rating: ****.
(4.73, 15 ratings)
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. Read more.
Add to your personal schedule
11:00am–11:45am Wednesday, June 12, 2019
Isobel Redelmeier (LightStep)
Average rating: ***..
(3.25, 4 ratings)
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. Read more.
Add to your personal schedule
3:00pm–3:45pm Wednesday, June 12, 2019
Rezaul Hoque (Microsoft)
Average rating: ****.
(4.17, 6 ratings)
Rezaul Hoque outlines the architecture behind the services powering people's experiences in Office 365 (Outlook, SharePoint, and OneDrive). Read more.
Add to your personal schedule
3:00pm–3:45pm Wednesday, June 12, 2019
Average rating: ****.
(4.00, 10 ratings)
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. Read more.
Add to your personal schedule
3:00pm–3:45pm Wednesday, June 12, 2019
Matthew McLarty (MuleSoft)
Average rating: ***..
(3.86, 14 ratings)
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. Read more.
Add to your personal schedule
3:00pm–3:45pm Wednesday, June 12, 2019
Paula Paul (ThoughtWorks), Cassandra Shum (ThoughtWorks)
Average rating: ***..
(3.83, 18 ratings)
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. Read more.
Add to your personal schedule
3:00pm–3:45pm Wednesday, June 12, 2019
Mandy Waite (Google)
Average rating: ***..
(3.60, 5 ratings)
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. Read more.
Add to your personal schedule
3:55pm–4:40pm Wednesday, June 12, 2019
Vladik Khononov (Naxex)
Average rating: ****.
(4.56, 9 ratings)
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. Read more.
Add to your personal schedule
3:55pm–4:40pm Wednesday, June 12, 2019
Russ Miles (ChaosIQ)
Average rating: *....
(1.00, 3 ratings)
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. Read more.
Add to your personal schedule
3:55pm–4:40pm Wednesday, June 12, 2019
Nick Tune (Empathy Software)
Average rating: ****.
(4.80, 5 ratings)
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. Read more.
Add to your personal schedule
3:55pm–4:40pm Wednesday, June 12, 2019
Mike Roberts (Symphonia)
Average rating: ****.
(4.30, 10 ratings)
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. Read more.
Add to your personal schedule
4:50pm–5:35pm Wednesday, June 12, 2019
Alexander von Zitzewitz (hello2morrow)
Average rating: ***..
(3.17, 6 ratings)
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. Read more.
Add to your personal schedule
4:50pm–5:35pm Wednesday, June 12, 2019
Overcoming Obstacles: Lessons in Resilience
Location: Expo Hall Sessions
Average rating: ****.
(4.00, 2 ratings)
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. Read more.
Add to your personal schedule
4:50pm–5:35pm Wednesday, June 12, 2019
Cloud native, Distributed systems, Scale
Location: 210 C/G
J.R. Jasperson (Twilio SendGrid)
Average rating: ***..
(3.43, 7 ratings)
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. Read more.
Add to your personal schedule
9:00am–10:30am Thursday, June 13, 2019
Vaughn Vernon (Kalele and vlingo)
Average rating: ***..
(3.00, 4 ratings)
Reactive software development is becoming essential to implementing responsive, resilient, elastic, and message-driven solutions. Vaughn Vernon shows you how, by aligning scale and throughput with business-driven model fluency of your core initiatives, you can achieve critical differentiating competitive advantage. Read more.
Add to your personal schedule
9:00am–10:30am Thursday, June 13, 2019
James Thompson (Mavenlink)
Average rating: ****.
(4.15, 20 ratings)
Every software system has an architecture. Many are little more than the result of circumstances, rather than deliberate decisions. Helping teams think about software architecture is a key to helping them grow well. James Thompson demonstrates how to assess approaches and make decisions based on what matters to your team and your projects. Read more.
Add to your personal schedule
9:00am–10:30am Thursday, June 13, 2019
Stephen Pember (Toast)
Average rating: ****.
(4.00, 14 ratings)
Many presentations on microservices offer a high-level view of the architecture; rarely do you hear what it’s like to work in such an environment. Stephen Pember shares his experience migrating from a monolith to microservices across several companies, highlighting the mistakes made along the way and offering advice. Read more.
Add to your personal schedule
9:00am–10:30am Thursday, June 13, 2019
Derek Ferguson (JPMorgan Chase), Laura Schornack (JPMorgan Chase)
Average rating: ****.
(4.33, 3 ratings)
Private clouds present many unique challenges to architects and software engineering wishing to build and deploy machine learning solutions. Derek Ferguson and Laura Schornack walk you through a real-world example that addresses these challenges using Kubernetes, TensorFlow, and KubeFlow. Read more.
Add to your personal schedule
11:00am–11:45am Thursday, June 13, 2019
Sarah Aslanifar (Tandem and Tested Minds)
Average rating: ****.
(4.00, 5 ratings)
We have a choice in designing our careers: follow the path of a technologist, exploiting a tech, or become a computational thinker who can address a much broader set of problems. Sarah Aslanifar compares the human mind to a computer, discusses ways to build intuition for your code, and teaches you some techniques to learn more efficiently and retrieve information more quickly. Read more.
Add to your personal schedule
11:00am–11:45am Thursday, June 13, 2019
Average rating: **...
(2.83, 6 ratings)
The resiliency of microservices-based applications heavily depends on how well they handle interservice communication over an unreliable network. Kasun Indrasiri provides an in-depth overview of common microservice resiliency patterns such as timeout, retry, circuit breaker, fail-fast, bulkhead, transactions, and failover/load balancing, and the role service meshes play in realizing them. Read more.
Add to your personal schedule
11:00am–11:45am Thursday, June 13, 2019
Cloud native, Microservices
Location: 210 B/F
Thomas Rampelberg (Buoyant)
When you’re operating multiple services, outages can feel like murder mysteries. Forensics tools such as monitoring and observability are essential, but it's a challenge balancing priorities between new features and tools to pinpoint root causes. Thomas Rampelberg discusses how Linkerd 2.0 provides many of the tools you need to tame the chaos of operating microservices in a cloud native world. Read more.
Add to your personal schedule
3:00pm–3:45pm Thursday, June 13, 2019
Case Study, Serverless
Location: 210 B/F
Average rating: **...
(2.00, 1 rating)
How can you reliably improve and refactor serverless applications? How do you ensure you have covered all the unexpected edge cases that occur in production? Gero Vermaas and Jochem Schulenklopper explain and demonstrate a scientific approach (promoted by GitHub in its Scientist library) that enables you to release refactored serverless applications to production with great confidence. Read more.
Add to your personal schedule
3:00pm–3:45pm Thursday, June 13, 2019
Fundamentals, Security, Web
Location: 210 C/G
Wendy Knox Everette (Leviathan Security)
Average rating: ****.
(4.64, 11 ratings)
Is security always a bolt-on in your software process? Is your secure development lifecycle "build, then duct-tape on some security"? Wendy Knox Everette explains why good design principles go hand in hand with a strong security stance and highlights the importance of designing in security from the very start of your development process. Read more.
Add to your personal schedule
3:00pm–3:45pm Thursday, June 13, 2019
Cloud native, Data, Distributed systems
Location: 210 A/E
Lena Hall (Microsoft), Adron Hall (DataStax)
The ecosystem in which we are building our solutions is rapidly growing, and it's challenging to make the right decisions and keep track of the expanding options. Lena Hall and Adron Hall share solution architecture best practices for distributed cloud native systems. Find answers to hard questions to help design failure-proof, manageable, flexible, ready to adjust to future changes systems. Read more.
Add to your personal schedule
3:00pm–3:45pm Thursday, June 13, 2019
John Chapin (Symphonia)
Average rating: ****.
(4.50, 2 ratings)
John Chapin explains how—in this brave new world of managed services and platforms—you can use serverless technologies and an infrastructure-as-code mind-set to architect, build, and operate resilient systems that survive even massive vendor outages. Read more.
Add to your personal schedule
3:00pm–3:45pm Thursday, June 13, 2019
Samir Behara (EBSCO)
Average rating: ****.
(4.73, 11 ratings)
Containers have become the new standard to build cloud native microservice-based applications, and organizations are leveraging service meshes to solve common issues like service discovery, traffic management, circuit breaking, telemetry, fault injection, and more. Join Samir Behara to go beyond the buzz and understand microservices and service mesh technologies. Read more.
Add to your personal schedule
3:05pm–3:50pm Thursday, June 13, 2019
Overcoming Obstacles: Lessons in Resilience
Location: Expo Hall Sessions
Andrew Morgan (Independent)
Average rating: *****
(5.00, 2 ratings)
Testing microservices can be hard as they’re often coupled together through APIs or messaging. This can lead to too much reliance on slow end-to-end testing or unreliable unit tests caused by inaccurate stubs of other microservices. Andrew Morgan offers an overview of the consumer-driven contract testing technique, a TDD approach at the API level that aims to mitigate these problems. Read more.
Add to your personal schedule
3:55pm–4:40pm Thursday, June 13, 2019
Jonny LeRoy (ThoughtWorks)
Average rating: ****.
(4.29, 7 ratings)
There are two common architectural failure modes: hierarchical command and control from ivory-tower architects with strict approvals and rigorous control gates, and chaos with every team doing what they want with little governance. Jonny LeRoy explores the Goldilocks zone that ensures that teams handle organizational risks and opportunities while giving themselves as much autonomy as possible. Read more.
Add to your personal schedule
3:55pm–4:40pm Thursday, June 13, 2019
Christian Posta (solo.io)
Average rating: ***..
(3.83, 6 ratings)
An application gateway is a piece of infrastructure that helps existing software systems incrementally adopt new technologies like microservices and serverless. It's not as single purposed as an API gateway and not as complicated as a full-service mesh and provides immediate value. Christian Posta explores this emerging pattern. Read more.
Add to your personal schedule
3:55pm–4:40pm Thursday, June 13, 2019
Heidi Waterhouse (LaunchDarkly)
Average rating: ***..
(3.00, 1 rating)
A free puppy is great but also takes a lot of time, energy, and money. Likewise, when we make a build-versus-buy calculation, it's easy to miss several important parts of the calculation, including maintenance, updating, security, availability, and finding operators. None of those are easy to articulate or value for either side. Join Heidi Waterhouse to learn why business value is more than money. Read more.
Add to your personal schedule
4:50pm–5:35pm Thursday, June 13, 2019
Simon Zeltser (Google)
Average rating: ***..
(3.00, 1 rating)
OpenCensus is a new standard for tracing and metrics of cloud services, used for observability into applications that span multiple clouds and technological stacks. Simon Zeltser explains how to use vendor-agnostic client libraries for OpenCensus to export telemetry to common distributed tracing systems and covers core concepts like tags, metrics, exporters, zPages, and context propagation. Read more.
Add to your personal schedule
4:50pm–5:35pm Thursday, June 13, 2019
Rustem Feyzkhanov (Instrumental)
Average rating: ***..
(3.67, 3 ratings)
One of the main issues with deploying deep learning solutions is finding the right way to operationalize models within the company. The serverless approach for deep learning provides cheap, simple, scalable, and reliable architecture. Rustem Feyzkhanov shows you how to deploy the TensorFlow model for image captioning on AWS infrastructure. Read more.