Cloud Computing Explained
By Samisa Abeysinghe
- 7 Oct, 2011
An Introduction to the Cloud
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources. The types of computing resources include networks, servers, data storage, applications and services. These computing resources can be rapidly provisioned and released with minimal management effort or service provider interaction. So, the Cloud uses the optimum amount of computing resources that one needs from a shared pool of computing resources.
Given that resources are shared, the users of cloud computing will not have access to dedicated resources. However, given the ability to rapidly provision, when the demand for computing needs for a particular user is high, a lager portion of the pool could be acquired by that user. And when the demand lowers, the resources could be released back to the pool. The principle is to use optimum amount of resources at all times, that meets the needs of a user.
The convenience of this model is made possible by the automated provisioning and releasing of resources. Automation eliminates the need for manual interaction both on the part of the user as well as the service provider. It is an obvious assumption that the pool of resources is sufficiently large that simultaneous high demand from multiple users could be catered by the pool of resources made available by the service provider. Rapid provisioning and releasing of resources to scale up and down based on demand ensures operational efficiencies for a user in cloud computing.
The Three Delivery Models of the Cloud
Infrastructure as a Service (IaaS)
Basic computing resources such as processing power, data storage and networking components are provided to the consumers. The consumer have access to control the operating system, storage, deployed applications and possibly networking components such as firewalls and load balancers. However, the cloud infrastructure beneath them, that is used to provision virtual machine instances or storage instances are not exposed to the consumer and would be managed by the service provider.
Platform as a Service (PaaS)
Application hosting environments are provided to the consumer. The environment provided can be used by the consumer as the platform on top of which consumer controlled applications are run. The platform is typically an application framework. The platform environment and the infrastructure on top of which it is run (operating system, hardware and network infrastructure) will be managed by the service provider on behalf of the consumer.
Software as a Service (SaaS)
Application software are provided to the consumer. All three layers - application, platform and infrastructure are managed by the service provider on behalf of the consumer. The consumer can just focus on the use of the application.
Cloud’s Deployment Models
There are three deployment models in cloud computing.
1. Public Cloud
Public cloud services are characterized as being available to clients from a third party service provider via the Internet. The term “public” here reflects the availability over the internet. “Public” does not necessarily mean free, and there could be free cloud computing services as well as paid services.
Public cloud vendors typically provide an access control mechanism for their users so that, users will have isolation from other users when using the shared computing resources. Thus, public clouds have the ability to ensure data security and privacy for the users.
Public clouds often provide an elastic, cost effective means to deploy solutions, to leverage the provisioning and releasing characteristics of the shared computing resources pool.
2. Private Cloud
In a private cloud, the pool of resources are owned and managed by an organization for its internal users. Data and processes can be managed within the organization without the restrictions of network bandwidth, security exposures and legal requirements that may apply when using a public cloud.
Private cloud offers many of the benefits of a public cloud computing environment, such as being elastic and service based. In addition, given that the networks used are restricted and designated, private cloud services can offer the users greater control of the cloud, encouraging them to deploy sensitive applications and data with greater trust on levels of security and resilience.
3. Hybrid Cloud
A hybrid cloud is a combination of a public cloud and private cloud that facilitates the interoperability of the applications deployed on both clouds. The rationale is to reap the best benefits from both flavors. In this model users typically deploy non-sensitive applications and data to the public cloud, while keeping sensitive services and data in their control in the private cloud.
One of the key driving factors for all the hype around cloud computing, is the benefits it offers, the most prominent being significant cost reduction to start-up companies and industry leaders alike.
Cost Reduction, a key Benefit of the Cloud
Cloud computing solutions are available at a fraction of the costs that used to be associated with the traditional IT services. Upfront capital expenditures are eliminated.
In fact, cloud computing models are moving significant elements from the IT budget from capital expenditure column to operational expenditure column in the balance sheet. This indicates, in addition to the reduction in costs, the IT operational efficiencies just got a boost. It is a notorious fact that many IT projects take ages to take off, waiting for that budget to be approved. Now the landscape is changing dramatically, thanks to the operational nature of expenditure, as well as the low cost, that, some of the expenses could even be out of that petty cache box. And more importantly, the benefits from the execution efficiency adds to the overall organizational efficiency.
Cloud computing also dramatically reduces IT administrative burden. As opposed to managing own IT assets, the job is sort of outsourced, to the best in the space. And the IT personnel in the organization can focus on organization specific operations. This is similar to what happened to that mail server. Not as long as three to four years ago, we used to have a mail server managed by our own IT department. And if you have ever dealt with configuring and maintaining a mail server, you will know that the administrative burden, including skills and time it takes, is quite high. Nowadays, for quite reasonable amounts that are much less than those costs compared to managing your own mail server, we can get the mail service from a provider like GMail. And to make the story still appealing, comes the benefit of all other packaged solutions around email, that make the service still attractive. All these added benefits are for a fraction of the costs of hosting and managing your own mail server. Likewise, the cloud computing phenomena can reduce the administrative burden of IT departments for many assets in all spaces, from infrastructure, platform to software.
This is not only true for the use of a public cloud, but also for a private cloud. Compare the cost of providing hardware and software to all different departments in an organization and managing hardware and software maintenance for all those computers to that of a private cloud, where the maintenance is central and updates are transparent. Also, the provisioning could be automated and supported via a self service portal, so that those who want the IT assets can have access to the resources almost immediately, rather than waiting for the IT assets be procured and delivered by the IT department personnel.
The direct cost reductions come from the fact that, there is no longer the need to have dedicated machines for those activities that run only few hours a day. In the traditional model, there is a dedicated machine, at least a PC, that will be used for those sporadic tasks of the day, and the rest of the time, it sits idle, doing nothing, but still consuming power as well as a space to sit. With the cloud computing model, you cam spawn a virtual instance, run the job, and release the instance. Others who need the resources are now free to use those resources that were freed.
The overall total cost of ownership (TCO) can be cut down by significant amounts.
Author: Samisa Abesinghe, VP Engineering, WSO2 Inc.