Skip to main content
Engineering, Backend

How We Unified Configuration Distribution Across Systems at Uber

9 March 2023 / Global
Featured image for How We Unified Configuration Distribution Across Systems at Uber
TermDescription
Configuration PropertyThe smallest unit the system works on, identified by a key containing a value–i.e., some bytes that could either contain a primitive value, but typically will contain a blob (e.g., JSON or YAML)
Configuration NamespaceA collection of related properties–configuration consumers will typically subscribe at the namespace granularity
Configuration DomainConfiguration for a specific configuration product will typically reside within the same configuration domain, which can be seen as a collection of related namespaces
StakeholderThe producer or consumer of one of the configuration namespaces or domains
Image
Figure 1: High-level description of how stakeholders are interacting with UCDP
Image
Figure 2: Deep dive into UCDP components
Image
Figure 3: Representation of stakeholders and their entry-point to UCDP
Image
Figure 4: The end-to-end propagation for global-blast configuration updates
Image
Figure 5: The ratio of hosts to clients
Ahmed Magdy

Ahmed Magdy

Ahmed Magdy is a Senior Software Engineer on Uber’s Configuration Platform Team. He is currently focusing on improving the reliability and efficiency of the configuration deployment for Uber’s microservices.

Jacob Damgaard

Jacob Damgaard

Jacob Damgaard is a Staff Software Engineer at Uber where he is the Tech Lead on the Configuration Platform Team.

Posted by Ahmed Magdy, Jacob Damgaard