You are viewing content from a past/completed QCon

Track: Architectures You've Always Wondered About

Location: Ballroom A

Day of week: Tuesday

The big names and bigger architectures... the hugely recognizable shops, including traditionally from companies like Google, Lyft, Ocado, Expedia, Netflix, and the like. These are their practices and proofs, look for topics like next-gen architecture mixed with applied use cases found in some of today's large-scale systems. Talks in the track range cover large well-known software shops to small innovators poised to disrupt software today.

Track Host: Randy Shoup

VP Engineering and Chief Architect @eBay, Previously @StitchFix @Google & @Ebay

Randy is a 30-year veteran of Silicon Valley, and has worked as a senior technology leader and executive at companies ranging from small startups, to mid-sized places, to eBay and Google. Randy is currently VP Engineering at WeWork in San Francisco. He is particularly passionate about the nexus of culture, technology, and organization.

10:35am - 11:25am

Airbnb's Great Migration: From Monolith to Service-Oriented

Redesigning your whole engineering architecture is costly and risky, but sometimes it’s worth it! At Airbnb, our Ruby on Rails monolith reached a point where it was difficult to scale alongside our growing engineering team and products. From our ongoing migration from monolithic to service-oriented architecture (SOA), we are already seeing various benefits including improved developer productivity, build and deploy times, site reliability, and latency. 

This talk will provide an overview of trade-offs and motivation for the SOA migration. After discussing our proof of concept steps to break apart our monolith, I’ll discuss our architectural tenets around service building. The talk will then dive deep into lessons learned and best practices developed when undertaking the massive SOA challenge. 

Key Takeaways:

  • Identify tradeoffs between monolith and SOA
  • Recognize how to apply design principles for building new services
  • Understand best practices for caution, comparison, and standardization when migrating architecture
  • Learn about Airbnb’s wins so far from the SOA migration

Jessica Tai, Software Engineer @Airbnb

11:50am - 12:40pm

What We Got Wrong: Lessons From the Birth of Microservices

Google deserves a lot of credit for imagining (and popularizing) what we now call "microservice architectures." That said, hindsight is 20/20, and many of the mistakes we made at Google are being recreated by the rest of the industry today. What did we get wrong about microservices at Google, and how can we apply those lessons today?

Ben Sigelman, CEO and co-founder @LightStepHQ, Co-creator @OpenTracing API standard

1:40pm - 2:30pm

Netflix Play API - An Evolutionary Architecture

The Play API Service is responsible for orchestrating all playback workflows whenever a user watches a title on Netflix. If the Play API service is down, Netflix is down. In its seven-year journey, the service has gone through three major re-architectures: Take-1 began with a traditional monolith where the API and its associated business functions were all part of the same service. Take-2 was about decomposing the monolith into a few key microservices - but, in the process, we inadvertently built a distributed monolith with tight coupling and thick client libraries. With Take-3, our goal is to break away from a distributed monolith and to build an evolutionary microservice architecture which puts change-driven-design first above all other principles.
This talk will deep dive into how we used a set of three core foundational principles to iteratively develop our architecture. Along with providing the necessary motivation behind our goals, I will specifically talk about what patterns we observed in our previous architectures and how we arrived at a list of practices to create an Evolutionary Architecture. If you are building a new set of services or considering a major re-architecture, this talk provides you with a framework to reason about your use-cases.
This talk is intended for engineers with experience in service-based architectures
Key Takeaways:
  • Three foundational principles that can guide you in designing a microservice architecture:
    • Why focussing on “identity” lays the foundation for your architectural design
    • Why it is important to identify Type1/Type2 decisions
    • Why evolvability is crucial, specifically when it comes to “known unknowns”!
  • Concrete lessons learned around:
    • Different types of coupling and its limitations
    • How we can choose a mix of async/sync architectures to unlock evolvability
    • Ensuring we are not building a Data Monolith

Suudhan Rangarajan, Senior Software Engineer @Netflix

2:55pm - 3:45pm

Scaling Slack - The Good, the Unexpected, and the Road Ahead

Slack is a persistent communication app for teams, with high customer expectations to deliver a reliable, rich, low latency client experience. 

Over the past couple of years, we've made major changes to the core service architecture to meet these needs for larger and larger enterprise customers. This talk will present three of these changes -- decomposition of the real-time message service, client-side lazy loading via edge caching, and scaling the primary data storage tier with fine-grained horizontal sharding using Vitess.

Each of these projects has resulted in significant improvements to the reliability and performance of the Slack service, yet ran into some bumps along the way during the deployment process. Still, we're far from done with this journey, so we'll touch on some of the pain points that remain and high-level thoughts for how we plan to address them.

Mike Demmer, Principal Engineer - Infrastructure @SlackHQ

