

In today’s world, the question is not whether to use cloud computing for your organizational infrastructure needs, rather it is, which provider and service to use. Cloud computing allows companies to avoid up-front infrastructure costs and enables organizations to focus on their core businesses instead of spending time and money on computer infrastructure. Companies can scale up and down as per their computing needs which are a “pay as you go” model in accordance to the times we live in.

Providers offer what is popularly known as Infrastructure as a service (IaaS) – online services offering virtual machine and other resources that abstract the user from details like physical computing resources, location, data partitioning, scaling, security, backup, monitoring etc. Billing is typically on a utility computing basis – cost reflects the amount of resources allocated and consumed.

While many providers have emerged over the years viz. Amazon Web Services, Microsoft Azure, OpenStack, VMware vCloud, Google Compute Engine and others, the popularity of VMware as a pioneer of virtualization, which is the base of cloud computing and OpenStack – a free and open source platform for cloud computing has increased exponentially with experts often comparing and debating between the two. An interesting comparison is put below based on the offerings of these two products:

Implementation

VMware vCloud installation is a set of components that need to be downloaded, installed and configured separately. Individual products in vCloud Suite are delivered as either installation packages for Windows or Linux-based virtual appliances that you can deploy on ESXi hosts.

These include a number of components including ESXi, vCenter Server, vCloud Director, vSphere which can be easily installed and configured by following a guided proper sequence, meeting system requirements, external dependencies and taking care of compatibility between component versions.

Comparatively OpenStack IaaS is provided through a variety of complementary services. Each service offers an API that facilitates this integration. Few of the services viz. identity, image, compute, networking, and instance are mandatory while a number of others like block storage, bare metal, DNS, messaging, object storage, database are optional.

To build a basic environment, these services need to be installed and configured through a CLI – all of which means need of expert administrators, design and compatibility complexities, a lot of search and support needed from the community.

Complexity

VMware vCloud suite is a complete offering – non modular, get all or none. ESXi is the only and default hypervisor. Although the ESXi cannot be API accessed without license, there is a great guest OS support and large ecosystem on VMware vCloud. However, there is no support for customization of components or services as per need – kind of expensive web application servers that were selling all in one features without a choice, before the advent of newer frameworks which are happier versions of “include per need” features that can be run on normal web servers.

Service layers are tightly integrated which points to a relatively lesser complex, monolithic software stack to anybody using vCloud. However, this means a much lesser control of the platform to fully mix and extend for the purpose of the organization’s business needs.

OpenStack, on the contrary is a much more modular and extensible based on core and optional services. You can mix and match components and services, run with a bare minimum composition or choose as many services you need. OpenStack being an open source platform you also have a choice to extend the source code.

OpenStack has certain amount of compatibility to other cloud APIs viz. the EC2 API project for compatibility with Amazon EC2 and the GCE API project for Google Compute Engine. OpenStack has support from many OEMs and OS vendors, interoperability with many components, just pick your favorite one and plug it in standard and well accepted APIs. OpenStack supports a number of variants of hypervisor and container such as KVM, Xen, VMware ESXi, Microsoft Hyper-V, Citrix XEN, Docker, LXC.

All this though, comes at the cost of complexity, compatibility and stability. Contrary to VMware, very few organizations run the same software stack when it comes to OpenStack and integrating a number of open source products together without precise documentation and support can be highly challenging.

Operations

VMware vCloud has a well setup graphical interface in vCenter for administrators and users for managing virtual machines and ESXi hosts centrally. ESXi provides bare-metal virtualization of servers while vCenter provides a centralized platform for managing vSphere, the replication provider at individual virtual machine level.

vCloud Director provides the ability to build secure, multi-tenant clouds by pooling virtual resources into virtual datacenters. Migration of virtual machines between different physical hosts is supported through vMotion with zero downtime but needs a shared storage like VMFS, SAN, and shared NAS. VMware has features like DRS, DRM, automated monitoring of physical servers availability, system health and restart of virtual machines.

OpenStack has a native dashboard, Horizon, using graphical interface as well as 3rd party’s dashboards and CLI for administrators and users to access, provision and automate cloud-based resources. A controller node runs the identity service, image service, management portions of mandatory services and the dashboard. Compute node runs the hypervisor that operates instances. Optional block storage and object storage nodes contain data for instances and accounts, containers, objects respectively.

Developers can automate access or build tools to manage resources using the native OpenStack API or the EC2 compatibility API. Migration of virtual machines between different physical hosts is supported through KVM Live migration with up to 2 seconds service suspension and without shared storage.

Maturity

VMware’s suite of applications was built from ground up, starting with the hypervisor. The ESXi hypervisor is free and provides an excellent support structure for VMware orchestration products such as vSphere and vCloud director. The software is thoroughly tested and has a monolithic architecture.

Overall, the product is well documented and has a proven track history - used by high-profile customers on a multi-data-center scale. That said, the system is closed and the roadmap is completely dependent on VMware’s own objectives, with no control in the hands of consumers. VMware, being a sort of “father of virtualization” technology, the product is mature, free of critical bugs and support is exemplary.

OpenStack is open source and no single company controls its destiny. The project has huge market momentum and the backing of many large companies (see: companies supporting OpenStack). With so many companies devoting resources to OpenStack it has no dependencies to a single company.

However, the deployment and architecture have a steeper learning curve than VMware and the documentation is not always current. OpenStack has much less product maturity due to the free nature of the platform, relatively lesser time in the market and the overall flexibility which the product offers – a modular nature may mean more development focus on the services which have a greater user base.

Support & Costs

VMware vCloud product support is exemplary through a number of support channels. Certification is proprietary and there is a strict roadmap for developers who wish to develop for the product. In VMware, the costs are expensive license and maintenance fees. All the components of the vCloud suite can be activated through a single license on a per-processor basis. Components of vCloud are also licensed as standalone on per virtual machine basis.

However, when these components are obtained through vCloud suite, they are licensed on a per-processor basis. Basic administration skills are needed and it’s easier to get resources trained using point and click interfaces vs. a command line. VMware is for virtualization of enterprises and will be cheaper for smaller installations, but the value will diminish with increase in scale.

OpenStack support, being an open source platform, is challenging and time may be needed to be spent awaiting community support. Developers can fork and modify the existing codebase to add new features. Community involvement is simple with no restrictions. Support is through active community and vendors. Certification is by training companies such as Mirantis & Red Hat.

For OpenStack, everything is free but some might charge for a maintenance fee for enterprise support. High end skills including those related to system and network are required, meaning a higher learning curve even for seasoned professionals. In short, OpenStack has a higher initial cost, but as projects scale, you will get more value, due to the lack of licensing fees. That being said, cloud use cases are trending toward large scale and as people get more experience with OpenStack, the initial costs will be lower.



