2. Contents
● What is Openstack?
● What is Keystone?
● Multi-region clouds.
● Current solutions.
● Our Cassandra solution.
● Benefits over existing solutions.
● Relational schema vs Non-relational schema.
● Performance numbers.
7. Expectations from a multi-
region cloud
● Same experience with different resources.
● Basic tenant isolation.
● Domains, roles and projects.
● Api request time.
8. Federation
● Predefined domain, project and groups.
● Breaks tenant isolation
● Not the same experience
● Use case different altogether
9. Other ways to run multi-
region
● MySQL master-slave.
- Writes only to the master region.
- Only reads from other regions.
- Not the same experience.
● Multimaster Galera.
- Api request time becomes huge across
multiple regions.
- Not the same experience.
10. What do we need?
● Asynchronous replication.
● Read/Write to all the regions.
● Tenant isolation.
● Superfast api response time.
12. Schema and queries
● Primary keys.
● Index on a column in MySQL database.
● Query on primary keys.
● Query on columns other than primary key.
13. Unique constraint on ‘names’
● Making name unique - bad database pattern
● E.g. <insert an example here>
Solution:
● Completely disallow this api, or use a (racy)
workaround