The final installment of RoachFest 2024 was in New York City – home not only to the Cockroach Labs headquarters, but also to countless restaurants, small food businesses, and delicious eats. So it was only fitting that we welcomed City Storage Systems (CSS) to RoachFest New York to highlight how they are disrupting the restaurant industry.
CSS is a startup with a mission to revolutionize restaurant infrastructure. Known for their brands Otter, CloudKitchens, and Lab37, CSS builds software to support growing food businesses and kitchens. The infrastructure used to support these businesses consists of many multi-regional database clusters managed by a small IT team. Their goal: to deliver a database-as-a-service (DBaaS) so their developers could keep on building – without worrying about platform reliability.
You can watch the full CSS talk and all of our other RoachFest presentations right now! Tune in through our on-demand hub.
“Low Latency Multi-Regional Microservices: Coordinating Data Locality”
Frederik Stenum Mogensen, Software Engineer at CSS, hit the stage with a technical deep dive, describing how his team developed an innovative pattern to ensure low latency in a multi-regional microservices environment. To share their work, he told the packed room that we would be building a simple app, “Picnic,” together. Picnic would allow employees to order their lunch and get it delivered directly to their office.
Mogensen went over a few microservices Picnic would theoretically need, including recommendations, delivery schedulers, and discount management, each managing its own multi-regional database. But processing requests across multiple microservices, especially when data is distributed across regions, can cause critical issues such as:
Increased latencies due to distributed data, requiring multiple SQL queries
Higher risk of network failures
Compounded problems with multi-region deployments
To address these challenges, CSS developed a solution that dynamically coordinates data locality across multiple services using CockroachDB zone configurations and a Kubernetes operator. Key aspects of their approach include:
Kubernetes operators to manage resource provisioning and data placement across tables
Custom, developer-defined resources to specify desired states for data sharding and placement
Defined business domains and mapped partitions to specific regions to ensure low latency and reliability
Smart load balancing to route requests efficiently within regions
CSS's approach to coordinating data locality across cloud regions demonstrates a robust solution for maintaining low latency and reliability in a multi-regional microservices setting. By leveraging CockroachDB and Kubernetes, they achieved strongly consistent access to data while minimizing cross-region network data transfer, ultimately reducing costs and improving performance.
To see Mogensen dive into all the delicious details, fill up on his full talk:
Visit our RoachFest hub for even more on-demand presentations.