Why Enterprise Software will hit a Wall When Moving to the Cloud

We have a crisis afoot in the world of cloud computing.  It’s not cloud outages that cause a reliability crisis.  It’s not looming security breaches.  It’s the fact that enterprise software providers will hit a wall when they move to cloud computing, and I’m pretty sure they don’t know it yet.

At issue is the fact that most enterprise software providers, including big CRM and ERP systems, won’t find an easy path to the cloud and their users will pay for it.  Here’s why, and how you can mediate your risks.

The core problem is around architectural limitations that are built into the core products, which are largely on-premise software systems that are decades old.  Unlike the larger cloud computing providers, such as Amazon Web Services (AWS), Google, and Rackspace, which are purpose-built around the model of a cloud, existing enterprise software is locked into older structures and architecture that will severely limit that software’s ability to support features that are expected in cloud-based technologies.

The heart of the problem is how traditional enterprise software deals with multi-tenancy and elastic scalability.

While most of the business-critical enterprise systems support multi-user systems, the ability to manage resource allocation to several thousand tenants within a public cloud environment is a very different animal.  Most enterprise software providers are tossing virtualization at this problem, hoping that the ability to have another system manage the allocation and de-allocation of resources will save them from having to both re-architect and redevelop their existing code base to support native multitenancy.  Perhaps this will jeopardize backward compatibility to introduce new problems, such as stability.

Elastic scalability is another problem that will be touchy for big enterprise software to solve.  Most enterprise systems are not designed to automatically seek out and allocate more resources as needed to support the tenants’ requirements.  Most enterprise software providers have a predetermined set of users that they are authorized to support, and a pre-defined hardware configuration to support a static number of users.

As most who have built public cloud-based systems know, the ability to auto- or self provision is an underlying value of cloud computing, but at the same time, it’s a truly hard problem to solve.  If big enterprise software thinks this is about porting their software to cloud-based platform clones, they have another think coming.  The ability to support elasticity is something that needs to be addressed at both the platform, and the application levels.  The older those systems are, the more the degree of difficulty goes up.

What should enterprise IT do?

Question the provider on what’s in their new cloud computing package.  While some may have indeed spent the time and money to build a true cloud computing offering, most are employing technological band aids, such as misusing virtualization, even allocating applications by adding new physical hardware to the data center (not kidding).

Also, make sure you test the cloud-based offering for its ability to support an increasing number of tenants.  Check out its ability to scale to support a dramatic and temporary increase in processing loads, such as end-of-month and end-of-year processing.  Finally, make sure to understand the costing models.  I suspect a few enterprise software cloud computing offerings will actually be more costly than leveraging the on-premise version, and that’s a big bowl of wrong.

What should enterprise software providers do?

Do it right the first time.  While budgetary pressures as well as the “need for speed” to the cloud may put the stress on you to cut corners, the reality is that this is your core business moving forward.  So, take the time to figure this out, even if it requires the re-architecture and re-development of your core system as it moves to the cloud.  It could take a long time and cost a pile of money.  However, the alternative is to release a poorly designed cloud platform that could easily kill your business.

This means rethinking technology, sales models, even the people who currently build the product.  Most should be doing a complete re-boot of the technology, but I suspect that most will attempt to drive forward carrying as much of the old baggage as they can.  They will die the death of a thousand cuts.

This wave is coming.  Unfortunately, I can’t reach directly into the minds of those in charge of the larger enterprise software companies and get them to think correctly about moving to cloud computing.  Ultimately, the one hurt most in this game will be those in enterprise IT, who can be loyal to existing larger enterprise software players to a fault.