Cloud Computing Unit 1
Cloud Computing Unit 1
Introduction
The growing popularity of the Internet and the availability of powerful computers and high-speed
networks as low-cost commodity components are changing the way we do computing. Distributed
computing has been an essential component of scientific computing for decades. It consists of a set of
processes that cooperate to achieve a common specific goal. It is widely recognized that Information and
Communication Technologies (ICTs) have revolutionized the everyday practice. Social networks represent
a stepping stone in the on-going process of using the Internet to enable the social manipulation of information
and culture. Mostly social network sites are implemented on the concept of large distributed computing
systems. These are running in centrally controlled data centers. However, the trend in these massively
scalable systems is toward the use of peer-to-peer, utility, cluster, and jungle computing. The utility
computing is basically the grid computing and the cloud computing which is the recent topic of research.
This classification is well shown in the Figure 1.1.
With the increasing heterogeneity of the underlying hardware, the efficient mapping of
computational problems onto the ’bare metal’ has become vastly more complex. There are many challenges
of distributed computing as follows:
Transparency means to hide distribution from the users at the high levels and to hide the distribution
from the programs at the low levels. There are more forms of transparency as Location, Migration,
Replication, Concurrency, and Parallelism. Flexibility should be easy to develop. Reliability encompasses
some factors like no data loss, secure system, and fault tolerant systems. Performance should be high.
Scalability should scale indefinitely.
Distributed
Computing
Grid
Computing
Cloud
Computing
This review paper covers the distributing technologies. In the section 3rd peer-to-peer computing is
elaborated; in section 4th, the cluster computing; in section 5th utility computing which has the subsections
about grid computing and the cloud computing; and in section 6th, the jungle computing. This paper gives a
good introductory knowledge about the distributing computing.
Related Works
The computing industry is one of the fastest growing industries and it is stimulated by the rapid
technological developments in the areas of computer hardware and software. The technological advances in
hardware include chip development and fabrication technologies, fast and cheap microprocessors, as well as
high bandwidth and low latency interconnection networks. Among them, the recent advances in electronics
technology have played a major role in the development of powerful sequential and parallel computers.
Software technology is also developing fast. Mature software, such as Operating Systems,
programming languages, development methodologies, and tools, are now available. This has enabled the
development and deployment of applications catering to scientific, engineering, and commercial needs. It
should also be noted that grand challenging applications, such as weather forecasting and earthquake
analysis, have become the main driving force behind the development of powerful parallel computers.
Distributed systems can be considered conventional networks of independent computers. They have
multiple system images, as each node runs its own operating system, and the individual machines in a
distributed system could be, for example, combinations of Massively Parallel Processors (MPPs), Symmetric
1
Multiprocessors (SMPs), clusters, and individual computers.
Cloud services are mainly divided into three services delivery models: SaaS (Software as a Service,
e.g. Google Mail), PaaS (Platform as a Service, e.g. Google AppEngine) and IaaS (Infrastructure as a
Service, e.g. Amazon EC2). Since the work presented in this chapter is strongly related to Infrastructure as
a Service model, we only focus in this section on this category of service. IaaS providers aim to offer
resources to users as pay-as-you-go manner. A key provider of such a service is Amazon through its Elastic
Cloud Computing (EC2) and Simple Storage Service (S3).
The academicians and the giant groups are doing their best to comeback with the new concepts of
the distributing computing and they have given so many good results. But there is always an intension to
develop a better technology, so we are here and cloud computing is the recent topic on which work is in
progress.
Peer-to-Peer Computing
Peer-to-peer (P2P) networking has been working primarily on the scalability issues inherent in
distributing resources over a large number of networked processes. In a P2P system, every node acts as both
a client and a server, providing part of the system resources. Peer machines are simply client computers
connected to the Internet. All client machines act autonomously to join or leave the system freely. This
implies that no master-slave relationship exists among the peers. No central coordination or no central
database is needed. In other words, no peer machine has a global view of the entire P2P system. The system
is self-organizing with distributed control as shown in the Figure 3.1.
2
Cluster Computing
A cluster computing comprises a set of independent or stand-alone computers and a network
interconnecting them. It works cooperatively together as a single integrated computing resource. A cluster
is local in that all of its component subsystems are supervised within a single administrative domain, usually
residing in a single room and managed as a single computer system. The components of a cluster are
connected to each other through fast local area networks. To handle heavy workload with large datasets,
clustered computer systems have demonstrated impressive results in the past. The architecture of the cluster
computing environment is shown in the Figure 4.1.
Parallel Applications
Cluster Middleware
(Single System Image and Availability Infrastructure)
3
Cluster Computing
Software-based
Hardware-based
of extra hardware that is required to implement load balancing. Combining the two functions,
however, also makes the device more difficult to troubleshoot.
High-availability clusters
These are also called Failover Clusters. These are groups of computers that support server
applications. These can be reliably utilized with a minimum of down-time. They operate by harnessing
redundant computers in groups or clusters that provide continued service when system components fail.
Without clustering, if a server running a particular application crashes, the application will be unavailable
until the crashed server is fixed. Such type of clusters remedies this situation by detecting hardware/software
faults, and immediately restarting the application on another system without requiring administrative
intervention, a process known as failover. As part of this process, clustering software may configure the node
before starting the application on it.
The easiest way is to allow the cluster to act as a compute farm. Instead of running a job on a local
workstation, it is submitted to the cluster for execution. The cluster will manage the resources needed for the
job and assign the job to a work queue. When the resource (for instance, a server) is available, the job gets
executed and the results are returned to the user. Users who need to run many similar jobs with different
parameters or data sets find clusters ideal for this kind of work. They can submit hundreds of jobs and allow
the cluster to manage the work flow. Depending on the resources, all the jobs may run at the same time or
some may wait in the queue while other jobs finish. This type of computing is local to a cluster node, which
means the node doesn’t communicate with other nodes, but may need high speed file system access.
Utility Computing
Utility computing is envisioned to be the next generation of Information Technology evolution that
depicts how computing needs of users can be fulfilled in the future IT industry. Its analogy is derived from
the real world where service providers maintain and supply utility services, such as electrical power, gas,
and water to consumers. Consumers in turn pay service providers based on their usage. Therefore, the
underlying design of utility computing is based on a service provisioning model, where users (consumers)
pay providers for using computing power only when they need to. Utility computing focuses on a business
model, by which customers receive computing resources from a paid service provider. All grid/cloud
platforms are regarded as utility service providers. However, cloud computing offers a broader concept than
utility computing.
Grid Computing
The aim of Grid computing is to enable coordinated resource sharing and problem solving in
dynamic, multi- institutional virtual organizations.
As an electric-utility power grid, a computing grid offers an infrastructure that couples computers,
software/middleware, special instruments, and people and sensors together. Grid is often constructed across
LAN, WAN, or Internet backbone networks at regional, national, or global scales. Enterprises or
organizations present grids as integrated computing resources. They can be viewed also as virtual platforms
to support virtual organizations. The computers used in a grid are primarily workstations, servers, clusters,
and supercomputers. Personal computers, laptops and PDAs can be used as access devices to a grid system.
The grids can be of many types as; Knowledge, Data, Computational, Application Service Provisioning,
Interaction or Utility.
These have many pros and cons. Pros are like; these are capable to solve larger, more complex
problems in a shorter time, these are easier to collaborate with other organizations, and these make better
use of existing hardware. Cons are like; Grid software and standards are still evolving, learning curve to get
started, and non-interactive job submission.
5
Cloud Computing
Cloud computing is another form of utility computing. It is a new term in the computing world and
it signals the advent of a new computing paradigm. This new paradigm is quickly developing and attracts a
number of customers and vendors alike. The quick development of cloud computing is being fuelled by the
emerging computing technologies which allows for reasonably priced use of computing infrastructures and
mass storage capabilities. It also removes the need for heavy upfront investment in Information Technology
(IT) infrastructure.
Cloud computing is a computing paradigm that involves outsourcing of computing resources with
the capabilities of expendable resource scalability, on-demand provisioning with little or no up-front IT
infrastructure investment costs. Cloud computing offers its benefits through three types of service or delivery
models namely infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS) and software-as-a-Service
(SaaS) as shown in the Figure 5.1.
Application
(S/W as a Service
(SaaS))
(Business Computing)
Development Environment
(Plateform as a Service(PaaS))
(Framework Computing)
Manage Resources
(Infrastructure as a Service (IaaS),
Communication as a Service (CaaS), &
Data-storage as a Service (DaaS))
(Utility Computing)
It also delivers its service through four deployment models namely, public cloud, private cloud,
community cloud and hybrid cloud as the classification is shown in the Figure 5.2.
Cloud
Computing
Public clouds in this deployment the cloud infrastructure is accessible to general public and shared
in a pay as you go model of payment. The cloud resources are accessible via the internet and the provider is
responsible for ensuring the economies of scale and the management of the shared infrastructure. In this
model clients can choose security level they need, and negotiate for service levels. Amazon Web Services
EC2 is a public cloud. It is accessible to the general public.
Private clouds are another deployment model for cloud services. In this model the cloud resources
are not shared by unknown third parties. The cloud resources in this model may be located within the client
6
organization premises or offsite. In this model the client security and compliance requirements are not
affected though this offering does not bring the benefits associated with reduced capital expenditure in IT
infrastructure investments. In this type of cloud the general public does not have access to the private cloud
neither does the organization use the public cloud.
Hybrid clouds as its name implies is a model of deployment which combines different clouds for
example the private and public clouds. In this model the combined clouds retains their identities but are
bound together by standardized technology. In this type of cloud the general public does not have access to
the cloud, but the organization uses infrastructure in both the public and private cloud.
Community clouds are the fourth deployment model that can be used to deliver cloud computing
services. In this model the cloud infrastructure is shared by multiple organizations or institutions that have a
shared concern or interest such as compliance considerations, security requirements. This type of cloud may
be managed by the organization or by a third party and may be located on- premises or off-premises. In this
type of cloud both the public and the organizations forming the community cloud have access to the cloud
services offered by the community cloud.
Jungle Computing
Jungle computing is a simultaneous combination of heterogeneous, hierarchical, and distributed
computing resources. In many realistic scientific research areas, domain experts are being forced into
concurrent use of multiple clusters, grids, clouds, desktop grids, independent computers, and more. Jungle
computing refers to the use of diverse, distributed and highly non-uniform high performance computer
systems to achieve peak performance. These new distributed computing paradigms have led to a diverse
collection of resources available to research scientists, including stand-alone machines, cluster systems,
grids, clouds, desktop grids, etc. as shown in the Figure 6.1 and this varied collection is named as jungle
computing.
CLUSTERS
GRIDS
CLOUDS
PEER 2 PEER
Network
The increasing complexity of the high performance computing environment has provided a
bewildering range of choices beside traditional supercomputers and clusters. Scientists can now use grid and
cloud infrastructures, in a variety of combinations along with traditional supercomputers
- all connected via fast networks. And the emergence of many- core technologies such as GPUs, as
well as supercomputers on chip within these environments has added to the complexity. Thus high
performance computing can now use multiple diverse platforms and systems simultaneously, giving rise to
the term "computing jungle". Ibis high-performance distributed programming system is an example of the
jungle computing.
Conclusion
We have discussed the motivation for distributing computing. It will continue flourishing. There are
so many topics which are going very hot in the research and development topics in both the academic and
industry for many years to come. In above all the cloud computing is the recent topic which is under
development by so many industrial giant like Google, EMC, Microsoft, Yahoo, Amazon, IBM, etc. This
review paper enlightens the new paradigms of distributing computing. It will be beneficial for the students
and the researchers.
7
Cloud computing
Cloud computing is a revolutionary technology that allows individuals and businesses to access a
vast array of computing services via the Internet. It has shifted the requirement of maintaining key services
from local servers to remote servers. Cloud-based infrastructure enables users to store, manage, and process
data on servers hosted in data centers around the world.
Cloud computing offers scalability, cost-efficiency, and convenience, neutralising the need for
substantial upfront capital investment in hardware and software.
Cloud computing is a model for delivering information technology services where resources are
retrieved from the internet through web-based tools and applications rather than a direct connection to a
server. It allows for on-demand access to computing power and data storage. Several aspects associated
include.
Working Mechanism of Cloud Computing
The working mechanism of Cloud Computing includes:
Centralised data storage: It centralises the storage of data on remote servers accessed via
the Internet.
Resource pooling: It pools physical and virtual resources, dynamically allocating them to
users based on demand.
Data retrieval and management: Users can retrieve, manage, and interact with their data
and applications hosted on remote servers.
On-demand availability: Provides scalable services that are available on-demand to
users, often with pay-as-you-go billing.
Virtualization: Employs virtualization technology to create and manage scalable virtual
machines and environments.
Automated management: Automates system maintenance, including backup, software
updates, and network security.
Accessibility: Allows for access from any device with internet connectivity, facilitating
remote work and data sharing.
Front End
o Client Devices:
PCs, laptops, tablets, smartphones
Internet of Things (IoT) devices
o Client Network:
Internet access, corporate networks
o Cloud Applications:
Web browsers
8
Cloud-based applications (SaaS solutions)
Back End
o Cloud Services:
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
o Storage:
Distributed storage systems
Data backup and archiving
o Compute Resources:
Virtual machines
Servers
Containers
o Networking:
Virtual private networks (VPN)
Load balancers
Network switches
o Databases:
SQL databases
NoSQL databases
o Cloud Management and Security:
Identity and access management (IAM)
Authentication
Encryption
Security Protocols
9
Types of Cloud Computing
Types of cloud computing can be categorised into two categories- Deployment Models and Cloud
Computing Services, which are listed below:
Deployment Models
1. Public Cloud: Internet-based storage and access.
o Accessible to authorised users.
o No ownership of hardware or software components, only the provider manages
all aspects.
10
- Offers high levels of control and - Mobile App Backends
flexibility in managing hardware resources.
-Examples- Amazon E2C Services,
- Resembles traditional physical IT MeghRaj Initiative, etc.
resources that are familiar to IT departments.
- Application Development
- PaaS users are not required to manage or
control the underlying cloud infrastructure. - Business Process Management (BPM)
Other than these models XaaS has expanded into many other areas, including:
11
Applications of Cloud Computing
Cloud Computing has revolutionised the IT industry. it has several applications such as:
Secure storage: Individuals and businesses use the cloud for storing data securely and
with easy accessibility from anywhere, e.g., Dropbox or Google Drive.
Online marketplaces: E-commerce platforms use cloud computing to host and manage
their online stores, e.g., Shopify.
Telemedicine: Cloud-based applications facilitating remote medical consultations and
services, e.g., Teladoc.
Media streaming: Cloud platforms host streaming services for video and music,
e.g., Netflix and Spotify.
Learning management systems: Cloud-based platforms for delivering education and
tracking progress, e.g., Blackboard Learn.
Virtual meetings: Cloud services for hosting virtual meetings and conferences,
e.g., Microsoft Teams.
Device management: Platforms to manage and analyse IoT device data and operations,
e.g., IBM Watson IoT.
Public records management: Secure cloud databases for managing public records,
e.g., the National Archives and Records Administration (NARA) in the US.
12
Government of India’s Initiative Associated with Cloud Computing
The government of India is always at the forefront when it comes to the usage of technology. In
the realm of Cloud Computing, the government of India has taken several initiatives mentioned
below:
Area Usage
- To mitigate ticketing losses, cloud technology has been adopted for data
management.
Both multi-cloud and hybrid cloud refer to cloud deployments that integrate two or more clouds. Their main
difference is the kinds of cloud infrastructure they include. To find out the difference between hybrid and multi-
cloud, we should first figure out what hybrid and multi-cloud are and what the applications of these cloud
strategies are.
Hybrid cloud deployments combine public and private clouds, additionally, they may also include on-premises
legacy infrastructure. Almost all hybrid clouds contain at least one public cloud.
Public and private clouds are completely different cloud environments, which functions in completely different
way. Hybrid clouds effectively combine the two environments. The result is more powerful cloud infrastructure.
To learn more about public cloud vs. private cloud, you can read Comparison of Private Cloud and Public Cloud.
Hybrid cloud organizations can use its private cloud for some services and its public cloud for others. Or they can
use the public cloud as a backup to its private cloud. They can also use the public cloud to handle periods of high
demand while keeping most operations in their private cloud.
What Is Multi-Cloud?
15
Multi-cloud is a cloud architecture composed of multiple cloud services provided by multiple cloud providers
(either public or private). "Multi-cloud" can be multiple public clouds, multiple private clouds, or a combination of
public clouds and private clouds. Additionally, a multi-cloud deployment that includes private clouds or on-
premises infrastructures is considered a hybrid multi-cloud.
Multicloud deployments can leverage multiple IaaS (Infrastructure as a Service) vendors, or different vendors for
IaaS, PaaS (Platform as a Service), and SaaS (Software as a Service) services.
Multi-cloud can be purely for redundancy and system backup, or it can incorporate different cloud providers
offering different services. For example, a business could use one public cloud for the database and another
public cloud for scale computing. In this way, you can get the most out of each service.
To understand the specific differences between hybrid clouds and multi-cloud, we must first understand the
characteristics of the two clouds. The following table outlines the characteristics of hybrid clouds and multiple
clouds in several ways.
Public and private clouds or on-premises data Multiple public clouds (but can also have private,
Architecture
centers (or both) community, and on-premises data centers)
Cross-cloud Components work together to run a single IT Different clouds handle different tasks, so data and
workloads solution, so data and processes intersect processes often run in silos
16
Sensitive data Resides on private cloud or on-premises Valuable data resides on-premises or in the cloud,
storage servers depending on the design
Benefits of
Teams keep sensitive data in a highly secure Companies can ensure that every piece of data is
storing
private cloud or data center located in a geographic location as required by law
regulated data
Users may experience problems if public If one provider fails, workloads can be shifted to
Availability cloud encounters problems preventing cloud another; companies can also set up separate public
bursting clouds based on user location to avoid delays
17
The first key difference is that a hybrid cloud always includes both private and public clouds. Multi-cloud includes
multiple public clouds or private clouds.
Another key difference is that a hybrid cloud provides a direct connection between public and private clouds.
While in the multi-cloud model, the two or more cloud providers are usually completely independent.
For most businesses, the ideal cloud solution is not to deploy a single cloud, but to deploy a hybrid or multi-cloud
solution. So which cloud is chosen by most enterprises, multi-cloud or hybrid cloud?
According to market research, the application scope of the hybrid cloud is becoming more and more extensive.
Globally, the hybrid cloud has become the main form of enterprise cloud. According to RightScale's 2019 State
of the Cloud Report, 84% of enterprises have adopted multiple cloud strategies or hybrid cloud strategies. Among
them, the proportion of enterprises using hybrid cloud continued to increase — from 51% in 2018 to 58% in 2019.
Another 26% of enterprises choose multiple private clouds and multiple public clouds.
18