Skip to main content
Uber logo

Schedule rides in advance

Reserve a rideReserve a ride

Schedule rides in advance

Reserve a rideReserve a ride
Engineering

Scaling Infrastructure Management with Grail

March 13, 2018 / Global
Featured image for Scaling Infrastructure Management with Grail
Image
Figure 1: Writing scripts and tools that collect information directly from multiple sources of truth makes fully understanding the state of your system much more difficult than using an information aggregation service like Grail.
Image
Figure 2: All of the operations tooling we build goes through this loop until the state of the system converges on the desired state.
Image
Image
Figure 3: With Grail, infrastructure is represented as a graph of interconnected nodes.
Image
Figure 4: Each data source provides their own subsection of the graph, which can and should attach data to the same node keys. The subsections are combined at query time to produce the entire view of the infrastructure.
Image
Figure 5: Multiple data sources can provide properties and associations for a node with the same key and/or associate it with other nodes. This figure shows how data sources attach data to the host:database142-dc1 node.
Image
Figure 6: Grail’s high-level architecture is composed of three components: ingesters, message coordination nodes, and query nodes.
Jesper Borlum

Jesper Borlum

Jesper Børlum is a senior software engineer on Uber Engineering’s Storage Platform team. He is based in the Uber Engineering office in Aarhus, Denmark.

Posted by Jesper Borlum

Category: