Library / Blogs
Mozilla Automation Team Engineering Blog
A feed of posts, mostly by Mozilla engineers, on test automation, regressions, performance testing and CI infrastructure.
By Mozilla Automation Team engineers · Mozilla Automation Team · Added 2026-10-12
All content belongs to Mozilla Automation Team engineers / Mozilla Automation Team. We only link to it and give credit. Report a problem
Learn this article
About 37 min left. Your work is saved as you go.
What you are about to study
Mozilla Automation Team wrote this to explain how they thought about a problem. You should know the basics: caching, queues and replication.
Ideas you will meet
- Distributed Systems
- Consensus, time, failure and the fundamentals of scale-out.
What we already know about this
Our own lessons on these ideas. Read them here before you start, so it makes sense.
Core Concepts: How Things Actually Work · 9 minDevOps in practice, and where to learn moreWhat DevOps really means, the practices behind it, how to measure delivery performance, and a short reading list.Read here
It is a culture first
DevOps removes the wall between people who build software and people who run it. The old model threw code "over the wall" to operations, who feared change; developers wanted change. DevOps aligns both on the same goal: deliver value quickly and reliably. Tools help, but the core is shared ownership, automation and fast feedback.
The pipeline
100%Figure SDA-CORE-23-1 · The pipeline · © forcsguy.com
Core practices
- Version control for everything: code, configuration and infrastructure definitions.
- Continuous integration (CI): merge small changes frequently; each triggers an automated build and tests.
- Continuous delivery and deployment (CD): automated, repeatable release to staging and production, with safe rollout (see the deployment strategies lesson).
- Infrastructure as code (IaC): define servers, networks and permissions in code (Terraform, CloudFormation, Pulumi, Ansible). Review, version and recreate environments on demand.
- Containers and orchestration: package software consistently (Docker) and run it on a platform such as Kubernetes.
- Observability: metrics, logs and traces, with alerts on user-visible symptoms.
- Security in the pipeline ("DevSecOps"): dependency scanning, secret detection, image scanning, least privilege.
- Blameless learning: postmortems and improvement of the system, not of blame.
- GitOps: Git is the source of truth for desired state; automation reconciles the real environment with it.
Measuring delivery performance: the DORA metrics
Research by the DevOps Research and Assessment (DORA) team found four measures that predict both delivery and business performance:
Metric Question Deployment frequency How often do we deploy to production? Lead time for changes How long from commit to running in production? Change failure rate What share of deployments cause a failure needing remediation? Time to restore service How quickly do we recover from a failure? The finding that surprised many: high performers are both faster and more stable. Speed and stability reinforce each other when you work in small batches with strong automation.
Common mistakes
- Renaming the operations team "DevOps" without changing responsibilities.
- Buying tools without changing habits.
- Automating a broken process instead of fixing it.
- Measuring individuals (lines of code, tickets closed) instead of flow and outcomes.
- Ignoring security and cost until the end.
Where to learn more
These books are widely recommended (buy or borrow them; this course summarises ideas in its own words):
- Accelerate by Nicole Forsgren, Jez Humble and Gene Kim: the research behind the DORA metrics.
- The DevOps Handbook by Gene Kim, Jez Humble, Patrick Debois and John Willis: practices and case studies.
- The Phoenix Project by Gene Kim, Kevin Behr and George Spafford: a novel that explains the ideas through a story.
- Site Reliability Engineering by Google's SRE team (free online): reliability, monitoring and incidents.
- Continuous Delivery by Jez Humble and David Farley: pipelines and release engineering.
- Release It! by Michael Nygard: designing for production failure.
- Infrastructure as Code by Kief Morris: managing infrastructure with software practices.
Real-world reading
Related reading
- Going faster with continuous deliveryAmazon Builders' Library · Amazon Web ServicesBlogs
- DevOps Roadmaproadmap.sh community · roadmap.shCourses
- Screwdriver: Continuous Delivery Build System for Dynamic Infrastructure at YahooYahoo engineers · YahooCase Studies
- Blue Green DeploymentMartin FowlerBlogs
Show 6 moreShow fewer
- AWS DevOps BlogAmazon Web Services engineers · Amazon Web ServicesBlogs
- Ensuring rollback safety during deploymentsAmazon Builders' Library · Amazon Web ServicesBlogs
- Software Engineering at GoogleTitus Winters, Tom Manshreck and Hyrum Wright · O'Reilly / GoogleBooks
- Continuous Integration and Deployment with Bazel at DropboxDropbox engineers · DropboxCase Studies
- Mozilla Automation Team Engineering BlogMozilla Automation Team engineers · Mozilla Automation TeamBlogs
- OpenTelemetry conceptsOpenTelemetry · CNCF / OpenTelemetryDocumentation
Go deeper on this
A path through videos, articles, other case studies and code on the same ideas as Mozilla Automation Team Engineering Blog.
Warm upGet the vocabulary first.
Books · Free from the author
Concurrent and Distributed Systems (Cambridge lecture notes)
Eight lectures on time, broadcast, replication, consensus and transactions, with notes, slides and video. Free from the author under CC BY-SA.
University of CambridgeIntermediate
Books · Free from the author
Computer Networks: A Systems Approach
How networks are built and why: protocols, routing, congestion control and the internet's architecture. The authors publish it free online under CC BY 4.0.
Systems ApproachIntermediate
WatchHow others solve the same problem, on video.
Videos belong to their creators and play from YouTube. More on YouTube (opens in a new tab)
ReadEngineers explain it in their own words.
Blogs · Free from the author · Read here
Scalable Web Architecture and Distributed Systems
A full chapter on the building blocks of large websites: availability, performance, reliability, scalability, caches, proxies, indexes, load balancers and queues. Free to read here under CC BY 3.0.
The Architecture of Open Source ApplicationsBeginner40 min
Papers · Read here
Facebook’s photo storage
This paper describes Haystack, an object storage system optimized for Facebook’s Photos application. Facebook currently stores over 260 billion images, which translates to over 20 petabytes of data.
USENIXIntermediate
See it in another companyThe same ideas, a different system.
Case Studies · Read here
Aroma: Using ML for Code Recommendation at Facebook
Thousands of engineers write the code to create our apps, which serve billions of people worldwide. This is no trivial task—our services have grown so diverse and complex that the codebase contains…
FacebookIntermediate
Case Studies · Read here
Brooklin: Distributed Service for Near Real-Time Data Streaming at LinkedIn
Brooklin—a distributed service for streaming data in near real-time and at scale—has been running in production at LinkedIn since 2016, powering thousands of data streams and over 2 trillion messages per day. Today, w...
LinkedInIntermediate
Read the codeSee how it looks when it is real.
GitHub
Engineering Blogs
A huge directory of company engineering blogs to learn from real production systems.
kilimchoiIntermediate
GitHub
Awesome Scalability
Curated reading list of articles on the architecture of scalable, reliable systems.
binhnguyennusIntermediate
Keep learning
Loading community…