Cloud Computing Tutorial for Beginners : Definition and Types of Cloud Computing

Cloud computing is the buzz word surrounding adaptive, responsive, resilient technologies and software frameworks that enable modern elastic computing premises.

Why do we need Cloud Computing ?

In the early days of computing, applications were designed for a single platform, single customer on a dedicated server or clustered environment.  The clustering had its drawbacks such as wastage of resources in terms of memory, compute power or storage.  Design of a clustered solution heavily depended on accuracy in capacity planning.
To overcome issues in clustered environment such as under utilization, server downtimes, high availability systems were designed, which were clustered nodes with redundant failsafe networks, power sources, servers, and storage to provide guaranteed uptime, and remote backup site for failover in case of crashes.  However these solutions quickly became cumbersome to manage and expensive to run, not to mention that over estimation and under utilization of resources were quickly becoming burdensome and expensive for enterprises and led to lower return on investment (ROI), so much so that small and medium enterprises (SME) were unable to afford such solutions and proved too costly to operate and maintain.  This led to design of solutions that could automate the management of resources in a datacenter.

What is Cloud Computing ?

The could specification is fundamentally met by three layers, IaaS, PaaS, and SaaS which act in tandem to deliver responsive web application and services.

what is cloud computing -tutorial for beginners

The individual nodes or servers and management of hardware resources dynamically is attributed to IaaS, and the management of software to be elastic, or dynamically deployed across one or more nodes as on demand is attributed to SaaS, which includes a sophisticated automated deployment system and load balancing strategies on top of a IaaS architecture.  PaaS are managed IaaS and SaaS development platforms that enable development, deployment and usage of SaaS software.

What are the components of the cloud computing stack?

Cloud computing consists of both hardware and software frameworks that work in tandem to provide the dynamic and extensible computing feature called elastic computing.  At the very core is IaaS layer which is more to do with hardware and dynamic networking and configuration of nodes, and SaaS forms the topmost layer which are software applications or services that may be extensible and load balanced across a number of nodes or vm’s.  The PaaS is a dynamic platform which supports both IaaS and SaaS and is an enabler that provides many out of the box, configurable parameters for the user to enable quicker SaaS implementations without getting involved or setting up from scratch the hardware and networking systems or elastic computing environment.  The following provides a brief overview of the topics covered here:

Infrastructure as a Service (IaaS) 

cloud computing type - infrastructure as a service

Nodes are loosely the building blocks of a cloud system, the nodes are individual servers/systems that are managed by the cloud computing servers and may optionally install a hypervisor which may provide virtualization by deployment of one or more images and vm nodes.  Thus it manages the memory, storage space and compute power available for use, the dynamic usage of this hardware and the installation of operating systems and software are automated by deployment of ready-to-use images.  This is the core principle of the IaaS services, and the user is free to purchase the bandwidth, compute power, memory or storage as needed or pay for them based on usage.  This model ensures that when a greater need for any system resources are required additional nodes are dynamically deployed and load balanced across the nodes and clusters without human intervention and similarly as the demand decreases, the additional nodes currently in use may be released.  Some of the more sophisticated cloud system may span multiple datacenters.

Software as a Service(SaaS)

Software as a service is defined as an application that may be available on demand, and is customizable per user or group having personalization feature, and dynamic in nature,  with automated deployment across greater number of nodes and load balanced incrementally across server nodes  on  demand.  The software may be capable of managing sessions from a single user, company or multiple organizations, while ensuring security and great degree of privacy and control across boundaries.  SaaS software can be deployed on an IaaS infrastructure or also deployed in clustered environments.  SaaS is fundamentally in the design, it is software built from ground up to provide some common or strategic services to a user or group of users and have a generic design to cater to the needs of one or more customers.  Services provided can be pure API based solutions, public or private in nature, a hosted site or service or a complete application suite like Salesforce, Office 360, Sharepoint to name a few.

Platform as a Service (PaaS)

cloud computing type - platform as a service

PaaS is an feature rich environment purpose built on an IaaS platform to support development, deployment, monitoring and analysis of a SaaS solution.  They are provided with certain features out of the box which can be customized as per the needs of the individual customer or user.  The current leaders in the PaaS platform include, Amazon and azure.  They both offer a set of common services to the customers to build and deploy applications online, and take advantage of the readily available tools and configure.  They all follow a common set of features like out of the box administration, user and group management, elastic deployment capability, storage services and third party software integration to extend the available features.

What are the types of cloud computing ?

Currently the industry offers private,public and hybrid cloud hosting. 

Public clouds may be hosted across multiple data centers and may provide access to users from a single company or IP address, access to services, resources or storage. Public cloud instances can be accessed over the web and can host applications and support users from the web, providing elastic computing capability and are relatively cheaper due to virtualization and shared hosting model.  Public cloud may also host community clouds which support a particular selective groups.

Private clouds are FISMA compliant secure cloud instances, or in-house organizational cloud implementations.

Hybrid cloud consists of private and public offerings combined to provide in-house application..

About The Author

Subham Mittal has worked in Oracle for 3 years .
For more java articles ,Click here to Subscribe JavaHungry