You are viewing content from a past/completed QCon -

Track: Architectures You've Always Wondered About

Location: Ballroom A

Day of week:

Behind every great site stands a great architecture...eventually! Find out how the construction behind some pretty sweet and well-scaled infrastructures has worked itself out with a combination of planning, expertise, dumb luck, and (the secret ingredient) the Tears of Engineers.

Track Host: Chris Slowe

CTO & Founding Engineer @Reddit; former Chief Scientist at Hipmunk; PhD in Experimental Physics

Architecting a Modern Financial Institution

Ever wonder what it would take to rewrite your local bank? With open source, microservices, functional programming (Clojure, Scala), and continuous delivery, right? That's what Nubank did in Brazil, starting with a modern credit card architecture built from scratch, and continuing on to familiar concepts in checking, savings, mobile payments, and beyond. We'd like to walk the audience through the the key elements that make Nubank tick for millions of customers every day, including transaction authorization, messaging infrastructure (Kafka), real time double entry accounting (Datomic), customer and temporal sharding, our analytical environment and the role of predictive models, and some key security decisions we made along the way. You can expect a menagerie of distributed systems, bizarre third party integrations, and humbling lessons learned that may help to explain why bigger banks tend not to attempt this sort of bleeding edge rewrite.

Edward Wible, Founder & CTO @Nubank
Rafael Ferreira, Senior Software Engineer @Nubank

The Anatomy of a Distributed System

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.

Tyler McMullen, CTO @Fastly

The Evolution of Reddit.com's Architecture

A stroll through the history of the systems that power reddit.com, looking at things that worked, things that didn't, and where we're going next.

Neil Williams, Leads Infrastructure Team @Reddit

Scaling Slack

Slack is a communication and collaboration platform for teams. Our millions of users spend 10+ hrs connected to the service on a typical working day. They expect reliability, low latency, and extraordinarily rich client experiences across a wide variety of devices and network conditions. In the talk, we'll examine the limitations that Slack's backend ran into and how we overcame them to scale from supporting small teams to serving gigantic organizations of hundreds and thousands of users. We'll hear stories about the edge cache service, real-time messaging system and how they evolved for major product efforts including Grid and Shared Channels.

Bing Wei, Software Engineer @Slack

Monitoring Modern Architectures with Data Science

Much has changed in the three or so decades since simple distributed client/server architectures and so-too have the technologies and industry practices around monitoring. Cloud-Native, DevOps, blue/green deployments, server-less, edge/fog, IoT all fit into a world much better handled by the emerging Artificial Intelligence for IT Operations domain more-so than traditional ITIL/SDLC approaches. Software continues to eat the world. Software automates, defines. The world is "going digital" and it's quite exciting -- but this always-connected from-everything to-everywhere world does add complexity to software systems and this talk will dive in to some of that complexity and how modern data science and algorithms are being applied to "fight machines with machines," so to speak.

Dave Casper, CTO @Moogsoft

Last Year's Tracks

  • Monday, 16 November

  • 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

  • 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.

  • Tuesday, 17 November

  • 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.

  • Wednesday, 18 November

  • 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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.