When talking to CXOs at a few medium to large enterprises about cloud, I was pleasantly surprised to see the changes in their concerns and queries over the last 2 years. Two years ago, the two most common questions I had to address were:
1) What is this “cloud” business? Isn’t that marketing jargon for hosting? And,
2) What about the security of my data?
But a year later, I saw a shift happening. It is no longer about what the cloud is, but more about what I can effectively do with the cloud. The two most common queries I get today are:
1) Is the cloud worth it for me? What about my existing investments (read hardware, software licenses or in-house apps)? And,
2) How will I manage cloud based apps? Won’t this make my environment more complex?
This shift in concerns tells me that the market has matured considerably and enterprises have evolved from being skeptics to adopters. But with the availability of a range of solutions and offerings under the cloud umbrella, what I still find most fascinating is the sheer lack of understanding about what should qualify as cloud computing and how is it really different from hosting. In order to be fair to the technology, any attempt to define cloud computing must include a quick primer on its evolution.
What started as “co-location” a few decades ago, i.e. shared hosting of one’s servers in a third party data center, soon evolved into “hosting”, which means servers owned and managed by a third party that are rented out to multiple organizations for running their business applications. This is still one of the biggest revenue earners for some cloud providers and the Indian hosting market itself was close to a few billion dollars in 2012. The next stage in the evolution was outsourcing, or better yet, total outsourcing, which moved not only the machines and software, but also human resources and services to third parties.
The “Cloud”, in its modern avatar, has happened in the last few years, driven primarily by the need to drive down costs further through both scale and scope. This shift was made possible because of technologies like virtualization and remote application management.
What differentiates cloud computing from its erstwhile predecessors are the following concepts:
Today, one can logon to a website, swipe a credit card and order servers (actually virtual machines), databases, complex vertical business platforms or complete readymade applications. The fact that you can order these online is not what differentiates cloud, but the fact that it is created automatically by the system (provisioned) after the order is received, without any human intervention (workflow) is unique to cloud computing. The technology makes the experience worthwhile and the costs affordable.
This feature is what makes cloud computing efficient and intriguing, and is the primary culprit responsible for the unprecedented adoption of cloud computing in such a short period. Like any other utility service (phone, electricity etc) cloud computing changes the business model from CapEx based on-premise model or OpEx based hosting model to an OpEx based pay-per-use model. A typical cloud platform monthly bill looks very similar to a phone bill, with charges based on usage of compute, storage, database, egress etc listed in detail. The pay-per-use model has not only changed the enterprise budgeting framework, it has also revolutionized the start-up ecosystem, which thrives on bootstrapping and low initial cost structures.
Having one hosted application being used by multiple customers is not a new concept, but cloud has made it ubiquitous due to implementation of automated data isolation algorithms and superfast time-to-market frameworks. With a cloud platform as the foundation, even a small start-up can provide a solution to multiple customers without incurring large upfront costs. An application written for the cloud can include multi-tenancy best practices in the code itself: such as creation of new database instances for every new customer added or isolated access control logic for each customer.
Adding additional servers or database instances automatically when user load goes up and dropping them when user load is low, is a feature unique to the cloud. The application code can now include logic which automatically adjusts infrastructure scale based on policies linked to the business model. So an online consumer application that provides live cricket scores will add more resources when the World Cup is on and reduce them during off-season, usually without any human intervention. The customer experience does not suffer during the world cup and the costs stay low in the off-season.
5. Build complex cloud application from existing cloud applications
Since every application in the cloud is a service, one can find an app to address any business problem today on the cloud, ranging from demographic data to payment gateways to geospatial data. The ecosystem is putting this concept to good use with thousands of apps available on cloud marketplaces that solve very simple to highly complex problems addressing the needs of consumers at one end of the spectrum to large enterprises at the other end.
What stands out in all of the above is the dependency on availability of technology that can deliver these features in the time and at the scale demanded by today’s businesses. This technology is not driven by advances in hardware, storage or networking. The magic is actually in the software. Whether it is cloud platform providers like Microsoft offering “public cloud” services from their own datacenters or large enterprises trying to convert their existing datacenters into a “private cloud”, it takes specialized software to deliver a true cloud experience that includes all of the above features. Within the enterprise datacenter, cloud computing concepts such as self-service, pay-per-use, multi-tenancy etc take a slightly different form, but the essence stays the same. Self-service refers to employee portal based requests; pay-per-use is replaced by usage based chargeback and multi-tenancy becomes multi-departmental data isolation. However, private clouds are inherently limited in their scale and may not offer the efficiencies derived from public cloud environments, but both have their distinct advantages. Enterprises today are evaluating cloud adoption strategies based on their own application usage scenarios and specific business needs.
About the author:
Vikram Bhatia (Tweet to him @vikram2000) is the Product Marketing Lead & Business Head for the Windows Azure Cloud Platform for Microsoft. He is based in New Delhi. Vikram is a graduate from IIT Kanpur and also holds an MBA from the Indian School of Business, Hyderabad.