When I present the new Open vStorage architecture for Fargo, I almost always receive the following Edge question:
What is the Edge and why did you develop it?
What is the Edge about?
The Edge is a lightweight software component which can be installed on a Linux host. It exposes a block device API and connects to the Storage Router across the network (TCP/IP or RDMA). Basically the applications believes it talks to a local block device (the Edge) while the volume actually runs on another host (Storage Router).
Why did we develop the Edge?
The reason why we have developed the Edge is quite simple: componentization. With Open vStorage we are mainly dealing with large, multi-petabyte deployments and having this Edge component gives additional benefits in large environments:
In large environments you want to be able to scale the compute and storage part independently. In case you run Open vStorage hyper-converged, as advised with earlier versions, this isn’t possible. This has as consequence that if you need more RAM or CPU to run VMs, you had to also invest in more SSDs. With the Edge you can scale compute and storage independent.
With Eugene the Volume Driver, the high performance distributed block layer, was running on the compute host together with the VMs. This results in the VMs and the Volume Driver fighting for the same CPU and RAM resources. This is a typical issue with hyper-converged solutions. The Edge component avoids this problem as it runs on the compute hosts (and requires only a small amount of resources) and the Volume Drivers runs on dedicated nodes and hence provides a predictable and consistent amount of IOPS to the VMs.
Limit the Impact of Updates
Storage software updates are a (storage) administrator’s worst nightmare. In previous Open vStorage versions an update of the Volume Driver required all VMs on that node to be migrated or brought down.With the Edge the Volume Driver can be updated in the background as each Edge/compute host has HA features and can automatically connect to another Volume Driver on request without the need of a VM migration.
As a Product Manager I’m very often on challenging calls with potential users of Open vStorage and one of the questions that comes back on almost every call is:
How scalable is Open vStorage?
It is a question that is easy to answer: extremely scalable. Open vStorage is built from the ground up to support environments which have 100+ hosts. It is designed to be used in large datacenters as primary storage platform for all types of Virtual Machine workload. I’m aware that the term scalable is a bit biased and can have different meanings. Did the enquirer mean storage capacity scalability or performance scalability. Well, Open vStorage scales both ways. For the storage capacity, the scalability is mostly limited to the selected backend. For example, with Swift as storage backend of a vPool, you can almost infinitely add disks or storage nodes to enlarge the storage pool. Swift is after all designed with massive scalability as main development mantra and it has shown this quality in production environments of Disney and Rackspace amongst many others.
Performance scalability is also not a problem. Adding more hosts running the Open vStorage software will linearly scale the performance. As each hosts has one or more SSDs or PCIe Flash cards on board, the addition of every host to the Open vStorage environment increases the data that can be stored in the cache.
Does that mean Open vStorage is webscale?
No, unlike other hyperconverged storage solutions, we are not webscale. We are webscale 2.0. The reason why we can call Open vStorage webscale 2.0 is because it decoupled the storage scalability from the performance scalability. This allows for asymmetric architectures. It makes no sense having to add more storage capacity in order to improve the performance of your storage solution. Open vStorage is the only solution which allows to independently scale performance and capacity at a massive scale. Not only is Open vStorage tailored to the needs of large environments with petabytes of data and a battery of compute power but it can also address the needs of a typical enterprise. Whether that typical enterprise has lots of data with limited compute power or vice versa, Open vStorage is up for the job.