Presentation: The Anatomy of a Distributed System

Track: Architectures You've Always Wondered About

Location: Ballroom A

Duration: 11:50am - 12:40pm

Day of week: Monday

Level: Intermediate

Persona: Architect, Technical Engineering Manager

Abstract

Much has been written and said about distributed systems of many different sizes, scales, and complexities. Most of the time though, we either talk about algorithms and theoretical ideas or entirely concrete specific systems: Abstract or Concrete. Gossip, failure detection, and leader election are discussed as if they’re a magical salve that can be rubbed onto a project to make it distributed. But the practical realities of distributed systems are far from straightforward.

In this talk, I will take a new approach, talking through the components and design of a real system, as well as the theory behind them. The system we’ll discuss is built to perform very high volumes of health checks, done across a cluster of machines for reliability and scalability. It’s complex enough that we need to worry about things like gossip, failure detection, leader election, logical clocks, and consistency tradeoffs. We’ll walk through each of the major components, see how they are practically built, and learn about the pain and compromises that each bring.

The audience will leave the talk with a better understanding of how the basic components fit together in a real-world system. With that knowledge, they will be better equipped to approach such projects themselves with confidence.

Speaker: Tyler McMullen

CTO @Fastly

Tyler McMullen is CTO at Fastly, where he’s responsible for the system architecture and leads the company’s technology vision. As part of the founding team, Tyler built the first versions of Fastly’s Instant Purging system, API, and Real-time Analytics. Before Fastly, Tyler worked on text analysis and recommendations at Scribd. A self-described technology curmudgeon, he has experience in everything from web design to kernel development, and loathes all of it. Especially distributed systems.

Find Tyler McMullen at

Similar Talks

Distinguished Engineer, Lead Architect, IBM Streams
VP Cloud Architecture Strategy @AWSCloud & Microservices Pioneer

.

Tracks

  • 21st Century Languages

    Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges, featuring use cases around Go, Rust, C#, and Elm.

  • Architectures You've Always Wondered About

    Architectural practices from the world's most well-known properties, featuring startups, massive scale, evolving architectures, and software tools used by nearly all of us.

  • Beyond Being an Individual Contributor

    Beyond being an individual contributor. Building and Evolving managers and tech leadership.

  • DevOps: You Build It, You Run It

    Pushing DevOps beyond adoption into cultural change. Hear about designing resilience, managing alerting, CI/CD lessons, & security. Features lessons from open source, Linkedin, Netflix, Financial Times, & more. 

  • Performance Mythbusting

    Real world, applied performance proofs across stacks. Hear performance consideratiosn for .NET, Python, & Java. Learn performance use cases with OpenJ9, Instagram, and Netflix. 

  • The Practice & Frontiers of AI

    Learn about machine learning in practice and on the horizon. Learn about ML at Quora, Uber's Michelangelo, ML workflow with Netflix Meson and topics on Bots, Conversational interfaces, automation, and deployment practices in the space.

  • Going Serverless

    Learn about the state of Serverless & how to successfully leverage it! Lessons learned in the track hit on security, scalability, IoT, and offer warnings to watch out for.

  • Microservices: Patterns and Practices

    Stories of success and failure building modern Microservices, including event sourcing, reactive, decomposition, & more.

  • Evolving Java

    Java continues to evolve & change. Track covers Spring 5, async, Kotlin, serverless, the 6-month cadence plans, & AI/ML use cases.

  • The Art of Chaos Engineering

    Failure is going to happen - Are you ready? Chaos engineering is an emerging discipline - What is the state of the art?

  • Security: Attacking and Defending

    Offense and defensive security evolution that application developers should know about including SGX Enclaves, effects of AI, software exploitation techniques, & crowd defense

  • Stream Processing In The Modern Age

    Compelling applications of stream processing using Flink, Beam, Spark, Strymon & recent advances in the field, including Custom Windowing, Stateful Streaming, SQL over Streams.  

Conference for Professional Software Developers