Startertutorials Blog
Tutorials and articles related to programming, computer science, technology and others.
Subscribe to Startertutorials.com's YouTube channel for different tutorial and lecture videos.

Categories: Cloud Computing. No Comments on Cloud Computing Essentials

Now-a-days the buzzword in the corporate world is “cloud computing”. If you are hearing this term for the first time and want to know more about cloud computing, then you are at the right place. This article gives a brief introduction to cloud computing essentials and provides links to other useful resources.

 

The Cloud

The “Cloud” is the combination of hardware (servers, disks, networking equipment) and software (virtualization software, operating system and other services)  needed to run the hardware in a data center.

 

Cloud Computing

According to NIST [1]: Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

 

A more simplified definition is: cloud computing is a model which enables users to access resources through internet (cloud) on pay-per-use (utility) basis.

 

Characteristics of Cloud Computing

Following are the essential characteristics of cloud computing:

    1. On-demand self-service: The resources are provisioned as per user demand and it must be done with little or no service provider intervention.
    2. Broad network access: Resource or services must be accessible anywhere through thin or thick clients (ex: PCs, laptops, mobile phones etc.) via internet.
    3. Resource pooling: Providers pool several resources and provide them to users using a multi-tenant model. This results in economies of scale.
    4. Rapid elasticity: Resources must be scaled in and out based on user demand. This elastic provisioning should be done automatically.
    5. Measured service: Resource or service usage is monitored, controlled and reported providing transparency for both the provider and consumer of the service. Consumer pays only for what he/she uses (pay-per-use model).

 

Advantages of Cloud Computing

Following are the advantages of cloud computing [7]:

  • Large-scale multitenancy achieves significant economic advantage.
  • Transforming CAPEX to OPEX.
  • Flexibility in provisioning resources.
  • Smoother scalability.
  • Self-service IT infrastructure.
  • Severely reduced disaster recovery costs.
  • Increased automation.
  • Release from ABI (Application Binary Interface), operating system dependencies and restrictions.
  • MapReduce enables new services.

 

Cloud Service Models

Cloud service models

 

  1. Software-as-a-Service (SaaS): In this model the consumers can use the application services provided by the cloud providers. The consumers can access the service through thin clients (ex: web browsers) or through APIs. Consumers have no control over the application or the underlying operating system and infrastructure. The only control provided to consumer is changing the user configuration settings. Examples of SaaS providers include Google Apps, Facebook, YouTube, Salesforce etc.
  2. Platform-as-a-Service (PaaS): In this model consumers can develop or deploy their own applications on the platform (languages, libraries, and tools) provider by the cloud provider. Consumers have no control over the underlying operating system and infrastructure (servers, storage, network etc.). Consumers will have limited control to modify the environment (platform) settings. Examples of PaaS providers include Microsoft Azure, Google AppEngine, IBM Bluemix, Amazon Simple DB/S3 etc.
  3. Infrastructure-as-a-Service (IaaS): In this model consumer is able to provision processing, storage, network and other resources on which the consumer can develop or deploy an application. Consumer can’t manage the underlying cloud infrastructure but has control over the operating system, firewall, storage and deployed applications. Examples of IaaS providers include Amazon EC2, GoGrid, Flexiscale etc.

 

Cloud Deployment Models

Cloud Deployment Models

 

  1. Private Cloud: A cloud which is internal to the business or organization and not accessible to the general public is called a private cloud [5].The private cloud is deployed for exclusive use of an organization which contains multiple consumers. The private cloud may be owned by an organization or a third-party or both and can be deployed on or off premises.
  2. Public Cloud: A cloud made available to the general public in a pay-as-you-go manner is called a public cloud [5]. The public cloud is deployed for open use by general public. This public cloud can be owned by business, academic, or government or a combination of them. The public cloud exists on the premises of cloud provider.
  3. Community Cloud: The community cloud is deployed for the exclusive use of a community of users (organizations) sharing common goals. The community cloud can be owned by one of the organizations or a third-party or a combination of them. It may exist on or off premises. Examples of community clouds are: Open Cirrus, Chameleon Cloud.
  4. Hybrid Cloud: The hybrid cloud is a combination of two or more distinct cloud infrastructures (private, public or community) that remain separate but are bound together by standardized technology that enables data and application portability (ex: cloud bursting).

 

At this point you might be interested in learning the differences between a public cloud and a private cloud. They are as shown below:

private-cloud-vs-public-cloud

Source: Reference [5]

 

Note: In the above image conventional data center refers to a private cloud.

 

Enabling Technologies

According to [7], [8] the following technologies enabled cloud computing as it exists today:

  • SaaS (Software-as-a-Service)
  • Inexpensive storage
  • Inexpensive and huge CPU bandwidth to support significant client computation
  • Sophisticated client technologies like HTML, CSS, AJAX, REST
  • Client broadband
  • SOA (Service Oriented Architecture)
  • Large infrastructure implementations from Google, Yahoo, Amazon, Microsoft and others that provided real-world, massively scalable, distributed computing
  • Commercial virtualization

 

There are three main factors contributing to the rapid adoptance of cloud computing [9]:

  1. Rapid decrease in the prices of hardware and increase in computing power and storage capacity, and the advent of multi-core processors.
  2. Exponentially growing data size in scientific instrumentation/simulation, Internet publishing and archiving.
  3. Wide spread adoption of services, computing and web 2.0.

 

Similar Concepts

Although “cloud computing” might seem or look like a new technology, it is actually an amalgamation of existing concepts or technologies [8] among which a few are listed:

  • Client-Server Model
  • Grid Computing
  • Mainframe
  • Utility Computing
  • Peer-to-Peer
  • Distributed Computing
  • Utility Computing
  • Autonomic Computing

 

Other Useful Resources

 

References

[1] NIST definition of cloud computing

[2] NIST Cloud Computing Reference Architecture

[3] Cloud Computing Wiki

[4] Infoworld: What Cloud Computing Really Means

[5] M. Armbrust, I. Stoica, M. Zaharia, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, and A. Rabkin, “A view of cloud computing,” Commun. ACM, vol. 53, no. 4, pp. 50–58, 2010.

[6] B. Hayes, “Cloud computing,” Commun. ACM, vol. 51, no. 7, p. 9, 2008.

[7] M. Nazir, P. Tiwari, S. D. Tiwari, and R. G. Mishra, “Cloud Computing : An Overview,” Commun. ACM, vol. 13, pp. 1–15.

[8] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: State-of-the-art and research challenges,” J. Internet Serv. Appl., vol. 1, no. 1, pp. 7–18, 2010.

[9] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud computing and grid computing 360-degree compared,” Grid Comput. Environ. Work. 2008 (GCE ’08), no. November 2015, pp. 1–10, 2008.

How useful was this post?

Click on a star to rate it!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Suryateja Pericherla

Suryateja Pericherla, at present is a Research Scholar (full-time Ph.D.) in the Dept. of Computer Science & Systems Engineering at Andhra University, Visakhapatnam. Previously worked as an Associate Professor in the Dept. of CSE at Vishnu Institute of Technology, India.

He has 11+ years of teaching experience and is an individual researcher whose research interests are Cloud Computing, Internet of Things, Computer Security, Network Security and Blockchain.

He is a member of professional societies like IEEE, ACM, CSI and ISCA. He published several research papers which are indexed by SCIE, WoS, Scopus, Springer and others.

Leave a Reply

Your email address will not be published. Required fields are marked *