Tuesday, December 8, 2009

Cloud Computing, or Everything as a Service

If you ask anyone today to define "cloud computing," there is slim chance you will get agreement on an exact definition. It is one of those emerging technologies that everyone knows they want to get into, but no one seems to know why or what the real benefit is. There is a lot of promise, but very few companies have realized tangible benefits from such services. The fact of the matter is that it is one of those areas that seems to be in a continuous state of flux.

Cloud computing took off in a rather unassuming manner with not much fanfare, but lately it has become a conversational topic in every IT organization. "Cloud," in this case, is really synonymous with "the Internet." Cloud computing is not a technology; it is the conversion of a set of technologies to be offered in the form of an Internet- or network-based service rather than as asset purchases.

This, you may recall, is no different from the traditional hosting services provided by several Internet Service Providers or ISPs. Back in the early days, a lot of companies took this concept and applied it to application hosting (application service providers, or ASPs) and some even went so far as to host storage (storage service providers, or SSPs) and even Software as a Service. It is enough to say that other than hosting services, many of these other novel concepts met with somewhat of mixed success.

Cost-Cutting Rules

So, how is cloud computing different from previous attempts to move compute resources into the Internet? Let me take a stab at answering the first question this way: The main difference between the attempts of previous years and this time around is that today, there seems to be a keen interest from the customer community. The primary driver for this interest, I believe, is cost. Everyone is looking for opportunities to trim costs, and there is nothing more promising than having to not worry about racks and racks of hardware sitting in company data centers that have to be managed and maintained -- and, more importantly, constantly reinvested in as it depreciates.

The reason companies can realize cost savings is because one of the fundamental features offered in a cloud service is the pay-as-you-go model. In other words, you only get what your demands are and, in turn, you pay only for what you use. No longer do you need to preallocate budgets to factor in growth that you can only take a guess at and waste whatever you are unable to use. Computing will essentially become a commodity, and the medium of delivery -- the Internet cloud. The quantum for payment is generally decided upon by the commodity you use. For example, for computing resources it could be the number of CPU cycles per hour; storage could be in gigabytes or terabytes; and network resources could be in megabits per second.

Before getting into the schematics of what the future holds for cloud services, let us examine the key "as a Service" areas that most service providers are excited about. Keep in mind that these are by no means the be-all and end-all of cloud computing services. There will be more areas that such providers may offer and even areas within areas -- i.e., niche services that are a subset of the overall service. Many knowledge management portals such as Wikipedia refer to cloud computing as divided into these three broadly defined areas: 1) Infrastructure as a Service (IaaS); 2) Platform as a Service (PaaS); and 3) Software as a Service (SaaS). Let us explore these in more detail.

Infrastructure as a Service

Infrastructure as a Service is probably the most broadly defined category and can encompass practically anything that is classified as "infrastructure." So, going back to the point made previously, service providers need not offer everything but can choose to focus on a niche area or a subset.

Storage as a Service is a common example. Many providers have started offering cloud-based NAS services -- a substitute or a "third copy" of a company's primary file-sharing environment. They argue that by moving the primary copy into the cloud or by using the third mirror as a backup copy or tape replacement, companies can rid themselves of an ever-growing burden of unstructured file data.

Another big example is platform virtualization. Given that virtualization adoption is spreading like wildfire, the next logical progression is to move that to the cloud. So, providers can essentially offer Computing Hardware as a Service -- i.e., CPU, memory, interconnects etc. -- with virtualization as the underlying driver to accomplish the shared-hardware model.

Offering Networking Components as a Service is becoming popular as well. It could include connectivity, private address spaces, firewalls, VPNs and other components that can be virtualized in the cloud.

Platform as a Service

It is arguable that Platform as a Service has a bit of an overlap with the Infrastructure as a Service area, as the word "platform" can be defined as "an infrastructure component." However, the key differentiator for this service from the other one is the fact that in PaaS, a provider makes the entire stack available as a service -- all the way from the computing hardware and operating systems to the software solution stack.

This makes deploying a solution easy, as companies get the entire application environment available to them and don't need to procure any additional software or licenses; they are managed by the provider. This is a winner for small to medium sized businesses that would much rather invest in their companies than have to invest in costly data center and application environments. At the same time, this provides a private and dedicated environment for those who are security-conscious.

Software as a Service

This area has been around for the longest time and previously was known as "hosted applications." Most providers will allow their customers to access an application environment via a customizable Web-based front end or a dedicated client. The underlying environment remains masked to the customers, and the provider may choose to deliver it via any number of delivery mechanisms as long as the customer has access to its environment and data, and can customize it to the extent necessary to conduct business.

If you notice, I have deliberately stayed away from mentioning any providers or vendors in this space. This decision was primarily driven by the fact that it is such a dynamic and high-growth industry, and there are literally new providers springing up daily. However, it also underscores the fact that the cloud is forcing customers to think about their IT environments in a commoditized manner, and they can literally set out with a shopping cart and find a provider that fits their needs.

Having discussed how broad the cloud-computing industry is poised to become, it is worth discussing some of the "rules of the game" that most, if not all, cloud providers will have to adhere to in order to be successful.
Offer Service Levels

Service levels offer guarantees for the investment that companies will make when they purchase such services. For example, one service level is availability. By definition, the cloud service ought to be "highly available," as it depends on the Internet as its delivery mechanism.

In the Internet, there are multiple routes to get from point A to point B (a treatise in IP networking) and the Internet as a whole generally never goes down. The cloud service should mimic these attributes.

Shore Up Security

Security has gained much attention in the recent past. The argument on both sides is generally that data on the Internet can be exposed to a huge security risk. There have been various definitions of a "private" vs. a "public" cloud.

A private cloud may be most appropriate offering from service providers catering to large companies. Or, companies with compliance and legal requirements may be forced to subscribe to a private cloud service. A private cloud might require some sort of a private connection, like a VPN.

A public cloud, by contrast, would be something that anyone could access from anywhere.

Services as a Service

Until cloud services truly become commoditized, there is no escaping the fact that most companies that subscribe to this service will need assistance in order to make the most of it. Service providers will therefore need to offer some of the other sorts of professional services for implementation and integration.

I am sure I have not covered a lot of the common features and functions that cloud service providers will have in common. This will become clearer once standards are agreed upon and enforced. Until then, this is a bit of a mixed bag, as each vendor has the independence to create its own set of rules.

So, what is the future for the cloud? Will this "Version 2.0" be a success? The answer to this question is, only time will tell.

Cloud service providers are wiser today; they're not making the same mistakes their predecessors made and are trying to work in a collaborative manner for the greater good of the community. That said, the biggest thing that stands out today against cloud computing is the lack of standards.

Unless an industry group empowered to set standards is accepted and there is full interoperability between such services at all levels, there will be vendor lock-in and similar issues that plague the computing industry today. Keep in mind, for this commodity model to be successful, scalable and -- more importantly -- affordable, it needs to be widely adopted.

Sometimes I wonder if the "Dumb vt100 terminal" from the the days of the mainframe could be making a comeback!


No comments:

Post a Comment