4:10pm - 5:00pm

Paying Technical Debt at Scale - Migrations at Stripe

Migrations are both essential and frustratingly frequent as your codebase ages and your business grows: most tools and processes only support about one order of magnitude of growth before becoming ineffective, so rapid growth makes them a way of life. 

Two of Stripe’s most important migrations have been typing our Ruby codebase and migrating our metrics and dashboard stack. This talk will explore why migrations are the only mechanism to effectively manage technical debt as your company and code grows, what makes running them so hard, and a repeatable approach to running them effectively: 

  1. derisking the migration by testing the approach
  2. enabling the migration with documentation, tools and self-service to make it go as quickly as possible, and 
  3. finishing the thing. 

If you're already languishing in technical debt and are afraid to even consider how you'll dig out, this talk is for you.

Will Larson, Foundation Engineering @Stripe

5:25pm - 6:15pm

Real-World Architecture Panel

Come hear a panel of experts discuss the unique challenges and opportunities in software / hardware architectures that interact with the physical world, with particular emphasis on automation, instrumentation, control flow, and machine learning. David Banyard built the new stadium for the championship Golden State Warriors, complete with sensors and drones, and now constructs the offices of the future at WeWork. Tessa Lau is a long-time roboticist, and is currently bringing automation to building construction as the CEO and cofounder of Dusty Robotics. Colin Breck builds world-leading industrial control systems for Tesla. Jeff Williams has spent the last quarter century in industrial and warehouse automation, and his current labor of love is nothing short of the complete democratization of robotics. Bring your curiosity and leave inspired.

Randy Shoup, VP Engineering and Chief Architect @eBay, Previously @StitchFix @Google & @Ebay
David Banyard, Senior Construction Technology Disrupter @WeWork
Tessa Lau, CEO and cofounder of Dusty Robotics
Jeff Williams, Robotics Systems Developer at AddRobots
Colin Breck, Sr. Staff Software Engineer @Tesla

2020 Tracks

  • Paths to Production: Deployment Pipelines as a Competitive Advantage

    Deployment pipelines allow us to push to production at ever increasing volume. Paths to production looks at how some of software's most well known shops continuous deliver code.

  • Java, The Platform

    Mobile, Micro, Modular: The platform continues to evolve and change. Discover how the platform continues to drive us forward.

  • Security for Engineers

    How to build secure, yet usable, systems from the engineer's perspective.

  • Modern Data Engineering

    The innovations necessary to build towards a fully automated decentralized data warehouse.

  • Machine Learning for the Software Engineer

    AI and machine learning are more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice by Software Engineers.

  • Inclusion & Diversity in Tech

    The road map to an inclusive and diverse tech organization. *Diversity & Inclusion defined as the inclusion of all individuals in an within tech, regardless of gender, religion, ethnicity, race, age, sexual orientation, and physical or mental fitness.

  • Architectures You've Always Wondered About

    How do they do it? In QCon's marquee Architectures track, we learn what it takes to operate at large scale from well-known names in our industry. You will take away hard-earned architectural lessons on scalability, reliability, throughput, and performance.

  • Architecting for Confidence: Building Resilient Systems

    Your system will fail. Build systems with the confidence to know when they do and you won’t.

  • Remotely Productive: Remote Teams & Software

    More and more companies are moving to remote work. How do you build, work on, and lead teams remotely?

  • Operating Microservices

    Building and operating distributed systems is hard, and microservices are no different. Learn strategies for not just building a service but operating them at scale.

  • Distributed Systems for Developers

    Computer science in practice. An applied track that fuses together the human side of computer science with the technical choices that are made along the way

  • The Future of APIs

    Web-based API continue to evolve. The track provides the what, how, and why of future APIs, including GraphQL, Backend for Frontend, gRPC, & ReST

  • Resurgence of Functional Programming

    What was once a paradigm shift in how we thought of programming languages is now main stream in nearly all modern languages. Hear how software shops are infusing concepts like pure functions and immutablity into their architectures and design choices.

  • Social Responsibility: Implications of Building Modern Software

    Software has an ever increasing impact on individuals and society. Understanding these implications helps build software that works for all users

  • Non-Technical Skills for Technical Folks

    To be an effective engineer, requires more than great coding skills. Learn the subtle arts of the tech lead, including empathy, communication, and organization.

  • Clientside: From WASM to Browser Applications

    Dive into some of the technologies that can be leveraged to ultimately deliver a more impactful interaction between the user and client.

  • Languages of Infra

    More than just Infrastructure as a Service, today we have libraries, languages, and platforms that help us define our infra. Languages of Infra explore languages and libraries being used today to build modern cloud native architectures.

  • Mechanical Sympathy: The Software/Hardware Divide

    Understanding the Hardware Makes You a Better Developer