Early in Nova development, the "cells" functionality was added to the
project, allowing operators to shard their deployments to help with
scaling the database and message queue, as well as segregate failure
domains and help eliminate single points of failure. While useful (and
used by some of the largest clouds), this initial implementation had
many drawbacks, missing features, lack of testing and brought a lot of
complexity and duplicated code paths.
Recently the Nova project has been working on "cells version 2", a
different approach to solve the same problem, integrated into the main
code from the beginning, and simpler to understand and deploy. Unlike
version 1, everyone is running version 2 code all the time, even if
they have not sharded their deployment. Changes in Ocata bring us
closer to being able to use the new implementation for production
deployments, and they introduce a number of changes that every
operator needs to understand.
This talk will go over the design, approach, and cover what operators
need to know about the technology, regardless of whether they're
deploying a small single-cell system or a large multi-cell cloud.
Attendees should expect to learn about the architecture and design of Nova's CellsV2 architecture, how it affects all clouds big and small, as well as some information about how we got here, status as of Ocata, and outlook for the future.