[Openstack] [Glance] [Cinder] [RFC] Introducing a de-centralized registry for Glance Images and Cinder Volumes

Constantinos Venetsanopoulos cven at arrikto.com
Wed Sep 6 15:26:07 UTC 2017


Hello all,

My name is Constantinos Venetsanopoulos and I am a Founder and
the CEO of Arrikto. I'm writing to share what we believe are some
very interesting news related to OpenStack, and would love to get
the community's feedback and comments.

At Arrikto, we are building the world's first peer-to-peer network
for syncing and sharing snapshots of VMs and Containers.

Although the technology and product were not initially integrated
with OpenStack, after talking with the people who have designed,
built, and now run some of the world's largest OpenStack
installations, we found out that the problem we are trying to solve
exists in OpenStack deployments, too. Thus, we decided to integrate
with OpenStack. And it worked.

So, what is the problem?

A lot of people in the ecosystem are running either multiple smaller
OpenStack installations or multi-region larger ones. In both cases,
Glance stores are separate and they have to copy images around.
Similarly for Cinder, volumes are locked in a specific backend,
and it is very difficult to move them to a different location.

Currently, administrators try to solve the problem in various ways;
they may sync images manually, use some Glance-specific image
syncing tools, or finally, even try to sync the whole store.

These approaches are workarounds: They do not allow end users to see
or control the process, assume a single administrator controls all
underlying resources, cannot work efficiently when synchronizing
often-changing images from one source location to multiple locations,
and none addresses the problem for Cinder volumes.

Looking at the architecture, we thought that this is the definition of
a problem where a P2P network fits perfectly. In this scenario, our
software appears as a Glance store driver, Cinder volume driver, and
libvirt volume driver for Nova on all participating OpenStack
deployments/regions. Then:

1. An end user snapshots one or more disks, even of a running VM on
OpenStack. They publish their content to the network's Registry service.
Publishing creates a reference on the Registry, i.e., a short, unique
URL.

2. Another user, on the same or a completely distinct OpenStack
installation subscribes to this link. Their installation establishes
links with other subscribers, to form a P2P swarm and synchronize the
snapshot(s).

3. Finally, they can present a snapshot as a Glance image,
Cinder volume, or Nova instance directly on the destination.

In this manner, the network's Registry acts as a de-centralized
registry for Glance Images and Cinder Volumes; It only holds
references to the content, and all data are replicated at the
participating entities.

To learn more and see some demo videos, feel free to take a look
here:

http://www.arrikto.com/howitworks

We are currently testing the product with initial, select customers
and we would love to hear your comments, feedback, and questions on
the problem and proposed solution. If you've bumped on it yourself,
we definitely want to hear your thoughts.

Looking forward to hearing from you,
Constantinos

-- 
Constantinos Venetsanopoulos
CEO, Arrikto Inc.
cven at arrikto.com




More information about the Openstack mailing list