What is Cloud Computing?

Cloud Computing is a business model that enable on-demand network access to a shared pool of resources that can be rapidly provisioned and released with minimum manual effort.  The shared pool of resources may include servers, platforms, storage, applications and services, and the technologies such as server virtualization. 

In simple terms, "cloud" or "on demand" refers to using a server or some resource installed on the server over internet when needed, rather than setting it up in your premises (called as on-premise). Instead of buying a resource paying a big price, you can use the resources paying only fraction of the price based on the actual usage. 

Examples of popular cloud services include Amazon EC2, Google Compute Engine, Microsoft Azure VMs, Google App Engine, Salesforce, Google Drive, Amazon S3 and even Gmail. 

Cloud computing uses technologies such as server virtualization for provisioning resources. In Server virtualizationthe actual physical server on which the software is installed is not directly shared with the end user, but is shared through a virtual address. There may be more than one server and might be scaled to include more servers, however, the user sees only his virtual address.

 

Need and Importance of Cloud Compputing

Currently software architecture is changing from monolithic applications to microservices, where the applications are composed of many smaller focussed services. Teams own these services completely including its developement and operations activities, which is also called a DevOps. Having a managed infrastructure can help a lot in DevOps.

This is where cloud computing and providers such as AWS help you by taking away some of these responsibilities which are common; you can then focus on the business problem in hand rather than spend too much of time on infrastructure management. 

Cloud computing also reduces the need for bigger initial infrastructure investments, as it mostly involves pay per use. This is a great help and need for many startup companies. 

 

Important Characteristics of Cloud Computing

The US National Institute of Standards and Technology (NIST) identified five essential characteristics of cloud computing: on-demand self service, broad network access, resource pooling, rapid elasticity and measured services. There are actually more characteristics to cloud computing.

 

On-demand self service

Resources should be provisioned on-demand by the users, with maximum automation and minimum manual effort.

 

Broad network access

 Resources should be accessed over the network with standard access mechanisms.

 

Resource pooling

Resources should be pooled to service multiple clients through multi-tenancy, so that multiple users can be served using the same physical server.

 

Rapid elasticity

Resources should be rapidly scaled up or down based on demand.

Horizontal scaling or scaling out involves adding additional server resources to scale the application. Adding more servers is scaling out.

Vertical scaling or scaling up involves increasing the computing capacity of current server resources. Increasing the CPU or RAM of an existing system is scaling up, but this might be limited to certain limits.

 

Measured Services

Resources should be provided on a pay-per-use model.

 

Multi-Tenancy

Should allow multiple users to make use of same shared resources.

Multi-tenancy can be of different types: virtual multi-tenancy and organic multi-tenancy. Virtual multi-tenancy involves sharing of underlying computing and storage resources, but having separate virtual machines for each client. Organic multi-tenancy involves sharing all resources by multiple users through explicit multi-tenant capabilities coded into the application. 

 

Outsourced management

Cloud computing allows companies and users to outsource areas of non primary concern like IT infrastructure etc. to external cloud providers.

 

Performance, Reliability, Reduced costs

Scaling as per demand  results in better performance, improved reliability and reduced costs.

References (Deprecated): 

Book: Cloud Computing A Hands On Approach by Arshdeep Bahgya and Vijay Madisetti

Comments

sireesha A's picture

Good, This explanation is easy to understad in a simple way to the beginers .

Learn Serverless from Serverless Programming Cookbook

Contact

Please first use the contact form or facebook page messaging to connect.

Offline Contact
We currently connect locally for discussions and sessions at Bangalore, India. Please follow us on our facebook page for details.
WhatsApp (Primary): (+91) 7411174113
Phone (Escalations): (+91) 7411174114

Business newsletter

Complete the form below, and we'll send you an e-mail every now and again with all the latest news.

About

CloudMaterials is my blog to share notes and learning materials on Cloud and Data Analytics. My current focus is on Microsoft Azure and Amazon Web Services (AWS).

I like to write and I try to document what I learn to share with others. I believe that knowledge is useless unless you share it; the more you share, the more you learn.

Recent comments

Photo Stream