Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

EVOLUTION OF CLOUD 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”.
COMPONENTS OF CLOUD:
1. Cloud service consumer (or end user)
These are the clients which interact with the system and demand for services
as per their requirement.
The client can be categorised into 3 categories:
a) Mobile Clients: Mobile clients run the application from laptops, PDAs
and smart phones. This category of clients demands for higher speed and
high level of security.
b) Thin Clients: Thin clients neither have hard drives nor have DVD ROM
drives and are largely dependent on the server.
c) Thick Clients: They are self-sufficient in terms of accessories.

2. Cloud Service Provider:


Cloud service providers are the agents which host the servers in the cloud and
deliver service to end users.
Major cloud providers are Google, Amazon, IBM etc.

3. Internet Medium:
It is the communication channel between the consumer and provider where
services are redirected.
4. Data Centre:
Data centre is a collection of servers where the applications subscribed are
housed.
It consists of storage, network, and servers.
5. Cloud Services: IaaS PaaS and SaaS
DIFFERENT CLOUD SERVICES:
A) Infrastructure as a Service (IaaS)
1. In IaaS, an organisation outsources the infrastructure related to the
storage, hardware, servers, and networking components to the service
providers.
2. IaaS is also referred to as Hardware as a Service (HaaS).
3. IaaS is preferred by organisations because deployment of applications
usually requires huge initial investment for setting up hardware, storage
devices and networking components in addition to the maintenance of
the hardware and storage devices. A large amount of electricity is also
needed to power the servers as well as to keep the data centre cool.
4. In case of IaaS, the client typically pays on a per-use basis to the service
provider. The billing is usually done on an hourly, daily or monthly
basis based on the actual consumption of the resources.
5. Use of IaaS is quite rational as it is cost effective and makes the
organisation free from huge investment on hardware.
Advantages of IaaS:
1. Allow IT to shift focus: With the quick availability of IaaS services, it
frees an organisation to leverage and focus their time and resources in
bringing innovations in applications and solutions.
2. Utility service: IaaS follows a utility service model – pay per use
model.
3. Dynamic Scaling: Scaling up and down of infrastructure services based
on the application usage, best for the applications where there are
significant spikes and troughs on the usage of infrastructure.
4. Investment Cap: Beneficial for companies with limited capital to invest
in hardware and infrastructure.
Disadvantages of IaaS:
1. Security:
CLOUD COMPUTING ARCHITECHTURE
Cloud computing architecture is divided into the following two parts -
Front End
Back End
The below diagram shows the architecture of cloud computing -

Front End
The front end is used by the client. It contains client-side interfaces and
applications that are required to access the cloud computing platforms. The
front end includes web servers (including Chrome, Firefox, internet explorer,
etc.), thin & fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that
are required to provide cloud computing services. It includes a huge amount of
data storage, security mechanism, virtual machines, deploying models, servers,
traffic control mechanisms, etc.
Note: Both front end and back end are connected to others through a network,
generally using the internet connection.
Components of Cloud Computing Architecture
There are the following components of cloud computing architecture -
1. Client Infrastructure
Client Infrastructure is a Front-end component. It provides GUI (Graphical User
Interface) to interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to
the client’s requirement.
Cloud computing offers the following three type of services:
i. Software as a Service (SaaS) – It is also known as cloud application
services. Mostly, SaaS applications run directly through the web browser means
we do not require to download and install these applications. Some important
example of SaaS is given below –
Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
ii. Platform as a Service (PaaS) – It is also known as cloud platform services.
It is quite similar to SaaS, but the difference is that PaaS provides a platform for
software creation, but using SaaS, we can access software over the internet
without the need of any platform.
Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud
infrastructure services. It is responsible for managing applications data,
middleware, and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine
(GCE), Cisco Metapod.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual
machines.
5. Storage
Storage is one of the most important components of cloud computing. It
provides a huge amount of storage capacity in the cloud to store and manage
data.
6. Infrastructure
It provides services on the host level, application level, and network level.
Cloud infrastructure includes hardware and software components such as
servers, storage, network devices, virtualization software, and other storage
resources that are needed to support the cloud computing model.
7. Management
Management is used to manage components such as application, service,
runtime cloud, storage, infrastructure, and other security issues in the backend
and establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It implements a
security mechanism in the back end.
9. Internet
The Internet is medium through which front end and back end can interact and
communicate with each other.
DIFFERENCE BETWEEN PARALLEL AND DISTRIBUTED
COMPUTING-
Parallel Computing:
In parallel computing multiple processors performs multiple tasks assigned to
them simultaneously. Memory in parallel systems can either be shared or
distributed. Parallel computing provides concurrency and saves time and
money.
Distributed Computing:
In distributed computing we have multiple autonomous computers which
seems to the user as single system. In distributed systems there is no shared
memory and computers communicate with each other through message
passing. In distributed computing a single task is divided among different
computers.

Difference between Parallel Computing and Distributed Computing:


S.N
O Parallel Computing Distributed Computing
Many operations are performed System components are located at different
1. simultaneously locations

2. Single computer is required Uses multiple computers

Multiple processors perform Multiple computers perform multiple


3. multiple operations operations

It may have shared or distributed


4. memory It have only distributed memory

Processors communicate with each Computer communicate with each other


5. other through bus through message passing.

Improves system scalability, fault tolerance


6. Improves the system performance and resource sharing capabilities

Cloud Scalability: Scalability adapts only to the "workload increase" by


"provisioning" the resources in an "incremental" manner.
Cloud Elasticity: Elasticity adapts to both the "workload increase" as well as
"workload decrease" by "provisioning and deprovisioning" resources in
an "autonomic" manner

ELASTICITY IN CLOUD:
1. In cloud computing, elasticity is defined as the degree to which system is
able to adapt to workload changes by provisioning and deprovisioning
resources in an automatic manner such that at each point in time the
available resources match the current demand as closely as possible.
2. Elasticity is a defining characteristic that differentiates cloud computing
from previously proposed computing paradigms, such as grid computing.

3. The dynamic adaptation of capacity, by altering the use of computing


resources, to meet a varying workload is called elastic computing.
4. Elasticity aims to match the number of resources allocated to a service
with the number of resources it actually requires, avoiding over
provisioning and under provisioning.

You might also like