Wednesday, February 26, 2014

Synnefo Architecture

Hello everybody,

On a previous post, almost a year ago, we described the services and REST APIs of Synnefo.

Today, we have 2 new diagrams that show Synnefo's layered approach and overall architecture in more detail. First, we extended the diagram from the previous post that presented the zoom-out view, to include all layers from the hypervisor up to the clients (Web UI or command line). We also updated the API layer to reflect the complete OpenStack compatibility that has been included in the latest version. We have now fully integrated Neutron, Cinder and Keystone along with the previously implemented Nova, Glance and Swift:


The second diagram is created from scratch and zooms in to unveil the whole internal Synnefo architecture, showing all Synnefo components and the interconnections between them:


Note that in the left part (Compute/Network) the cloud layer (Synnefo) interacts with the cluster layer (Ganeti clusters) only via HTTP in the effect path and only via AMQP in the update path. The cluster layer does not access any DB, allowing us to scale linearly by adding new nodes on a Ganeti cluster or new Ganeti clusters altogether, even in geographically distinct locations.

Also note, that with Archipelago one can operate over multiple storage technologies
transparently, without the need to change anything on the upper layers, may these be Ganeti or Pithos.

Just to give you a preview on what's coming next, along with many new features, starting v0.16, Pithos will become a thin layer on top of Archipelago or in other words Archipelago will become the backend for Pithos. This will allow for 2 things:
  • Complete unification of cloud storage as seen by the upper layers
  • Complete abstraction of the actual data store underneath
So, hope you find the above interesting and hope the diagrams help everybody to understand the Synnefo architecture a little better.

Thanks,
Constantinos