All Software Architecture, All the Time
June 10-13, 2019
San Jose, CA
 
210 B/F
Add Architecting and deploying machine learning for private cloud to your personal schedule
9:00am Architecting and deploying machine learning for private cloud Derek Ferguson (Fitch Solutions), Laura Shornack (JPMorgan Chase)
Add How a scientist would improve serverless functions to your personal schedule
3:00pm How a scientist would improve serverless functions Gero Vermaas (Xebia), Jochem Schulenklopper (Xebia)
210 C/G
Add Event storming to your personal schedule
9:00am Event storming Allen Holub (Holub Associates)
Add Using continuous delivery with machine learning to tackle fraud to your personal schedule
11:00am Using continuous delivery with machine learning to tackle fraud Sarah LeBlanc (ThoughtWorks), Hany Elemary (ThoughtWorks)
Add Security engineering 101: When good design and security work together to your personal schedule
3:00pm Security engineering 101: When good design and security work together Wendy Knox Everette (Leviathan Security)
Add Architecting for testing and continuous delivery to your personal schedule
4:50pm Architecting for testing and continuous delivery Ken Mugrage (ThoughtWorks)
210 D/H
Add Surviving in a microservices environment to your personal schedule
9:00am Surviving in a microservices environment Stephen Pember (Toast)
Add 193 easy steps to DevOpsing your monolith to your personal schedule
11:00am 193 easy steps to DevOpsing your monolith Cat Swetel (Ticketmaster)
Add Evolving to microservices: SmartThings case study to your personal schedule
3:55pm Evolving to microservices: SmartThings case study Jeff Beck (SmartThings)
210 A/E
Add Reactive DDD: When concurrent waxes fluent to your personal schedule
9:00am Reactive DDD: When concurrent waxes fluent Vaughn Vernon (Kalele and vlingo/PLATFORM)
Add Building resilient microservices to your personal schedule
11:00am Building resilient microservices Kasun Indrasiri (WSO2)
Add Flexible cloud architectures: Decision making best practices to your personal schedule
3:00pm Flexible cloud architectures: Decision making best practices Lena Hall (Microsoft), Adron Hall (DataStax)
Add Serverless architecture for data science to your personal schedule
4:50pm Serverless architecture for data science Rustem Feyzkhanov (Instrumental)
212
Add Beyond accidental architecture to your personal schedule
9:00am Beyond accidental architecture James Thompson (Mavenlink)
Add Computational thinking to your personal schedule
11:00am Computational thinking Sarah Aslanifar (Tandem and Tested Minds)
Add Building resilient serverless systems to your personal schedule
3:00pm Building resilient serverless systems John Chapin (Symphonia)
Add Using machine learning in a reactive microservice architecture style to your personal schedule
3:55pm Using machine learning in a reactive microservice architecture style Andrew Bonham (Capital One), Thiagarajan Subramanian (Capital One)
211 C/D
Expo Hall Sessions
Add Serverless for satellite imagery processing pipelines to your personal schedule
11:00am Serverless for satellite imagery processing pipelines Alex Kudriashova (Astro Digital)
Add Testing microservices with consumer-driven contracts to your personal schedule
3:05pm Testing microservices with consumer-driven contracts Andrew Morgan (Independent)
7:30am Morning Coffee | Room: Grand Ballroom Foyer
Add Thursday Speed Networking to your personal schedule
8:15am Thursday Speed Networking | Room: Grand Ballroom 220 foyer
10:30am Morning Break | Room: Expo Hall
Add Lunch and Thursday Topic Tables to your personal schedule
11:45am Lunch and Thursday Topic Tables | Room: Expo Hall
2:20pm Afternoon Break | Room: Expo Hall
Add Thursday opening remarks to your personal schedule
Grand Ballroom 220
1:00pm Thursday opening remarks Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Add Choices of scale to your personal schedule
1:05pm Choices of scale Michael Feathers (R7K Research and Conveyance)
Add From the Trenches with Rebecca Parsons to your personal schedule
1:50pm From the Trenches with Rebecca Parsons Rebecca Parsons (ThoughtWorks), Neal Ford (ThoughtWorks)
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, Artificial Intelligence, Containers & Containers Orchestration Best Practice, Framework-focused
Architecting and deploying machine learning for private cloud
Derek Ferguson (Fitch Solutions), Laura Shornack (JPMorgan Chase)
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.
11:00am-11:45am (45m) Cloud native, Microservices Best Practice
A microservices murder mystery: Discover the root cause of an outage
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.
3:00pm-3:45pm (45m) Case Study, Serverless Best Practice, Overview
How a scientist would improve serverless functions
Gero Vermaas (Xebia), Jochem Schulenklopper (Xebia)
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.
3:55pm-4:40pm (45m) Application architecture, Integration architecture, Microservices Anti-Pattern, Best Practice
Incremental adoption of microservices with an application gateway
Christian Posta (solo.io)
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.
4:50pm-5:35pm (45m) Cloud native, Containers & Containers Orchestration, Distributed systems Best Practice, Framework-focused, Overview
Distributed tracing and monitoring with OpenTelemetry
Simon Zeltser (Google)
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.
9:00am-10:30am (1h 30m) Application architecture, Microservices, Reactive and its variants
Event storming
Allen Holub (Holub Associates)
Event storming offers a way to simultaneously collaborate with businesspeople to understand the problems that the business has to solve and develop an architecture for the solution. Join Allen Holub for an in-depth look at event storming and its underlying concepts (from DDD), as well as an extensive hands-on demo of the process.
11:00am-11:45am (45m) Application architecture, DevOps & Continuous Delivery
Using continuous delivery with machine learning to tackle fraud
Sarah LeBlanc (ThoughtWorks), Hany Elemary (ThoughtWorks)
Credit card fraudsters are always changing their behavior and developing new tactics. For banks, the damage isn’t just financial; their reputations are on the line. So how do they stay ahead of the crooks? Sarah LeBlanc and Hany Elemary explore a system that utilizes continuous delivery for machine learning to allow for rapid experimentation and the deployment of models to catch these fraudsters.
3:00pm-3:45pm (45m) Fundamentals, Security, Web Best Practice
Security engineering 101: When good design and security work together
Wendy Knox Everette (Leviathan Security)
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.
3:55pm-4:40pm (45m) Application architecture, DevOps & Continuous Delivery, Enterprise architecture Anti-Pattern, Best Practice, Overview
When two-pizza teams plan a banquet: Lightweight architecture governance
Jonny LeRoy (ThoughtWorks)
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.
4:50pm-5:35pm (45m) Application architecture, DevOps & Continuous Delivery Overview
Architecting for testing and continuous delivery
Ken Mugrage (ThoughtWorks)
Most organizations want faster, more-incremental delivery of their applications, but fragile tests and complex continuous delivery pipelines often make this difficult. What if the problem isn’t the pipeline but the architecture of the system? Ken Mugrage details the architectural choices that will help you enable stable tests and faster pipelines.
9:00am-10:30am (1h 30m) Case Study, Distributed systems, Microservices Best Practice, Overview
Surviving in a microservices environment
Stephen Pember (Toast)
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.
11:00am-11:45am (45m) Case Study, Enterprise architecture, Leadership skills Anti-Pattern, Overview, Theoretical
193 easy steps to DevOpsing your monolith
Cat Swetel (Ticketmaster)
After an expensive failed attempt at a complete rewrite, Ticketmaster is attempting to evolve the monolith that is its core ticketing platform. Cat Swetel isn't talking about best practices for DevOpsing your monolith; she tells the true story of one company’s journey toward a more flexible, adaptable, and easily maintainable architecture using tools like Wardley Maps and real options theory.
3:00pm-3:45pm (45m) Application architecture, Cloud native, Microservices Best Practice, Hands-on
Building a scalable microservice architecture with Envoy, Kubernetes, and Istio
Samir Behara (EBSCO)
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.
3:55pm-4:40pm (45m) Application architecture, Case Study, Microservices Overview
Evolving to microservices: SmartThings case study
Jeff Beck (SmartThings)
Jeff Beck has been on a five-year journey evolving the architecture at SmartThings, moving from one monolith and three supporting services to more than one hundred microservices and expanding from a US-only platform to a worldwide IoT platform. The architecture has been shaped by product and organizational needs. Join Jeff to explore the major architectural eras iterated on the platform.
4:50pm-5:35pm (45m) Cloud native, Microservices, Security Overview
Exploring a new way to manage microservices with Istio on-premises and in the cloud
Eric Brewer (Google)
Eric Brewer discusses the importance of Istio and its role in shaping the future of microservices management by offering a more secure environment, visibility for monitoring, and logs for services. Join in to explore Istio and learn how the project is optimized to work with on-premises and cloud infrastructures.
9:00am-10:30am (1h 30m) Business concerns, Microservices, Reactive and its variants Best Practice, Framework-focused, Hands-on
Reactive DDD: When concurrent waxes fluent
Vaughn Vernon (Kalele and vlingo/PLATFORM)
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.
11:00am-11:45am (45m) Enterprise architecture, Integration architecture, Microservices Best Practice, Hands-on, Theoretical
Building resilient microservices
Kasun Indrasiri (WSO2)
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.
3:00pm-3:45pm (45m) Cloud native, Data, Distributed systems Best Practice
Flexible cloud architectures: Decision making best practices
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.
3:55pm-4:40pm (45m) Case Study, DevOps & Continuous Delivery, Enterprise architecture Anti-Pattern, Best Practice, Overview
Free as in puppies: Toward a better build-versus-buy understanding
Heidi Waterhouse (LaunchDarkly)
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.
4:50pm-5:35pm (45m) Artificial Intelligence, Cloud native, Serverless Best Practice, Framework-focused, Hands-on
Serverless architecture for data science
Rustem Feyzkhanov (Instrumental)
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.
9:00am-10:30am (1h 30m) Application architecture, Business concerns, Fundamentals Best Practice
Beyond accidental architecture
James Thompson (Mavenlink)
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.
11:00am-11:45am (45m) Application architecture, Case Study, Fundamentals Best Practice
Computational thinking
Sarah Aslanifar (Tandem and Tested Minds)
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.
3:00pm-3:45pm (45m) Application architecture, Distributed systems, Serverless Best Practice
Building resilient serverless systems
John Chapin (Symphonia)
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.
3:55pm-4:40pm (45m) Application architecture Overview
Using machine learning in a reactive microservice architecture style
Andrew Bonham (Capital One), Thiagarajan Subramanian (Capital One)
Machine learning is changing the world. Andrew Bonham and Thiagarajan Subramanian demonstrate how to use a reactive microservice architecture style with machine learning and Akka to build a next-generation business process, including a live demo that implements this pattern on AWS using an H20 model for machine learning, Kafka, Akka-based microservices, and Lagom.
4:50pm-5:35pm (45m) Artificial Intelligence, Data, Security Overview
An architecture for building secure and privacy preserving ML products
LN Renganarayana (Workday)
LN Renganarayana is on a mission to provide strong privacy and security for ML products built with customer data. A key enabler of Workday's mission is an architecture guided by the principles of privacy by design and data protection by default. Interested? Come learn about the design and the trade-offs.
11:00am-11:45am (45m) Sponsored
Patterns for persistence and streaming in microservice architectures (sponsored by DataStax)
Jeff Carpenter (DataStax)
How do you effectively select and integrate infrastructure technologies for cloud-based microservice architectures, especially technologies for persisting and moving data? Jeff Carpenter walks you through the proper usage of various styles of databases, caches, and streaming solutions and effective patterns for combining these technologies, using Apache Cassandra and Apache Kafka as examples.
11:00am-11:45am (45m) Overcoming Obstacles: Lessons in Resilience Hands-on, Overview
Serverless for satellite imagery processing pipelines
Alex Kudriashova (Astro Digital)
The growing number of commercial and open source satellite imagery datasets is enabling remote sensing data for industrial applications. Alex Kudriashova walks you through designing and building an entire processing infrastructure and discusses its challenges, like infrastructure scalability, large frame size, data accessibility and latency, and cross-calibration between the data sources.
1:15pm-2:00pm (45m) Overcoming Obstacles: Lessons in Resilience
How I failed to build a runbook automation system and what I learned (Velocity)
Tim Bonci explores how we're going to automate all the things, reduce toil, make our systems smarter and recover automatically, except sometimes you're automating a house of cards built on the back of individual people and a well-meaning solution can fail to address the true problems in the system.
2:10pm-2:55pm (45m) Overcoming Obstacles: Lessons in Resilience
Chaos engineering: When the network breaks (Velocity)
Tammy Butow accelerates your understanding of how your network can break (packet loss, blackhole attacks, latency injection, and packet corruption) and impact your services.
3:05pm-3:50pm (45m) Overcoming Obstacles: Lessons in Resilience Best Practice, Framework-focused
Testing microservices with consumer-driven contracts
Andrew Morgan (Independent)
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.
7:30am-9:00am (1h 30m)
Break: Morning Coffee
8:15am-8:45am (30m)
Thursday 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 Thursday 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
1:00pm-1:05pm (5m)
Thursday opening remarks
Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Program chairs Chris Guzikowski and Neal Ford open the second day of keynotes.
1:05pm-1:25pm (20m)
Choices of scale
Michael Feathers (R7K Research and Conveyance)
Most discussion about scaling is about how to do it—but hardly ever about why it's difficult or whether it's really necessary in particular cases, let alone what the alternatives are. Join Michael Feathers to explore scaling your teams, organization, and architecture and learn the costs and benefits of various strategies in light of research about human cognition and systems cohesion.
1:30pm-1:50pm (20m)
Prioritizing technical debt as if time and money mattered
Adam Tornhill (Empear)
Adam Tornhill offers an approach that lets you prioritize the parts of your system that benefit the most from improvements so that you can balance short- and long-term goals based on data from how your code evolves. This new perspective on software development will change how you view code.
1:50pm-2:15pm (25m)
From the Trenches with Rebecca Parsons
Rebecca Parsons (ThoughtWorks), Neal Ford (ThoughtWorks)
In this new series, Neal Ford interviews highly regarded industry professions about their career path and their work as an architect. Join in for his discussion with Rebecca Parsons
2:15pm-2:20pm (5m)
Closing remarks
Christopher Guzikowski (O'Reilly), Neal Ford (ThoughtWorks)
Program chairs Chris Guzikowski and Neal Ford close the second day of keynotes.