DEV Community

AuthZed
AuthZed

Posted on • Originally published at authzed.com on

Google Zanzibar Through Our Eyes

You can skip ahead and read the paper here

In the past I have written and spoken quite frequently about how incredible I find Google’s Zanzibar paper. Battle scars from my past experience building and running permissions systems for Quay and CoreOS taught me that it was compelling enough to form a new company implementing the concepts and features explained in the paper. I originally read the paper on the first day that it hit Hacker News, June 8, 2019. I knew then that it was something that I wanted to pursue together with the others in our founding team: Joey and Jimmy. It took a little while to get the ball rolling, but today SpiceDB is powering permissions in hundreds of applications, serving all of their respective end users.

A while back Evan, one of our engineers, had the idea to host an annotated copy of the Zanzibar paper so that people experiencing the paper for the first time could see it through our eyes. Who better to help a reader explain and understand the concepts presented in the paper than those who have put it all on the line bringing the paper to life through a variety of projects and products? So today, we’re unveiling a brand new experience built to help the reader understand and interpret the Zanzibar paper, including both the model and its implementation.

Quite a few companies and projects today are claiming to “do Zanzibar”, but many support only some fraction of the Zanzibar programming model...

Quite a few companies and projects today are claiming to “do Zanzibar”, but many support only some fraction of the Zanzibar programming model, and often implement few to none of the engineering best-practices that Google has included in the paper based on their years of running and improving the service; refinements such as relation-rewrites, hotspot sharding, caching, and request hedging get left out. To be fair, each of those features could practically be a research paper on their own, and in fact hotspot sharding is!

We’ve spent the last few years using the Zanzibar paper as our architectural north star for the design and implementation of SpiceDB, and consequently all of the products and services that we’ve built on top of and around it. Closely adhering to the paper gives us a solid bedrock from which to build a system with some quite lofty availability, scalability, and latency goals. Google has paid handsomely for the knowledge and experience baked into the Zanzibar paper: we thank them for the opportunity to follow in their footsteps and extend their work to meet the needs of our diverse set of users and customers.

Without further ado, The Zanzibar Paper, annotated by Authzed.

We invite you to read or re-read the paper with some sections highlighted with additional information, thoughts, and open questions from our team. If you want to discuss anything in particular, our team is always available on our Discord Server. Finally, if this is your first time experiencing Zanzibar, you can try out the concepts and our implementation using our Playground, authzed.com, or SpiceDB open source.

In keeping with our open source roots, we're also open sourcing the repository behind this annotated paper experience. If you're interesting in contributing your own annotations, open a PR. If you want to use this to annotate another paper, make a fork!

Happy reading!

Top comments (0)