Cloud Computing 101

April 27, 2012 / Cloud Server Hosting

Imagine a corporate data center. Say, it has 100+ servers, air conditioning, power backup, and line conditioners – all paid for and owned by the company. And skilled personnel to keep the data center running.

Say it costs the company $350,000 per month, or $11,666 per day, to keep the data center operational. Whether it is a weekday, weekend, or the night before Christmas. The company continues to incur a daily cost of $11,666 towards the infrastructure.

Now imagine your local utility company that provides power to your home. They have huge plants full of equipment that you never had to pay for. When nobody is home and all lights are off, your home consumes only the minimum power required to run the equipment that hums along perpetually.

However, when the whole family is at dinner, the washer-dryer is spinning, TVs are running, and your power consumption spikes significantly. If the entire family goes vacationing to the Bahamas for a week, your power consumption reduces to a trickle.

These two scenarios underscore the difference between traditional I.T. infrastructure and Cloud computing respectively. The following schematic reproduced from Gartner.

DEFINITION

A Cloud is a set of interconnected resources – such as CPUs, memory, servers, hard disk storage, networking equipment, databases, firewall, anti-virus software, etc., and even applications software – on the Internet that is delivered and consumed as a service.

Potentially, a Cloud can provide computational power, data storage, software applications, data access, disaster recovery. Other resources, including the management of all of these, from a location on the Internet.

The user can access all Cloud resources from anywhere in the world through a web-based browser. And billed for the services he utilizes on a utility model – per use, or per consumption.

The National Institute of Standards and Technology (NIST) defines a Cloud as “a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources. That rapidly provisioned and released with minimal management effort or service provider interaction.” ***

CHARACTERISTICS

Clouds are differentiated from traditional I.T. by at least the following distinctiveness.

  1. The Cloud delivers computational power as a service.
  2. The Cloud is hosted somewhere on the Internet and is usually not physically present on-premise.
  3. The Cloud is accessible from anywhere using a plain web browser from any machine. Whether Windows, Linux, Android, iOS (Apple), AS/400, Mainframe, or some other. Access is not restricted to any particular type of device. Liberating, huh?
  4. The resources are virtual. Unlike a dedicated hosted service, one cannot necessarily go to any particular Server in the data center and say “This is where my payroll application is running.” The cloud consists of a set of resources. And at any point in time, a particular application is running somewhere in that cloud, and not on any particular pre-designated piece of hardware.
  5. There is nothing ever to buy. The user never incurs any capital expenditure in having to pay for equipment.
  6. There is nothing ever to discard or replace. The user is never burdened with the cost of obsolescence.
  7. The resources available to the user are elastic. Because he can demand increasing resources as his needs increase, and he can release resources as his needs decrease. The user enjoys instant scalability and on-demand provisioning.
  8. The resources used exclusively by the user, but when released by him, may be assigned to any other user.
  9. Multi-tenancy greatly reduces costs by sharing finite resources across multiple clients. Thereby facilitating the handling of peak load without any capital investment. Multi-tenancy reduces cost and does not compromise the exclusive use of resources or security.
  10. The user is billed for his usage of resources purely as a utility.
  11. The user is protected from the impact of fluctuating and unpredictable business demand. In fact, the user is greatly empowered by the ability to instantly scale up his computing infrastructure on demand and without any capital investment or captive equipment.

UNIQUE SELLING PROPOSITION (USP)

Cloud computing is:

  1.  A great boost for start-up companies. Because a cash-strapped startup can now compete in computational power and computing capacity with the Big Boys.
  2.  A source of great savings for established companies. Because with proper investment in Enterprise Public Clouds. They can save a bunch of money by taking advantage of the multi-tenancy economy of scale.
  3. Great for the economy. Because it start-up companies benefit AND established companies benefit, how can the economy not benefit?
  4. Great for the ecology. Because when (a) data centers host massive numbers of servers and other equipment, (b) cooling systems, (c) power conditioning units, (d) data center operators, and (e) associated support systems are consolidated, the result is less wastage of all resources. Additionally, it is easier to make data centers green than hundreds of companies green. And green data centers are, in fact, today’s viable reality.

ADVANTAGES

  1. Elasticity
  2. I.T. agility leading to business agility.
  3. No capital investment.
  4. Lower cost of ownership
  5. The user is protected from the impact of fluctuating and unpredictable business demand.
  6. The user greatly empowered by the ability to instantly scale up his computing infrastructure on demand. And without any capital investment or captive equipment.
  7. Improved security due to the centralization of data.

SERVICE MODELS

Infrastructure as a Service (IaaS)

In this most basic cloud service model, cloud providers offer computers – as physical or more often as virtual machines –, raw (block) storage, firewalls, load balancers, and networks. IaaS providers supply these resources on demand from their large pools installed in data centers.

Local area networks including IP addresses are part of the offer. For the wide area connectivity, the Internet used or – in carrier clouds – dedicated virtual private networks configured.

To deploy their applications, cloud users then install operating system images on the machines as well as their application software. In this model, it is the cloud user who is responsible for patching and maintaining the operating systems and application software.

Cloud providers typically bill IaaS services on a utility computing basis, that is, cost will reflect the amount of resources allocated and consumed.

Platform as a Service

In the PaaS model, cloud providers deliver a computing platform and/or solution stack typically including operating system, programming language execution environment, database, and web server. Application developers can develop and run their software solutions on a cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers.

With some PaaS offers, the underlying compute and storage resources scale automatically to match application demand such that the cloud user does not have to allocate resources manually.

Platform as a service (PaaS) is a category of cloud computing services that provide a computing platform and a solution stack as a service. Along with SaaS and IaaS, it is a service model of cloud computing. In this model, the consumer creates the software using tools and libraries from the provider.

The consumer also controls software deployment and configuration settings. The provider provides the networks, servers and storage.

[1] PaaS offerings facilitate the deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities.

[2] providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet.

[3] Various types of PaaS vendor offerings could be extensive and will include a total application hosting, development, testing, and deployment environment, along with extensive integrated services that consist of scalability, maintenance, and versioning.

[4] PaaS offerings may include facilities for application design, application development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and marshalling, database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation. These services provisioned as an integrated solution over the web.

Software as a Service

In this model, cloud providers install and operate application software in the cloud, and cloud users access the software from cloud clients. Cloud users do not manage the cloud infrastructure and platform on which the application is running.

This eliminates the need to install and run the application on the cloud user’s own computers simplifying maintenance and support. What makes a cloud application different from other applications is its elasticity. This achieved by cloning tasks onto multiple virtual machines at run-time to meet the changing work demand.

Load balancers distribute the work over the set of virtual machines. This process is transparent to the cloud user who sees only a single access point. To accommodate a large number of cloud users, cloud applications can be multitenant, that is, any machine serves more than one cloud user organization.

It is common to refer to special types of cloud-based application software with a similar naming convention: desktop as a service, business process as a service, Test Environment as a Service, and communication as a service.

DEPLOYMENT MODELS

  • Public Cloud
  • Private Cloud
  • Hybrid Cloud

ADVANCED CONCEPTS

  • Cloud of Clouds
  • The Intercloud
  • The Hybrid Cloud

FOOTNOTE

*** Mell and Grance, “The NIST Definition of Cloud Computing,” National Institute of Standards and Technology, Information Technology Laboratory. http://csrc.nist.gov/groups/SNS/cloud-computing