Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

System Reliability That Plants Trees


Published on is the search engine that uses its ad revenue to plant trees. Search engine users have come to expect perfect reliability, which is challenging for a small engineering team of ten developers, with only two focusing on infrastructure. In order for the team to practice Site Reliability Engineering (SRE), including a balance between projects and toil, the developers designed a a self-service production platform based on Kubernetes which is simple to maintain, easy to extend, and provides a developer toolkit with sane defaults. This talk will highlight how Ecosia leverages this platform in addition to open-source software like Bazel, Jsonnet, and Prometheus, to provide simple tooling, user-focused monitoring, and a software ownership culture. This infrastructure effort helps the Ecosia developers measure and achieve their primary metric - trees planted per second.

Published in: Software
  • Be the first to comment

  • Be the first to like this

System Reliability That Plants Trees

  1. 1. System Reliability That Plant Trees Jason Gwartz,
  2. 2. Jason Gwartz - Jazz musician - Ambulance driver - Tour guide - Apple Store Genius - Software Developer (Infrastructure Focus) @jasongwartz
  3. 3. More Kubernetes and machine learning, please.
  4. 4. Ecosia DevOps Requirements Resilient - Think about what our users have come to expect... But lean! - Simple to operate and replicate - Developer-focused
  5. 5. from DevOps import CI, CD, Monitoring from SRE import Playbooks, Postmortems
  6. 6. Umm. How?
  7. 7. Ecosia’s Current Solution Structure Teams - cross-functional teams with product ownership SREs/Devops - “infrastructure-focused developers” embedded with application development teams SIG - ownership of platform and tooling
  8. 8. Ecosia’s Current Solution Shared Responsibility Developers - developers share daytime on-call, write config, deploy Infra Devs - maintain the platform, tools, SRE culture
  9. 9. Ecosia’s Current Solution Technology Kubernetes - developer-oriented application platform Jsonnet - extensible templating (“libraries for config”) Bazel - consistent build tools and pipeline
  10. 10. Ecosia’s Current Solution Environments Local Dev - with Bazel or Docker Test + QA - per-branch deployments CI/CD - trunk-based deploys
  11. 11. Source:
  12. 12. Source:
  13. 13. Demo
  14. 14. Twitter: @ecosia @jasongwartz Github: @ecosia @jasongwartz