Cloud Computing 1
Cloud Computing 1
What is Cloud?
The term Cloud refers to a Network or Internet. In other words, we can say that
Cloud is something, which is present at remote location. Cloud can provide services
over public and private networks, i.e., WAN, LAN or VPN.
CLOUD COMPUTING-ARCHITECTURE
The Cloud Computing architecture comprises of many cloud components, each of them are loosely
coupled. We can broadly divide the cloud architecture into two parts:
Front End
Back End
Each of the ends are connected through a network, usually via Internet. The following diagram
shows the graphical view of cloud computing architecture:
Basic Concepts
There are certain services and models working behind the scene making the cloud
computing feasible and accessible to end users. Following are the working models
for cloud computing:
Deployment Models
Service Models
Public Cloud
Private Cloud
Community Cloud
Hybrid Cloud
The hybrid cloud is a mixture of public and private cloud, in which the critical
activities are performed using private cloud while the non-critical activities are
performed using public cloud.
Infrastructure-as–a-Service (IaaS)
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which includes
Network-as-a-Service, Business-as-a-Service, Identity-as-a-Service, Database-as-
a-Service or Strategy-as-a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of
the service models inherit the security and management mechanism from the
underlying model, as shown in the following diagram:
Infrastructure-as-a-Service (IaaS)
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS)
SaaS model allows to use software applications as a service to end-users.
advantages
Cloud Computing has numerous advantages. Some of them are listed below -
One can access applications as utilities, over the Internet.
One can manipulate and configure the applications online at any time.
It does not require to install a software to access or manipulate cloud
application.
Cloud Computing offers online development and deployment tools,
programming runtime environment through PaaS model.
Cloud resources are available over the network in a manner that provide
platform independent access to any type of clients.
Cloud Computing offers on-demand self-service. The resources can be
used without interaction with cloud service provider.
Cloud Computing is highly cost effective because it operates at high
efficiency with optimum utilization. It just requires an Internet connection
Cloud Computing offers load balancing that makes it more reliable.
disadvantages
Although cloud Computing is a promising innovation with various benefits in the
world of computing, it comes with risks. Some of them are discussed below:
Lock In
It is very difficult for the customers to switch from one Cloud Service Provider
(CSP) to another. It results in dependency on a particular CSP for service.
Isolation Failure
This risk involves the failure of isolation mechanism that separates storage,
memory, and routing between the different tenants.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can
share single physical instance of hardware, database and basic infrastructure.
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
resources means the ability of resources to deal with increasing or decreasing
demand.
The resources being used by customers at any given point of time are automatically
monitored.
Cloud computing is all about renting computing services. This idea first came in the
1950s. In making cloud computing what it is today, five technologies played a vital
role. These are distributed systems and its peripherals, virtualization, web 2.0,
service orientation, and utility computing.
Distributed Systems:
It is a composition of multiple independent systems but all of them are depicted
as a single entity to the users. The purpose of distributed systems is to share
resources and also use them effectively and efficiently. Distributed systems
possess characteristics such as scalability, concurrency, continuous availability,
heterogeneity, and independence in failures. But the main problem with this
system was that all the systems were required to be present at the same
geographical location. Thus to solve this problem, distributed computing led to
three more types of computing and they were-Mainframe computing, cluster
computing, and grid computing.
Mainframe computing:
Mainframes which first came into existence in 1951 are highly powerful and
reliable computing machines. These are responsible for handling large data such
as massive input-output operations. Even today these are used for bulk
processing tasks such as online transactions etc. These systems have almost no
downtime with high fault tolerance. After distributed computing, these increased
the processing capabilities of the system. But these were very expensive. To
reduce this cost, cluster computing came as an alternative to mainframe
technology.
Cluster computing:
In 1980s, cluster computing came as an alternative to mainframe computing.
Each machine in the cluster was connected to each other by a network with high
bandwidth. These were way cheaper than those mainframe systems. These were
equally capable of high computations. Also, new nodes could easily be added to
the cluster if it was required. Thus, the problem of the cost was solved to some
extent but the problem related to geographical restrictions still pertained. To solve
this, the concept of grid computing was introduced.
Grid computing:
In 1990s, the concept of grid computing was introduced. It means that different
systems were placed at entirely different geographical locations and these all
were connected via the internet. These systems belonged to different
organizations and thus the grid consisted of heterogeneous nodes. Although it
solved some problems but new problems emerged as the distance between the
nodes increased. The main problem which was encountered was the low
availability of high bandwidth connectivity and with it other network associated
issues. Thus. cloud computing is often referred to as “Successor of grid
computing”.
Virtualization:
It was introduced nearly 40 years back. It refers to the process of creating a
virtual layer over the hardware which allows the user to run multiple instances
simultaneously on the hardware. It is a key technology used in cloud computing.
It is the base on which major cloud computing services such as Amazon EC2,
VMware vCloud, etc work on. Hardware virtualization is still one of the most
common types of virtualization.
Web 2.0:
It is the interface through which the cloud computing services interact with the
clients. It is because of Web 2.0 that we have interactive and dynamic web
pages. It also increases flexibility among web pages. Popular examples of web
2.0 include Google Maps, Facebook, Twitter, etc. Needless to say, social media
is possible because of this technology only. In gained major popularity in 2004.
Service orientation:
It acts as a reference model for cloud computing. It supports low-cost, flexible,
and evolvable applications. Two important concepts were introduced in this
computing model. These were Quality of Service (QoS) which also includes the
SLA (Service Level Agreement) and Software as a Service (SaaS).
Utility computing:
It is a computing model that defines service provisioning techniques for services
such as compute services along with other major services such as storage,
infrastructure, etc which are provisioned on a pay-per-use basis.
Thus, the above technologies contributed to the making of cloud computing.
(A)Virtualization
Virtualization is a technique, which allows to share single physical instance of an
application or resource among multiple organizations or tenants (customers). It does
this by assigning a logical name to a physical resource and providing a pointer to
that physical resource when demanded.
The Multitenant architecture offers virtual isolation among the multiple tenants.
Hence, the organizations can use and customize their application as though they
each have their instances running.
Types of Virtualization
A list of types of Virtualization is given below -How to find Nth Highest Salary in SQL
i. Hardware virtualization
Virtualization Concept
Creating a virtual machine over existing operating system and hardware is referred
as Hardware Virtualization. Virtual Machines provide an environment that is logically
separated from the underlying hardware.
The machine on which the virtual machine is created is known as host
machine and virtual machine is referred as a guest machine. This virtual
machine is managed by a software or firmware, which is known as hypervisor.
Hypervisor
The hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. There are two types of hypervisor:
Type 1 hypervisor executes on bare system. LynxSecure, RTS Hypervisor, Oracle
VM, Sun xVM Server, VirtualLogic VLX are examples of Type 1 hypervisor. The
following diagram shows the Type 1 hypervisor.
The type1 hypervisor does not have any host operating system because they are
installed on a bare system.
Type 2 hypervisor is a software interface that emulates the devices with which a
system normally interacts. Containers, KVM, Microsoft Hyper V, VMWare Fusion,
Virtual Server 2005 R2, Windows Virtual PC and VMWare workstation 6.0 are
examples of Type 2 hypervisor. The following diagram shows the Type 2
hypervisor.
Types of Hardware Virtualization
Here are the three types of hardware virtualization:
Full Virtualization
Emulation Virtualization
Paravirtualization
Full Virtualization
In full virtualization, the underlying hardware is completely simulated. Guest
software does not require any modification to run.
Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence becomes
independent of it. In this, the guest operating system does not require modification.
Paravirtualization
In Paravirtualization, the hardware is not simulated. The guest software run their
own isolated domains.
(C) SOFTWARE
Software-as-a-Service (Saas): Salesforce.
Infrastructure-as-a-Service (Saas): DigitalOcean.
Platform-as-a-Service (Saas): AWS.
File Sharing + Data Storage: Dropbox.
Big Data Analysis: Civis Analytics.
Data Governance: Carbonite.
Cybersecurity: Forcepoint.
(D) INTERNET
Dropbox, Facebook, Gmail. Cloud can be used for storage of files. ...
Banking, Financial Services. Consumers store financial information to cloud
computing serviced providers. ...
Health Care. ...
Education. ...
Government. ...
Big data Analytics. ...
Communication. ...
Business Process.
o Virtualization
o Grid Computing
o Utility Computing
Virtualization
Virtualization is the process of creating a virtual environment to run multiple
applications and operating systems on the same server. The virtual environment can
be anything, such as a single instance or a combination of many operating systems,
storage devices, network application servers, and other environments.
Types of Virtualization
A list of types of Virtualization is given below -How to find Nth Highest Salary in SQL
Service Provider and Service consumer are the two major roles within SOA.
Grid Computing
Grid computing is also known as distributed computing. It is a processor
architecture that combines various different computing resources from multiple
locations to achieve a common goal. In grid computing, the grid is connected by
parallel nodes to form a computer cluster. These computer clusters are in different
sizes and can run on any operating system.
Grid computing contains the following three types of machines -
Utility Computing
Utility computing is the most trending IT service model. It provides on-demand
computing resources (computation, storage, and programming services via API) and
infrastructure based on the pay per use method. It minimizes the associated costs
and maximizes the efficient use of resources. The advantage of utility computing is
that it reduced the IT cost, provides greater flexibility, and easier to manage.