Starting in April 2014, Randy Bias wrote an interesting series of blog posts entitled “The 6 Requirements of Enterprise-grade OpenStack” in which he made some interesting points about what Enterprises need from a cloud management platform. Now, Randy’s clearly a big fan of OpenStack, which is fair enough, but perhaps that pre-defined focus could usefully be widened to look at how these requirements could be met today, rather than waiting for OpenStack development to catch up to the commercial solutions such as Abiquo.
So, without further ado, here’s my take on 6 requirements of Enterprise-grade clouds. I hope Randy won’t mind me borrowing his headings!
Requirement #1 – 99.999% Uptime Control Plane: High Uptime Apps Require a High Uptime API
The availability of both your cloud API and the underlying control and orchestration layer is critical to ensuring application availability, but only if the changes to the application rely on the cloud API – and if your tool set limits you to one cloud infrastructure.
Abiquo certainly has a highly available API, with load balanced API servers being available out of the box. The underlying orchestration platform is distributed, so the failure of part of your infrastructure will be limited to a small domain. For high availability of the compute, storage and network platforms you can choose from multiple hypervisor options – most of our customers with HA environments choose VMware ESX with HA (and DRS), and NetApp storage with resilient head units.
We have many Abiquo environments that have been running for over two years, with occasional planned outages for software upgrades which don’t stop customer service!
Requirement #2 – Robust Management: Managing and Securing Your Cloud is Not Free
Randy states his belief that all your cloud infrastructure should be managed from one UI. I’d respectfully disagree with him. A UI that’s suited to (for example) a self-service IAAS cloud isn’t suited for managing complex storage systems. It’s also unlikely to be practical for a true hybrid cloud environment that supports multiple hypervisors, public clouds, storage and network components. Since the vendors of these system have invested heavily in the configuration and management tools for those systems, why reinvent the wheel by writing the same functions again? And then having to incur the costs in keeping up with the change in those systems – which of course will get passed on to you, the customer.
Requirement #3 – Open Architectures & Reducing Vendor Lock-in
To quote Randy: “Are you being promised that OpenStack provides “no lock-in?” No vendor lock-in is a platonic ideal – something that can be imagined as a perfect form, but never achieved. Any system always has some form of lock-in.”
At Abiquo, we try our best to realise that ideal. For the end customer, we allow the import AND export of virtual machine images (controlled by role, of course), and since external data volumes can be moved between VMs, and those VMs can easily be attached to public network interfaces, moving data is simple too.
For the service provider or enterprise running Abiquo, we try to avoid lock-in there as well, even though it may not be to our commercial advantage. Let’s go through the key areas:
Abiquo supports all the major hypervisors, but also has built-in virtual-to-virtual (V2V) conversion which happens on-the-fly. That means that when you upload a VM template, we convert it to work on all the hypervisors you have installed. Even when you take a clone of a configured VM, we convert it so you can deploy it to a different hypervisor. So, no lock-in there.
Once you choose a storage platform, you are locked in to an extent, if only because you’ve invested in purchasing and building the storage and need to keep it running for some time. However, along with Abiquo’s dedicated support for NetApp and Nexenta, we also support NFS for self-serve storage provisioning. Then, moving between NFS shares is pretty straightforward. For the hypervisor datastore, some hypervisors let you migrate VMs between datastores. So if you choose your configuration wisely, you can avoid storage lock-in too.
If you’ve invested in a cloud platform, you’ll understandably be worried about trying to migrate away from it. Abiquo helps in two ways; migrating into Abiquo can be achieved with our “retrieve and capture” functionality, where we scan an existing hypervisor and then help you onboard running VMs into your Abiquo platform without any interruption to service. We can even help you to take control of VMs in AWS – check it out in our free Abiquo anyCloud service, which is based on the same Abiquo software.
Migrating away from Abiquo largely depends on the system you want to migrate to. They key point is though that we use the features of the hypervisor(s) you’ve chosen, so even if you just switch Abiquo off all your VMs and storage still run just fine. Clearly we’d prefer you didn’t do that, but the option’s there if you need it.
It’s also worth noting that although Abiquo provides a rich REST API, you can use jclouds instead if you need to automate your environment outside of the Abiquo user interface. That’s an open standard supported by most cloud vendors, both for private and public clouds.
Hopefully you’ll see that Abiquo helps you avoid that vendor lock-in, in real-world circumstances.
The other choice to avoid lock in it to roll your own OpenStack environment. To quote Randy again:
If you want to build your own customized cloud operating system built around OpenStack, go ahead, but that isn’t a product. That’s a customized professional services path.
He goes on to list the size and make-up of the team needed, and it comes out at:
20-30 Python developers with a deep knowledge of infrastructure (compute, storage, and network) who can hack full time on your bastardized version of OpenStack.
By way of a contrast, most Abiquo deployments need less than 15 professional services days (including integration to your billing system and network) and are run by teams of between 2 and 5 people. That’s a factor of 6 less than OpenStack, and you’ll get to production way faster too.
Requirement #4 – Hybrid Cloud Interoperability
I agree with Randy completely that every enterprise needs a hybrid cloud strategy, and delivering that is at the heart of Abiquo’s development. Check out the support we’ve delivered in Abiquo anyCloud for AWS, Rackspace, DigitalOcean, HP and Google Compute to see it in action. Then add in the on-premise support for ESX, Hyper-V, KVM, Oracle VM and XenServer and there’s your true hybrid cloud, right there!
Requirement #5 – Scalable, Elastic, and Performant
Randy’s post goes into some detail about OpenStack’s scalability problems, so I won’t rehash them here. He also describes how OpenStack Neutron has some significant issues with networking – and he ends with:
Most important: regardless of your OpenStack vendor they must be able to provide a detailed, multi-rack reference network architecture.
The best comparison I can make is with Abiquo’s customers, running at scale – many of whom come from the ISP and managed hosting world – with a variety of network integrations. Of course, we have a multi-rack architecture, and can help you integrate into your existing data centre networks, since we know it’s unlikely you’ll start from scratch in your cloud deployment.
Certainly Abiquo gives you elasticity too. Grow your compute, network and storage infrastructure, mix vendors and technologies, and spread across multiple data centres and countries. We have customers doing this every day!
Finally, performance. The resources needed for an Abiquo environment are very small. Ignoring HA for a moment, you can run every component on a couple of VMs with fairly economical RAM and CPU requirements. Scaling the hardware results directly in more performance, both for the Abiquo environment and your cloud infrastructure.
Requirement #6 – Cloud Support, Training & Services Model for Global Enablement
Randy picks out some key deliverables from a cloud software vendor, such as training, support and service delivery. I’m confident Abiquo meets all these requirements. Look at our wiki for extensive self-help documentation – but additionally our services INCLUDES handover training on your environment, not just our software.
7×24 support? Absolutely. Our support team are experts in more than just our software. Linux, ESX, KVM and so on are part of the environment, so we have to understand them too. They also sit next to our developers, so fixing problems is often very fast, and we don’t have to wait for a release to get you a fix – and you’ll be assured that any code will be incorporated into the main release code in the future.
Randy did a great job of identifying what it takes to deliver a true enterprise cloud platform. I hope you’ll agree that Abiquo does that today, with less resource and time needed to get to a live production environment!