FacetController: How we made infrastructure changes at Lyft simple
Read Full ArticleSummary
The article discusses Lyft's implementation of FacetController, a tool designed to streamline the management of Kubernetes deployments through the use of Custom Resource Definitions (CRDs). By abstracting the deployment process into facets, Lyft has improved the efficiency of infrastructure changes across its microservices architecture. The FacetController enables developers to manage the lifecycle of facets, allowing for rapid updates and rollouts of Kubernetes resources without the need for extensive manual tracking or redeployments. This shift has significantly reduced the time required for infrastructure-level changes and enhanced the overall deployment process.
Key Learnings
- 1FacetController abstracts Kubernetes resources into manageable facets, simplifying deployment processes.
- 2The use of CRDs allows for efficient updates and rollbacks of infrastructure changes across multiple microservices.
- 3Automated garbage collection of resources associated with facets reduces manual overhead during service updates.
- 4Controlled rollouts and safety measures ensure that infrastructure changes can be deployed with minimal risk.
- 5The consolidation of deployment management into a single controller reduces complexity and improves developer experience.
Who Should Read This
Senior DevOps Engineers implementing Kubernetes solutions for microservices at scale
Test Your Knowledge
What are the trade-offs of using Custom Resource Definitions (CRDs) in Kubernetes deployments?
How does FacetController improve the deployment process compared to traditional methods?
What challenges did Lyft face during its migration to Kubernetes that led to the development of FacetController?
In what scenarios could the automated garbage collection feature of FacetController fail, and how would you mitigate those risks?
Why is it important to limit concurrent updates to facets in the FacetController design?
Topics
More articles about Kubernetes
Explore Kubernetes engineering →Technical Deep Dive: How DigitalOcean and AMD Delivered a 2x Production Inference Performance Increase for Character.ai
This article presents a comprehensive technical deep dive into the collaboration between DigitalOcean and AMD to enhance the performance of Character.ai's AI models. By optimizing the use of AMD...
Leveling Up Kubernetes: Key DigitalOcean Managed Kubernetes Releases in 2025
The article outlines significant updates to DigitalOcean Managed Kubernetes (DOKS) throughout 2025, emphasizing enhancements in scalability, security, and operational efficiency. Key upgrades include...
Introducing ATL1: DigitalOcean’s new AI-optimized data center in Atlanta
DigitalOcean has launched ATL1, a new AI-optimized data center in Atlanta, designed to support high-density GPU infrastructure for AI and machine learning workloads. This facility enhances...
Four Powerful, New Features to Help You Build and Deploy More Efficient Apps On DigitalOcean Kubernetes
DigitalOcean has introduced several new features to enhance its Managed Kubernetes service, focusing on efficiency and performance for developers. Key updates include the introduction of new GPU...
Announcing Gateway API Support for DigitalOcean Kubernetes
The article announces the integration of the Gateway API into DigitalOcean Kubernetes (DOKS), highlighting its advantages over the traditional Ingress method. The Gateway API, pre-installed and...
More from Lyft Engineering
View Lyft engineering blogs →From Python3.8 to Python3.10: Our Journey Through a Memory Leak
This article chronicles the experience of upgrading Python services from version 3.8 to 3.10 at Lyft, highlighting a significant memory leak issue encountered during the transition. The author...
From manual fixes to automatic upgrades — building the Codemod Platform at Lyft
The article outlines the development of the Codemod Platform at Lyft, aimed at automating the process of upgrading libraries and managing code transformations across numerous frontend microservices....
Real-Time Spatial Temporal Forecasting @ Lyft
The article discusses the implementation of real-time spatial temporal forecasting models at Lyft, focusing on their application for predicting market conditions critical for operational efficiency....
Beyond Query Optimization: Aurora Postgres Connection Pooling with SQLAlchemy & RDSProxy
The article explores the importance of efficient database connection management, particularly in the context of PostgreSQL and SQLAlchemy. It emphasizes the benefits of connection pooling to reduce...
How science inspires our ETA models
The article explores the relationship between chaotic traffic patterns and the development of accurate travel time predictions. It highlights the importance of understanding micro and macro patterns...