What is cloud computing?
The obvious question that must be lingering in your minds by now is, "what's all the talk and buzz about cloud computing? What does it really have to offer?"
Let's have a quick look at what exactly cloud computing is.
NIST or the National Institute of Standards and Technology defines cloud computing as A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (for example, networks, servers, storage, applications, and services) that can be rapidly provisioned, and released with minimal management effort or service provider interaction.
It also talks about certain essential characteristics of cloud computing that are worth mentioning:
- Resource pooling: One of the key features of cloud computing is the ability to pool resources, and make them available to users on demand in a shared fashion. In simpler terms, the users are abstracted from the complexities of the underlying hardware, or the location of the servers and the datacenters. All that is required is for users to log into the cloud portal, provision, and de-provision resources on the fly.
- Multi-tenancy: A common characteristic of a cloud is its ability to provide shared services to multiple end users. This style of providing a shared service from a common resource while keeping the user-specific data isolated is called multi-tenancy.
- Cost effective: Because of pooling resources and multi-tenancy, there is very little wastage of resources in a cloud environment. Hardware and software come precompiled and are ready to use a format that reduces the overall costs of deployment, management, and operation as well. Besides these, most public cloud vendors also offer their services on a utility style costing, thus eliminating the need for any upfront payments or heavy investments.
- Pay-as-you-go model: The utility style of costing makes sure that the cloud users only pay for the resources that they use, and not a penny more. This helps them to keep track of their resource consumptions and billing as well, while eliminating wastage of unnecessary resources.
- Robust and reliable: Clouds run off multiple datacenters; most of them geographically isolated from each other. The idea here is that in case one server, multiple servers, or even an entire rack fails, the cloud service would still run unaffected from it. This is due to a lot of built-in redundancy and automated fault tolerance. In some cases, where a cloud draws its resource from multiple data centers and an entire datacenter should go offline, individual cloud users would still suffer no outages. There is, in other words, no single point of failure, which would make a public cloud service vulnerable.
- Flexible services: Clouds today provide a very large set of services for the users to choose from, ranging from IaaS (Infrastructure as a Service), to PaaS (Platform as a Service), and even SaaS (Software as a Service). These services can be accessed via the Internet, enabled and consumed on demand, and then shut down and disposed of as well, once your tasks are over. Major business today even integrate their services with public clouds using open source APIs, thus forming hybrid clouds: special sets of clouds that can provide the pros of both private and public cloud computing while eliminating their individual cons.
Now that we have a basic understanding of what a cloud is, and some of its features and benefits, let's look at some interesting enterprise-level cases of where a cloud can be used.