Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migrating a monolith to Kubernetes

Jesse Newland
November 14, 2017

Migrating a monolith to Kubernetes

Last year, a small team at GitHub set out to migrate a large portion of the application that serves GitHub.com to Kubernetes. This application fits the classic definition of a monolith: a large codebase, developed over many years, containing contributions from hunderds of engineers (many of which have moved on to other things). In this presentation, we'll cover our motivations for this migration, the factors that led us to choose Kubernetes, the strategies we used to empower a small team to make a change that affected a large engineering organization, and reflect on what we learned in the process.

Jesse Newland

November 14, 2017
Tweet

More Decks by Jesse Newland

Other Decks in Technology

Transcript

  1. Hi!

  2. Kubernetes builds upon 15 years of experience of running production

    workloads at Google, combined with best-of-breed ideas and practices from the community
  3. The only slide with bullets, I promise! • Why we

    migrated our monolith to Kubernetes • How did we approached a large cross-team project • Where we are today • What we learned in the process • Where we’re headed
  4. The engineering culture at GitHub was attempting to evolve to

    encourage individual teams to act as maintainers of their own services
  5. To support the other ongoing changes in our organization, we

    decided that we would work to level the playing field
  6. To support the decomposition of the monolith, we decided that

    we would work to provide a better experience for new services
  7. To enable SRE to spend more time on interesting services,

    we decided to work to reduce the amount of time we needed to spend on boring services
  8. To reduce the time we spent on boring services, we

    decided to work to make the service provisioning process entirely self-service
  9. To bring the infrastructure- building feedback loop down, we decided

    to base this new future on a container orchestration platform
  10. To leverage the experience of Google and the strength of

    the community, we decided to build this new approach with Kubernetes
  11. okay sorry, a few more bullets • Passion team •

    Prototype • Pick an impactful and visible target • Product vision and project plan • Pwork • Pause and regroup
  12. Validate our hypothesis that we could provide a new and

    better experience with minimal effort
  13. SRE