Software vendors and the new reality of Cloud Computing

  • Facebook
  • Twitter
  • Linkedin
  • Email

Sanjay Srivastava

Chief Digital Officer

October 3, 2012 - When we moved from locomotives to aircraft as primary means of long-distance travel, we did not slap a couple of wings and new paint on the body of a train to turn it into an airplane. Trains had been designed around their specific operating environment – fixed tracks, meaningful ground friction, available sources of energy (steam, diesel and electricity). Steering wasn’t a concern; power was important but weight was never a real consideration; for electric engines no fuel storage was necessary, and for storable forms of fuel, availability mattered more than efficiency.

Airplanes though, needed to have more degrees of maneuverability, reduce air-drag and obtain significant aerodynamic lift, and be powered by a source of energy that was easy to store, transport, and highly efficient. Many of these design considerations were opposite to the ones that went into the making of the train. The right approach then, was the one we took – engineers went right back to the drawing board and redesigned for the new environment we would be operating in.

As the information technology world makes the transition from on-premise applications to the world of cloud–based software as a service, a similar approach makes sense. Just taking an on-premise application and slapping it within a software as a service (SaaS) shell will not software as a service make. On-premise applications are designed with a large assumption – the operating environment of a corporate firewall – which means dedicated networking, short-haul latency, in-firewall location-based security, among others things. Other constraints don’t matter, and as result, most on-premise applications also end up being very chatty, tightly bound and fine grained – attributes that would never work in a cloud.

Just like with the advent of airplanes, cloud computing has the potential to transform an industry. Already, businesses globally are seeing the operating capital benefits of software as a service, reduced overhead in management and maintenance, increased benefits with easy access to additional “Mash-Up” capabilities, better total cost of ownership with highly scalable architectures, and faster and more efficient multi-geography deployment mechanisms. But in order to take advantage of these benefits, cloud-based applications need to conform to the new operating requirements of the cloud as well. No longer is chattiness, tight binding and fine grain acceptable. Nor can we just bank on localized security and low latency networks within a firewall. Cloud-based applications need loosely coupled, coarse grained, distributed computing architectures, they need to leverage stateful messages across stateless protocols across the network, and their inherent security design needs to be application-to-application oriented and identity bound with a finely granular entitlement scheme. Alas, these design principles are very different from those of on-premise applications.

And so it comes to be again, that solution providers will need to go back to the drawing board and re-architect a solution that is designed for the new operating environment – that of the cloud. Depending on when the code was originally written, adapting an on-premise software to create a cloud-based software as a service solution will be no more plausible than adapting a train to turn it into a plane. Understandably, this additional work is a major distraction for any established solution provider, not to mention a dilution in current operating income. As a result they are, and will be, very slow to bring innovative cloud-based solutions to the market. When the transportation industry evolved to its next logical step, the industry leaders in trains did not become industry leaders in airplanes. Software providers will do well to learn a lesson from this, and not let new, innovative solution providers usurp their place in the industry.