Facebooktwittergoogle_pluspinterestlinkedinmailFacebooktwittergoogle_pluspinterestlinkedinmail

In February 1999, Salesforce was founded with a mission to simplify customer relationship management (CRM) applications for customers, and it was provided as a service, versus installing software.

They sent out the simple yet bold message of “No Software,” indicating that regular enterprises should not be installing, managing, and upgrading their CRM application, and should instead consume it as a service, leaving all the headaches to Salesforce.


Guest article by Ajay Gulati, Co-founder and CEO of ZeroStack


Now, let us compare a CRM application with a cloud and see which one is more complex:

CRM Application Private Cloud
One application Platform to run hundreds of applications
Few services that need to work together Dozens of complex services needed to manage compute, storage, networking resources
Controlled by a few admins Designed to provide self-service to developers
Application needs to be highly available Cloud management software pieces need high availability in addition to applications
Impacts one team May impact several teams in the company
Backbone for sales Backbone for company’s IT
Can be installed as one siloed application High degree of consolidation by design

No matter which dimension you pick out of this table, a private cloud is much more complicated than a CRM application. This is not to suggest that CRM is easy or less complex to set up, but to highlight that private cloud is an even bigger beast to tame. This explains, to me, why the adoption of private clouds has been slower than public cloud.

Here are some of the specific challenges in building a private cloud.

Too many moving parts

A private cloud consists of compute, storage, and networking resources along with the management, operations, and consumption layers. No matter which cloud stack you choose – VMware vCloud, Microsoft Azure pack, or OpenStack – you will have to deal with all of these hardware and software components. It is non-trivial for IT administrators to go from a traditional or a virtualized model to a cloud.

A lot of focus on install and day one set-up

Most vendors now talk about how they can ship a ready-to-install system, or how they have written an installer to make it easy to set up the cloud. Now, installing software has never been a big challenge in computer science. The main issues are maintenance, troubleshooting, operations, upgrading, and so on. Solutions like VCE even stitch together technologies from multiple vendors, creating a rack which is ready to install.

However, these are again integration projects where a customer would get a day one value — but these are not designed to scale out. Adding resources across any dimension like compute, storage, networking, and management software requires re-thinking across other dimensions and software components. In the end, a customer has to have teams who understand the individual hardware that shows up stitched together.

Heavy consolidation across all resources

By definition, a cloud is a pool of resources put together and fronted by an API to consume all of them. In most cases, users can over-commit resources in a pool, creating hard-to-troubleshoot performance issues, if misused. Also, the self-service model of the cloud requires strict controls and quotas in place to avoid a rogue script from starving others.

Many vendors sell add-ons on top of existing cloud infrastructure for better monitoring and control over resource allocation. In some cases, a few aggressive workloads can create severe degradation in performance for everyone else. These are the scenarios that keep IT admins up at night, making it harder to move to an all-cloud model of IT.

Multi-component upgrades can get very complicated

Once you have a cloud environment running, upgrading is like changing the engine in a running car. You have workloads running on the cloud infrastructure that need to be preserved while you upgrade the cloud management software. So, for a few minutes, your cloud API is down and you may not be able to create new workloads, but none of the existing workloads should get disrupted.

Eventually, one would also need to add or remove infrastructure pieces, such as new servers (easy), new storage (needs some connectivity updates and re-configuration) and new network switches and routers (requires configuration and can get complicated). Overall, this is no simple task, and even some of the well-established vendors have a complex upgrade story.

A private cloud Salesforce?

Now, you can argue that Salesforce solved the CRM complexity and cost problem by providing a service-based solution, where customers don’t have to deal with any of these complexities, and can consume per need, without any large upfront investment.

The real question is: Can we build a similar model for private cloud?

One form of model that already exists is a public cloud, but there are a few key differences. You don’t have to pay for the time you use Salesforce, but in the case of public cloud, you have to pay for usage in terms of time. Second, you are still responsible for application deployment and management on top of an infrastructure, but you don’t get as much visibility into the infrastructure. Also, you are exactly consuming all of the same resources, but without much control over the performance of these resources.

Ideally, we should be able to create a hybrid model where the infrastructure remains private, but the consumption looks like a public cloud, and comes without any operational headaches in terms of stitching together different technologies, scaling up the system, upgrades, hardware refreshes, and lack of visibility.


ZeroStack_Ajay GulatiAjay Gulati, Co-founder, CEO, and board member of ZeroStack, leads the compamy’s innovative team and corporate strategy. Ajay was a senior architect and R&D lead at VMware where he designed flagship products including Storage I/O control, Storage DRS, and DRS. He has been recognized as a prolific inventor by his peers and has more than a dozen patents to his name. Ajay has consulted with multiple startups including Nimble Storage and Velocloud Networks. Ajay has a Ph.D. from Rice University and a B.S. from IIT Kharagpur.

Facebooktwittergoogle_pluspinterestlinkedinmailFacebooktwittergoogle_pluspinterestlinkedinmail