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

DEPARTMENT OF

COMPUTER SCIENCE & APPLICATIONS

CLOUD COMPUTING
(22CA5123)
MCA
CO-I
Lecture Notes

After the completion of this CO I Students will be able to Illustrate


the fundamentals of Cloud computing and Role of network in cloud
computing.

Mr. B.KRISHNA
Asst Prof in CSA
C CENTER

How to Use Self-Learning Material?


The pedagogy used to design this course is to enable the student to assimilate the concepts with ease. The
course is divided into modules. Each module is categorically divided into units or chapters. Each unit has
the following elements:

Table of Contents: Each unit has a well-defined table of contents. For example: “1.1.1. (a)”
should be read as “Module 1. Unit 1. Topic 1. (Sub-topic a)” and 1.2.3. (iii) should be read as “Module 1.
Unit 2. Topic 3. (Sub-topic iii).

Aim: It refers to the overall goal that can be achieved by going through the unit.

Instructional Objectives: These are behavioural objectives that describe intended


learning and define what the unit intends to deliver.

Learning Outcomes: These are demonstrations of the learner’s skills and experience
sequences in learning, and refer to what you will be able to accomplish after going through the
unit.

Self-Assessment Questions: These include a set of multiple-choice questions to be


answered at the end of each topic.

Did You Know?: You will learn some interesting facts about a topic that will help you
improve your knowledge. A unit can also contain Quiz, Case Study, Critical Learning
Exercises, etc., as metacognitive scaffold for learning.

Summary: This includes brief statements or restatements of the main points of unit and
summing up of the knowledge chunks in the unit.

Activity: It actively involves you through various assignments related to direct application
of the knowledge gained from the unit. Activities can be both online and offline.

Bibliography: This is a list of books and articles written by a particular author on a


particular subject referring to the unit’s content.

e-References: This is a list of online resources, including academic e-Books and journal
articles that provide reliable and accurate information on any topic.

Video Links: It has links to online videos that help you understand concepts from a variety
of online resources.

Cloud Computing: 22CA5123


C CENTER

Author Profile

Mr. B.KRISHNA, Assistant Professor at KL University, has a significant


experienced of working in the education management industry from last 19 years.
Involved in a wide variety of tasks at university levels such as KLU Media, Social
Media, Branding info, Newsletter, NBA Coordinator and presently serving as an
Assistant Professor in CSA. He has excellent organizational skills gained through all-
around administrative experience.

Actively organized workshops, Technical Fests, Seminars and taken lead in many
Students training programs. Research Scholar in Computer Science & Engineering and
published number of research Publications in well-reputed indexed journals and
conferences. Getting involved with the student community made sure academic projects
help the students to work for a better future of the society, some of the projects which
have been showcased in many competitions and implemented in university.

Cloud Computing: 22CA5123


C CENTER

Cloud Computing (22CA5123)


Course Description

This course gives students an insight into the basics of cloud computing along with virtualization,
cloud computing is one of the fastest growing domain from a while now. It will provide the students
basic understanding about cloud and virtualization along with it how one can migrate over it.

This course gives students an overview of the field of Cloud Computing, its enabling
technologies, main building blocks, and hands-on experience through projects utilizing public cloud
infrastructures (Amazon Web Services (AWS) and Microsoft Azure). Cloud computing services are
being adopted widely across a variety of organizations and in many domains. Simply, cloud computing is
the delivery of computing as a service over a network, whereby distributed resources are rented, rather
than owned, by an end user as a utility.

The course will introduce this domain and cover the topics of cloud infrastructures, virtualization,
software defined networks and storage, cloud storage, and programming models. As an introduction, we
will discuss the motivating factors, benefits and challenges of the cloud, as well as service models,
service level agreements (SLAs), security, example cloud service providers and use cases. Modern data
centers enable many of the economic and technological benefits of the cloud paradigm; hence, we will
describe several concepts behind data center design and management and software deployment. Next, we
will focus on virtualization as a key cloud technique for offering software, computation and storage
services.

Students will work with Amazon Web Services and Microsoft Azure, use them to rent and provision
compute resources and then program and deploy applications that run on these resources. Students will
develop and evaluate scaling and load balancing solutions. In addition, students will work with cloud
storage systems and learn to develop different applications in several programming paradigms.

Cloud Computing: 22CA5123


C CENTER

The Cloud Computing course has four modules.

Module-1
Introduction to Cloud Computing: meaning of Cloud Computing, variations of cloud computing
from other models, Essential Characteristics, Cloud computing Architectures, Technological Influences.
Cloud Computing Architecture, the three-deployment model’s IaaS, PaaS, SaaS, and Types of clouds
(Public, Private and Hybrid).
CLOUD INFRASTRUCTURE: Architectural Design of Compute and Storage Clouds – Layered
Cloud Architecture Development – Design Challenges - Inter Cloud Resource Management – Resource
Provisioning and Platform Deployment – Global Exchange of Cloud Resources.

Module-2

Service Models (XaaS): Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as
a Service (SaaS);
Deployment Models: Public cloud, Private cloud, Hybrid cloud, Community cloud. Establishing and
using a private cloud: Network topology, HW-SE specification, installing open stack, configuring open
stack availing services through open stacks, establishing virtual networks.

Module-3
Infrastructure as a Service (IaaS): Introduction to IaaS, IaaS definition, Introduction to
virtualization, Different approaches to virtualization, Hypervisors, Machine Image, and Virtual Machine
(VM).
Resource Virtualization: Server, Storage, Network, Virtual Machine (resource) provisioning and
manageability, Storage as a service, Examples Applications: Amazon EC2, Google Drive, one drive,
drop box. Developing applications Using IaaS.

Module-4
Platform as a Service (PaaS): Introduction to PaaS: What is PaaS, Service Oriented Architecture
(SOA), Cloud Platform and Management, Computation, Storage, Examples, Google App Engine,
Microsoft Azure, SalesForce.com’s Force.com platforms. Developing applications using PaaS.
Software as a Service (SaaS): Introduction to SaaS, Web services, Web 2.0, Web OS, and Case
Study on SaaS. Provisioning, scheduling and requesting VM that is identified with desired software
packages. Development of Application software using the system software installed on the Virtual
Machine. Developing Applications that use SaaS.

Cloud Computing: 22CA5123


C CENTER

Table of Contents

MODULE 1

Introduction to Cloud Computing


Unit 1 Cloud computing Architectures
Unit 2 Cloud Infrastructures

MODULE 2

Service Models
Unit 3 Service Models (XaaS)
Unit 4 Deployment Models

MODULE 3

Infrastructure as a Service
Unit 5 Infrastructure as a Service (IaaS)
Unit 6 Resource Virtualization

MODULE 4

Cloud Services
Unit 7 Platform as a Service (PaaS)
Unit 8 Software as a Service (SaaS)

Cloud Computing: 22CA5123


C CENTER

Cloud Computing

MODULE - I

Introduction to
Cloud Computing

Cloud Computing: 22CA5123


C CENTER

Module Description

Cloud computing has a rich history that extends back to the 1960s, with the initial concepts of
time-sharing becoming popularized via Remote Job Entry (RJE). The "data center" model, where
users submitted jobs to operators to run on mainframes, was predominantly used during this era. This
was a time of exploration and experimentation with ways to make large-scale computing power
available to more users through time-sharing, optimizing the infrastructure, platform, and
applications, and increasing efficiency for end users.

Since the global pandemic of 2020, cloud technology has surged in popularity due to the level of
data security it offers and the flexibility of working options it provides for all employees, notably
remote workers.

Cloud Computing is the delivery of computing services such as servers, storage, databases,
networking, software, analytics, intelligence, and more, over the Cloud (Internet).

Cloud Computing provides an alternative to the on-premises datacentre. With an on-premises


datacentre, we have to manage everything, such as purchasing and installing hardware, virtualization,
installing the operating system, and any other required applications, setting up the network,
configuring the firewall, and setting up storage for data. After doing all the set-up, we become
responsible for maintaining it through its entire lifecycle.

But if we choose Cloud Computing, a cloud vendor is responsible for the hardware purchase and
maintenance. They also provide a wide variety of software and platform as a service. We can take
any required services on rent. The cloud computing services will be charged based on usage.

Unit 1 Cloud computing Architectures

Unit 2 Cloud Infrastructures

Cloud Computing: 22CA5123


C CENTER

Unit Table of Contents


Unit 1

1.1 Cloud computing Architectures


Aim
Instructional Objectives Learning
Outcomes
1.1.1 Meaning of Cloud Computing
1.1.2 Variations of cloud computing from other models
1.1.3 Essential Characteristics
Self-Assessment Questions

1.2 Cloud Computing Architectures


1.2.1 Technological Influences
1.2.2 The three-deployment model’s
1.2.3 Types of clouds (Public, Private and Hybrid)
Self-Assessment Questions

Unit 2
2.1 CLOUD INFRASTRUCTURE
2.1.1 Architectural Design of Compute and Storage Clouds
2.1.2 Layered Cloud Architecture Development
Self-Assessment Questions

2.2 Design Challenges


2.2.1 Inter Cloud Resource Management
2.2.2 Resource Provisioning and Platform Deployment
Self-Assessment Questions

2.3 Global Exchange of Cloud Resources


Self-Assessment Questions

Summary
Terminal
Questions
Answer Keys
Activity
Bibliography
e-References

Cloud Computing: 22CA5123


C CENTER

AIM
This unit enable the student to Illustrate the fundamentals of Cloud computing and role of
networking in cloud architecture.

INSTRUCTIONAL OBJECTIVES
In this Unit Student will be able to :
 Define the Brief history of Cloud Computing
 Illustrate Evolution of Cloud Computing
 Able to Traditional vs. Cloud Computing & Importance of Cloud Computing
 Understand the Benefits and Challenges of Cloud Computing
 Know about Role of Networks in Cloud computing

LEARNING OUTCOMES
At the end of the unit, the student is expected to:

 Basic of Cloud Architecture


 Evolution of Cloud Computing
 Role of Networks in Cloud computing.
 Benefits and Challenges of Cloud Computing

Cloud Computing: 22CA5123


C CENTER

UNIT - 1

1.1 Introduction to Cloud Computing:


1.1.1 Meaning of Cloud Computing
Cloud Computing is the delivery of computing services
—including servers, storage, databases, networking, software, analytics, and
intelligence
—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and
economies of scale.
—Cloud computing is a pay-as-you-go model for delivering IT resources.
Why Choose Cloud Computing?
There are many reasons for going with the cloud.
Cloud computing enables benefits such as:
 Payment Model
 Fewer Operations
 Flexible Capacity
 Economies at Scale
 Increased Speed
 A Global Reach
 A Reliability
 Performance
Payment Model
The cloud payment model is flexible.
You do not have to invest in a data center, servers, and other resources.
The cloud services are a variable expense.
You can use the services from the start and consume more as you grow.
Fewer Operations
Having your own data centers and servers requires resources and staffing.
Cloud computing reduces operation and lets you focus on important things,
=>such as your applications and customers.
Flexible Capacity
Having and managing your own servers can result in unused capacity and limitations.
On the other hand, you can grow freely with cloud computing.
Economies at Scale
Cloud computing is about shared resources.
Sharing the infrastructure cost with hundreds of thousands of other customers lowers the
overall costs.
Increased Speed
The flexibility of cloud computing makes it easier to develop and deploy applications.
You can test and utilize resources as you want in minutes.
This freedom allows you to experiment and invent more.
It allows for instant resource access.
Global Reach
AWS has data centers all over the world.
The AWS Cloud's global reach allows you to rapidly deploy apps to consumers anywhere.
Customers can access your apps quickly.
You can pick the ones near your clients to reduce the invisibility.

Cloud Computing: 22CA5123


C CENTER

Reliability
Cloud computing makes data backup, disaster recovery, and business continuity easier and
less expensive because data can be mirrored at multiple redundant sites on the cloud
provider’s network.
Performance
The biggest cloud computing services run on a worldwide network of secure datacenters,
which are regularly upgraded to the latest generation of fast and efficient computing
hardware. This offers several benefits over a single corporate datacenter, including reduced
network latency for applications and greater economies of scale.

1.1.2 Variations of cloud computing from other models


Cloud Computing
Cloud computing uses a client-server architecture to deliver computing resources
such as servers, storage, databases, and software over the cloud (Internet) with pay-as-you-
go pricing.
Cloud computing becomes a very popular option for organizations by providing
various advantages, including cost-saving, increased productivity, efficiency, performance,
data back-ups, disaster recovery, and security.

Grid Computing
Grid computing is also called as "distributed computing." It links multiple
computing resources (PC's, workstations, servers, and storage elements) together and
provides a mechanism to access them.
The main advantages of grid computing are that it increases user productivity by
providing transparent access to resources, and work can be completed more quickly.

Cloud Computing: 22CA5123


C CENTER

Let's understand the difference between cloud computing and grid computing.
Cloud Computing Grid Computing

Cloud Computing follows client-server Grid computing follows a distributed computing


computing architecture. architecture.

Scalability is high. Scalability is normal.

Cloud Computing is more flexible than grid Grid Computing is less flexible than cloud computing.
computing.

Cloud operates as a centralized management Grid operates as a decentralized management system.


system.

In cloud computing, cloud servers are owned by In Grid computing, grids are owned and managed by the
infrastructure providers. organization.

Cloud computing uses services like Iaas, PaaS, Grid computing uses systems like distributed computing,
and SaaS. distributed information, and distributed pervasive.

Cloud Computing is Service-oriented. Grid Computing is Application-oriented.

It is accessible through standard web protocols. It is accessible through grid middleware.

Cloud Computing Applications


Cloud service providers provide various applications in the field of art, business, data
storage and backup services, education, entertainment, management, social networking, etc.

The most widely used cloud computing applications are given below -

1. Art Applications
Cloud computing offers various art applications for quickly and easily design attractive
cards, booklets, and images. Some most commonly used cloud art applications are given
below:

Cloud Computing: 22CA5123


C CENTER

i Moo
Moo is one of the best cloud art applications. It is used for designing and printing business
cards, postcards, and mini cards.

ii. Vistaprint
Vistaprint allows us to easily design various printed marketing products such as business
cards, Postcards, Booklets, and wedding invitations cards.

iii. Adobe Creative Cloud


Adobe creative cloud is made for designers, artists, filmmakers, and other creative
professionals. It is a suite of apps which includes PhotoShop image editing programming,
Illustrator, InDesign, TypeKit, Dreamweaver, XD, and Audition.

2. Business Applications

Business applications are based on cloud service providers. Today, every organization
requires the cloud business application to grow their business. It also ensures that business
applications are 24*7 available to users.

There are the following business applications of cloud computing -

i. MailChimp
MailChimp is an email publishing platform which provides various options to design,
send, and save templates for emails.

iii. Salesforce
Salesforce platform provides tools for sales, service, marketing, e-commerce, and more. It
also provides a cloud development platform.

iv. Chatter
Chatter helps us to share important information about the organization in real time.

v. Bitrix24
Bitrix24 is a collaboration platform which provides communication, management, and
social collaboration tools.

vi. Paypal
Paypal offers the simplest and easiest online payment mode using a secure internet
account. Paypal accepts the payment through debit cards, credit cards, and also from
Paypal account holders.

vii. Slack
Slack stands for Searchable Log of all Conversation and Knowledge. It provides a user-
friendly interface that helps us to create public and private channels for communication.

viii. Quickbooks
Quickbooks works on the terminology "Run Enterprise anytime, anywhere, on any
device." It provides online accounting solutions for the business. It allows more than 20
users to work simultaneously on the same system.

Cloud Computing: 22CA5123


C CENTER

3. Data Storage and Backup Applications

Cloud computing allows us to store information (data, files, images, audios, and videos) on
the cloud and access this information using an internet connection. As the cloud provider is
responsible for providing security, so they offer various backup recovery application for
retrieving the lost data.

A list of data storage and backup applications in the cloud are given below -

i. Box.com
Box provides an online environment for secure content management, workflow,
and collaboration. It allows us to store different files such as Excel, Word, PDF, and
images on the cloud. The main advantage of using box is that it provides drag & drop
service for files and easily integrates with Office 365, G Suite, Salesforce, and more than
1400 tools.

ii. Mozy
Mozy provides powerful online backup solutions for our personal and business data. It
schedules automatically back up for each day at a specific time.

iii. Joukuu
Joukuu provides the simplest way to share and track cloud-based backup files. Many
users use joukuu to search files, folders, and collaborate on documents.

iv. Google G Suite


Google G Suite is one of the best cloud storage and backup application. It includes
Google Calendar, Docs, Forms, Google+, Hangouts, as well as cloud storage and tools for
managing cloud apps. The most popular app in the Google G Suite is Gmail. Gmail offers
free email services to users.

4. Education Applications

Cloud computing in the education sector becomes very popular. It offers


various online distance learning platforms and student information portals to the
students. The advantage of using cloud in the field of education is that it offers strong
virtual classroom environments, Ease of accessibility, secure data storage, scalability,
greater reach for the students, and minimal hardware requirements for the applications.

There are the following education applications offered by the cloud -

i. Google Apps for Education


Google Apps for Education is the most widely used platform for free web-based email,
calendar, documents, and collaborative study.

ii. Chromebooks for Education


Chromebook for Education is one of the most important Google's projects. It is designed
for the purpose that it enhances education innovation.

Cloud Computing: 22CA5123


C CENTER

iii. Tablets with Google Play for Education


It allows educators to quickly implement the latest technology solutions into the classroom
and make it available to their students.

iv. AWS in Education


AWS cloud provides an education-friendly environment to universities, community
colleges, and schools.
5. Entertainment Applications

Entertainment industries use a multi-cloud strategy to interact with the target


audience. Cloud computing offers various entertainment applications such as online games
and video conferencing.

i. Online games
Today, cloud gaming becomes one of the most important entertainment media. It offers
various online games that run remotely from the cloud. The best cloud gaming services are
Shaow, GeForce Now, Vortex, Project xCloud, and PlayStation Now.

ii. Video Conferencing Apps


Video conferencing apps provides a simple and instant connected experience. It allows us
to communicate with our business partners, friends, and relatives using a cloud-based video
conferencing. The benefits of using video conferencing are that it reduces cost, increases
efficiency, and removes interoperability.

6. Management Applications

Cloud computing offers various cloud management tools which help admins to
manage all types of cloud activities, such as resource deployment, data integration, and
disaster recovery. These management tools also provide administrative control over the
platforms, applications, and infrastructure.

Some important management applications are -

i. Toggl
Toggl helps users to track allocated time period for a particular project.

ii. Evernote
Evernote allows you to sync and save your recorded notes, typed notes, and other notes in
one convenient place. It is available for both free as well as a paid version.

It uses platforms like Windows, macOS, Android, iOS, Browser, and Unix.

iii. Outright
Outright is used by management users for the purpose of accounts. It helps to track income,
expenses, profits, and losses in real-time environment.

iv. GoToMeeting
GoToMeeting provides Video Conferencing and online meeting apps, which allows you
to start a meeting with your business partners from anytime, anywhere using mobile

Cloud Computing: 22CA5123


C CENTER

phones or tablets. Using GoToMeeting app, you can perform the tasks related to the
management such as join meetings in seconds, view presentations on the shared screen, get
alerts for upcoming meetings, etc.

7. Social Applications

Social cloud applications allow a large number of users to connect with each other using
social networking applications such as Facebook, Twitter, Linkedln, etc.

There are the following cloud based social applications -

i. Facebook
Facebook is a social networking website which allows active users to share files, photos,
videos, status, more to their friends, relatives, and business partners using the cloud storage
system. On Facebook, we will always get notifications when our friends like and comment
on the posts.

ii. Twitter
Twitter is a social networking site. It is a microblogging system. It allows users to follow
high profile celebrities, friends, relatives, and receive news. It sends and receives short
posts called tweets.

iii. Yammer
Yammer is the best team collaboration tool that allows a team of employees to chat, share
images, documents, and videos.

iv. LinkedIn
LinkedIn is a social network for students, freshers, and professionals.

1.1.3 Essential Characteristics of Cloud Computing

There are many characteristics of Cloud Computing here are few of them:
1. On-demand self-services: The Cloud computing services does not require any human
administrators, user themselves are able to provision, monitor and manage computing resources
as needed.
2. Broad network access: The Computing services are generally provided over standard networks
and heterogeneous devices.
3. Rapid elasticity: The Computing services should have IT resources that are able to scale out
and in quickly and on as needed basis. Whenever the user require services it is provided to him
and it is scale out as soon as its requirement gets over.

4. Resource pooling: The IT resource (e.g., networks, servers, storage, applications, and services)
present are shared across multiple applications and occupant in an uncommitted manner.
Multiple clients are provided service from a same physical resource.

5. Measured service: The resource utilization is tracked for each application and occupant, it will
provide both the user and the resource provider with an account of what has been used. This is
done for various reasons like monitoring billing and effective use of resource.

Cloud Computing: 22CA5123


C CENTER

6. Multi-tenancy: Cloud computing providers can support multiple tenants (users or


organizations) on a single set of shared resources.

7. Virtualization: Cloud computing providers use virtualization technology to abstract underlying


hardware resources and present them as logical resources to users.

8. Resilient computing: Cloud computing services are typically designed with redundancy and
fault tolerance in mind, which ensures high availability and reliability.

9. Flexible pricing models: Cloud providers offer a variety of pricing models, including pay-per-
use, subscription-based, and spot pricing, allowing users to choose the option that best suits their
needs.

10. Security: Cloud providers invest heavily in security measures to protect their users’ data and
ensure the privacy of sensitive information.

11. Automation: Cloud computing services are often highly automated, allowing users to deploy
and manage resources with minimal manual intervention.

12. Sustainability: Cloud providers are increasingly focused on sustainable practices, such as
energy-efficient data centers and the use of renewable energy sources, to reduce their
environmental impact.

Cloud Computing: 22CA5123


C CENTER

Self-Assessment Questions

3. Which of the following has many features of that is now known as cloud computing?
a. Web Service
b. Software
c. All of the mentioned
d. Internet
4. Which one of the following cloud concepts is related to sharing and pooling the resources?
a. Polymorphism
b. Virtualization
c. Abstraction
d. None of the mentioned

Cloud Computing: 22CA5123


C CENTER

1.2 Cloud Computing Architectures


The cloud architecture is divided into 2 parts i.e.
1. Frontend
2. Backend

Architecture of cloud computing is the combination of both SOA (Service Oriented


Architecture) and EDA (Event Driven Architecture). Client infrastructure,
application, service, runtime cloud, storage, infrastructure, management and
security all these are the components of cloud computing architecture.

1. Frontend:

Frontend of the cloud architecture refers to the client side of cloud computing system.
Means it contains all the user interfaces and applications which are used by the client
to access the cloud computing services/resources. For example, use of a web browser
to access the cloud platform.
 Client Infrastructure – Client Infrastructure is a part of the frontend component.
It contains the applications and user interfaces which are required to access the
cloud platform.
 In other words -- it provides a GUI( Graphical User Interface ) to interact with the
cloud.
2. Backend:

Backend refers to the cloud itself which is used by the service provider. It contains the
resources as well as manages the resources and provides security mechanisms. Along
with this, it includes huge storage, virtual applications, virtual machines, traffic control
mechanisms, deployment models, etc.
1. Application
Application in backend refers to a software or platform to which client accesses.
Means it provides the service in backend as per the client requirement.

Cloud Computing: 22CA5123


C CENTER

2. Service
Service in backend refers to the major three types of cloud based services
like SaaS, PaaS and IaaS. Also manages which type of service the user accesses.

3. Runtime Cloud-
Runtime cloud in backend provides the execution and Runtime
platform/environment to the Virtual machine.
4. Storage –
Storage in backend provides flexible and scalable storage service and management
of stored data.
5. Infrastructure
Cloud Infrastructure in backend refers to the hardware and software components
of cloud like it includes servers, storage, network devices, virtualization software.
6. Management
Management in backend refers to management of backend components like
application, service, runtime cloud, storage, infrastructure, and other security
mechanisms etc.
7. Security
Security in backend refers to implementation of different security mechanisms in
the backend for secure cloud resources, systems, files, and infrastructure to end-
users.
8. Internet
Internet connection acts as the medium or a bridge between frontend and backend
and establishes the interaction and communication between frontend and backend.
9. Database– Database in backend refers to provide database for storing structured
data, such as SQL and NOSQL databases. Example of Databases services include
Amazon RDS, Microsoft Azure SQL database and Google CLoud SQL.
10. Networking– Networking in backend services that provide networking
infrastructure for application in the cloud, such as load balancing, DNS and virtual
private networks.
11. Analytics– Analytics in backend service that provides analytics capabillities for
data in the cloud, such as warehousing, bussness intellegence and machine
learning.
Benefits of Cloud Computing Architecture :
 Makes overall cloud computing system simpler.
 Improves data processing requirements.
 Helps in providing high security.
 Makes it more modularized.
 Results in better disaster recovery.
 Gives good user accessibility.
 Reduces IT operating costs.
 Provides high level reliability.

Cloud Computing: 22CA5123


C CENTER

 Scalability.

1.2.1 The Technological Influences on Cloud Computing


Technology is continually evolving, and with this technological evolution, cloud
computing must change and evolve with it. In this article, we are going to discuss how
advances in technology have had an impact on the development and implementation of
cloud computing, focusing on some of the key influencers.
Open-Source Software There exists a place for open-source software in cloud computing,
in a number of different forms, however there is a mix of opinions towards its use. The
people and organisations in favor of using open-source software can cite various
advantages, including:
 Lack of license fees and no need to pay for updates/upgrades
 Use of open file formats
 Open and accessible source code
 Easy adoption and low barriers for new users
 New applications can be easily developed and integrated
 Software that can be modified and redistributed
 Avoidance of proprietary lock-in

Proprietary technology can often emerge from the use of open-source software - cloud
providers that use software like Linux can customize the services by modifying the source
code.
Universal Connectivity Without universal connectivity (universal access to the internet),
cloud computing would not be able to progress or advance. Fast, broadband networks,
available to all, allows cloud computing to serve and connect businesses, organizations and
customers. Thankfully, cloud computing growth is supported by the ongoing worldwide
expansion of broadband connections.

1.2.2 What is a Cloud Deployment Model?


Cloud Deployment Model functions as a virtual computing environment with a
deployment architecture that varies depending on the amount of data you want to store and
who has access to the infrastructure.
Models of Cloud Computing
Cloud Computing helps in rendering several services according to roles, companies,
etc. Cloud computing models are explained below.
 Infrastructure as a service (IaaS)
 Platform as a service (PaaS)
 Software as a service (SaaS)

Cloud Computing: 22CA5123


C CENTER

1.2.3 Types of Cloud Computing Deployment Models


The cloud deployment model identifies the specific type of cloud environment based on
ownership, scale, and access, as well as the cloud’s nature and purpose. The location of the
servers you’re utilizing and who controls them are defined by a cloud deployment model.

It specifies how your cloud infrastructure will look, what you can change, and whether you
will be given services or will have to create everything yourself. Relationships between the
infrastructure and your users are also defined by cloud deployment types.
Different types of cloud computing deployment models are described below.
 Public Cloud
 Private Cloud
 Hybrid Cloud
 Community Cloud
 Multi-Cloud

Self-Assessment Questions

Cloud Computing: 22CA5123


C CENTER

UNIT-2
2.1 CLOUD INFRASTRUCTURE
Cloud infrastructure consists of servers, storage devices, network, cloud
management software, deployment software, and platform virtualization.

Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. It allows to share the single physical instance of cloud resources between several
tenants.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the cloud.
Network
It is the key component of cloud infrastructure. It allows to connect cloud
services over the Internet. It is also possible to deliver network as a utility over the
Internet, which means, the customer can customize the network route and protocol.
Server
The server helps to compute the resource sharing and offers other services such as
resource allocation and de-allocation, monitoring the resources, providing security
etc.
Storage
Cloud keeps multiple replicas of storage. If one of the storage resources fails, then
it can be extracted from another one, which makes cloud computing more reliable.

Cloud Computing: 22CA5123


C CENTER

2.1.1 Storage Clouds


Storage Systems in the Cloud:
There are 3 types of storage systems in the Cloud as follows.
 Block-Based Storage System
 File-Based Storage System
 Object-Based Storage System
Let’s discuss it one by one as follows.
Type-1:
Block-Based Storage System –
 Hard drives are block-based storage systems. Your operating system like
Windows or Linux actually sees a hard disk drive. So, it sees a drive on which you
can create a volume, and then you can partition that volume and format them.
 For example, If a system has 1000 GB of volume, then we can partition it into 800
GB and 200 GB for local C and local D drive respectively.
Type-2:
File-Based Storage System –
 In this, you are actually connecting through a Network Interface Card (NIC). You
are going over a network, and then you can access the network-attached storage
server (NAS). NAS devices are file-based storage systems.
 This storage server is another computing device that has another disk in it. It is
already created a file system so that it’s already formatted its partitions, and it will
share its file systems over the network. Here, you can actually map the drive to its
network location.
Type-3:
Object-Based Storage System –
 In this, a user uploads objects using a web browser and uploading an object to a
container i.e, Object Storage Container. This uses the HTTP Protocols with the
rest of the APIs (example: GET, PUT, POST, SELECT, DELETE).
 For example, when you connect to any website, and you need to download some
images, text, or anything that the website contains. For that, it is a code HTTP
GET request. If you want to review any product then you can use PUT and POST
requests.

Advantages:
 Scalability –
Capacity and storage can be expanded and performance can be enhanced.
 Flexibility –
Data can be manipulated and scaled according to the rules.
 Simpler Data Migrations –
As it can add and remove the new and old data when required eliminates
disruptive data migrations.

Disadvantages:
 Data centers require electricity and proper internet facility to operate their work,
failing in which system will not work properly.

Cloud Computing: 22CA5123


C CENTER

2.1.2 Layered Cloud Architecture Development


It is possible to organize all the concrete realizations of cloud computing into a
layered view covering the entire, from hardware appliances to software systems.
All of the physical manifestations of cloud computing can be arranged into a
layered picture that encompasses anything from software systems to hardware appliances.
Utilizing cloud resources can provide the “computer horsepower” needed to deliver
services.
This layer is frequently done utilizing a data center with dozens or even millions of
stacked nodes. Because it can be constructed from a range of resources, including clusters
and even networked PCs, cloud infrastructure can be heterogeneous in character. The
infrastructure can also include database systems and other storage services.
The core middleware, whose goals are to create an optimal runtime environment for
applications and to best utilize resources, manages the physical infrastructure.
Virtualization technologies are employed at the bottom of the stack to ensure runtime
environment modification, application isolation, sandboxing, and service quality.
At this level, hardware virtualization is most frequently utilized. The distributed
infrastructure is exposed as a collection of virtual computers via hypervisors, which control
the pool of available resources. By adopting virtual machine technology, it is feasible to
precisely divide up hardware resources like CPU and memory as well as virtualize
particular devices to accommodate user and application needs.

Layered Architecture of Cloud

Application Layer
1. The application layer, which is at the top of the stack, is where the actual cloud apps
are located. Cloud applications, as opposed to traditional applications, can take
advantage of the automatic-scaling functionality to gain greater performance,
availability, and lower operational costs.
2. This layer consists of different Cloud Services which are used by cloud users. Users
can access these applications according to their needs. Applications are divided
into Execution layers and Application layers.

Cloud Computing: 22CA5123


C CENTER

3. In order for an application to transfer data, the application layer determines whether
communication partners are available. Whether enough cloud resources are accessible
for the required communication is decided at the application layer. Applications must
cooperate in order to communicate, and an application layer is in charge of this.
4. The application layer, in particular, is responsible for processing IP traffic handling
protocols like Telnet and FTP. Other examples of application layer systems include
web browsers, SNMP protocols, HTTP protocols, or HTTPS, which is HTTP’s
successor protocol.

Platform Layer
1. The operating system and application software make up this layer.
2. Users should be able to rely on the platform to provide them with Scalability,
Dependability, and Security Protection which gives users a space to create their
apps, test operational processes, and keep track of execution outcomes and
performance. SaaS application implementation’s application layer foundation.
3. The objective of this layer is to deploy applications directly on virtual machines.
4. Operating systems and application frameworks make up the platform layer, which is
built on top of the infrastructure layer. The platform layer’s goal is to lessen the
difficulty of deploying programmers directly into VM containers.
5. By way of illustration, Google App Engine functions at the platform layer to provide
API support for implementing storage, databases, and business logic of ordinary web
apps.

Infrastructure Layer
1. It is a layer of virtualization where physical resources are divided into a collection of
virtual resources using virtualization technologies like Xen, KVM, and VMware.
2. This layer serves as the Central Hub of the Cloud Environment, where resources
are constantly added utilizing a variety of virtualization techniques.
3. A base upon which to create the platform layer. constructed using the virtualized
network, storage, and computing resources. Give users the flexibility they want.
4. Automated resource provisioning is made possible by virtualization, which also
improves infrastructure management.
5. The infrastructure layer sometimes referred to as the virtualization layer, partitions the
physical resources using virtualization technologies like Xen, KVM, Hyper-V, and
VMware to create a pool of compute and storage resources.
6. The infrastructure layer is crucial to cloud computing since virtualization technologies
are the only ones that can provide many vital capabilities, like dynamic resource
assignment.

Cloud Computing: 22CA5123


C CENTER

Datacenter Layer
 In a cloud environment, this layer is responsible for Managing Physical
Resources such as servers, switches, routers, power supplies, and cooling systems.
 Providing end users with services requires all resources to be available and managed in
data centers.
 Physical servers connect through high-speed devices such as routers and switches to
the data center.
 In software application designs, the division of business logic from the persistent data
it manipulates is well-established. This is due to the fact that the same data cannot be
incorporated into a single application because it can be used in numerous ways to
support numerous use cases.
 A single database used by many microservices creates a very close coupling. As a
result, it is hard to deploy new or emerging services separately if such services need
database modifications that may have an impact on other services.

Cloud Computing: 22CA5123


C CENTER

Self-Assessment Questions

10. In the Planning Phase, Which of the following is the correct step for performing the analysis?
a. Cloud Computing Value Proposition
b. Cloud Computing Strategy Planning
c. Both A and B
d. Business Architecture Development
11. In which one of the following, a strategy record or Document is created respectively to the
events, conditions a user may face while applying cloud computing mode.
a. Cloud Computing Value Proposition b. Cloud Computing Strategy Planning
b. Planning Phase d. Business Architecture Development

12. What is Business Architecture Development?


a. We recognize the risks that might be caused by cloud computing application from a business
perspective.
b. We identify the applications that support the business processes and the technologies required to
support enterprise applications and data systems.
c. We formulate all kinds of plans that are required to transform the current business to cloud
computing modes.
d. None of the above

Cloud Computing: 22CA5123


C CENTER

2.2 Cloud Computing Architectural Design Challenges


Architectural Design Challenges
Challenge 1—Service Availability and Data Lock-in Problem
Challenge 2—Data Privacy and Security Concerns
Challenge 3—Unpredictable Performance and Bottlenecks
Challenge 4—Distributed Storage and Widespread Software Bugs
Challenge 5—Cloud Scalability, Interoperability, and Standardization
Challenge 6—Software Licensing and Reputation Sharing
Cloud computing, an emergent technology, has placed many challenges in different
aspects of data and information handling. Some of these are shown in the following
diagram:

Security and Privacy


Security and Privacy of information is the biggest challenge to cloud computing.
Security and privacy issues can be overcome by employing encryption, security hardware
and security applications.
Portability
This is another challenge to cloud computing that applications should easily be
migrated from one cloud provider to another. There must not be vendor lock-in. However,
it is not yet made possible because each of the cloud provider uses different standard
languages for their platforms.
Interoperability
It means the application on one platform should be able to incorporate services
from the other platforms. It is made possible via web services, but developing such web
services is very complex.
Computing Performance
Data intensive applications on cloud requires high network bandwidth, which
results in high cost. Low bandwidth does not meet the desired computing performance of
cloud application.
Reliability and Availability
It is necessary for cloud systems to be reliable and robust because most of the
businesses are now becoming dependent on services provided by third-party.
Cloud Computing: 22CA5123
C CENTER

2.2.1 Inter Cloud Resource Management


A theoretical model for cloud computing services is referred to as the “inter-cloud”
or “cloud of clouds.” combining numerous various separate clouds into a single fluid mass
for on-demand operations Simply put, the inter-cloud would ensure that a cloud could
utilize resources outside of its range using current agreements with other cloud service
providers. There are limits to the physical resources and the geographic reach of any one
cloud.
Extended Cloud Computing Services

Cloud Computing: 22CA5123


C CENTER

Need of Inter-Cloud
Due to their Physical Resource limits, Clouds have certain Drawbacks:
 When a cloud’s computational and storage capacity is completely depleted, it is
unable to serve its customers.
 The Inter-Cloud addresses these circumstances when one cloud would access the
computing, storage, or any other resource of the infrastructures of other clouds8.

Benefits of the Inter-Cloud Environment include:


 Avoiding vendor lock-in to the cloud client
 Having access to a variety of geographical locations, as well as enhanced
application resiliency.
 Better service level agreements (SLAs) to the cloud client
 Expand-on-demand is an advantage for the cloud provider.

A cloud’s infrastructure’s processing and storage capacity could be exhausted.


combining numerous various separate clouds into a single fluid mass for on-demand
operations.
Simply put, the intercloud would ensure that a cloud could utilize resources outside
of its range combining numerous various separate clouds into a single fluid mass for
on-demand operations. Such requests for service allocations received by its clients
would still be met by it.

Types of Inter-Cloud Resource Management


1. Federation Clouds: A federation cloud is a kind of inter-cloud where several cloud
service providers willingly link their cloud infrastructures together to exchange
resources. Cloud service providers in the federation trade resources in an open manner.
With the aid of this inter-cloud technology, private cloud portfolios, as well as
government clouds (those utilized and owned by non-profits or the government), can
cooperate.

2. Multi-Cloud: A client or service makes use of numerous independent clouds in a


multi-cloud. A multi-cloud ecosystem lacks voluntarily shared infrastructure across
cloud service providers. It is the client’s or their agents’ obligation to manage resource
supply and scheduling. This strategy is utilized to use assets from both public and
private cloud portfolios. These multi-cloud kinds include services and libraries.

Topologies used In InterCloud Architecture

1. Peer-to-Peer Inter-Cloud Federation: Clouds work together directly, but they may
also utilize distributed entities as directories or brokers. Clouds communicate and engage
in direct negotiation without the use of intermediaries. The peer-to-peer federation
intercloud projects are RESERVOIR (Resources and Services Virtualization without
Barriers Project).
Cloud Computing: 22CA5123
C CENTER

2. Centralized Inter-Cloud Federation: In the cloud, resource sharing is carried out or


facilitated by a central body. The central entity serves as a registry for the available cloud
resources. The inter-cloud initiatives Dynamic Cloud Collaboration (DCC), and Federated
Cloud Management leverage centralized inter-cloud federation.

3. Multi-Cloud Service: Clients use a service to access various clouds. The cloud client
hosts a service either inside or externally. The services include elements for brokers. The
inter-cloud initiatives OPTIMUS, contrail, MOSAIC, STRATOS, and commercial cloud
management solutions leverage multi-cloud services.

4. Multi-Cloud Libraries: Clients use a uniform cloud API as a library to create their
own brokers. Inter clouds that employ libraries make it easier to use clouds consistently.
Java library J-clouds, Python library Apache Lib-Clouds, and Ruby library Apache Delta-
Cloud are a few examples of multiple multi-cloud libraries.

Cloud Computing: 22CA5123


C CENTER

2.2.2 Importance of Cloud Provisioning:


 Scalability: Being able to actively scale up and down with flux in demand for resources is
one of the major points of cloud computing
 Speed: Users can quickly spin up multiple machines as per their usage without the need
for an IT Administrator
 Savings: Pay as you go model allows for enormous cost savings for users, it is facilitated
by provisioning or removing resources according to the demand

Cloud Computing: 22CA5123


C CENTER

Challenges of Cloud Provisioning:


 Complex management: Cloud providers have to use various different tools and
techniques to actively monitor the usage of resources
 Policy enforcement: Organisations have to ensure that users are not able to
access the resources they shouldn’t.
 Cost: Due to automated provisioning costs may go very high if attention isn’t paid
to placing proper checks in place. Alerts about reaching the cost threshold are
required.
[
Tools for Cloud Provisioning:
 Google Cloud Deployment Manager
 IBM Cloud Orchestrator
 AWS CloudFormation
 Microsoft Azure Resource Manager
Types of Cloud Provisioning:

 Static Provisioning or Advance Provisioning: Static provisioning can be used


successfully for applications with known and typically constant demands or workloads.
In this instance, the cloud provider allows the customer with a set number of resources.
The client can thereafter utilize these resources as required.
The client is in charge of making sure the resources aren’t overutilized. This is an
excellent choice for applications with stable and predictable needs or workloads. For
instance, a customer might want to use a database server with a set quantity of CPU,
RAM, and storage.
When a consumer contracts with a service provider for services, the supplier
makes the necessary preparations before the service can begin. Either a one-time cost
or a monthly fee is applied to the client.
Resources are pre-allocated to customers by cloud service providers. This means
that before consuming resources, a cloud user must select how much capacity they
need in a static sense. Static provisioning may result in issues with over or under-
provisioning.

 Dynamic provisioning or On-demand provisioning: With dynamic


provisioning, the provider adds resources as needed and subtracts them as they are no
longer required. It follows a pay-per-use model, i.e. the clients are billed only for the
exact resources they use. Consumers must pay for each use of the resources that the
cloud service provider allots to them as needed and when necessary.
For instance, a customer might want to use a web server with a configurable
quantity of CPU, memory, and storage. In this scenario, the client can utilize the
resources as required and only pay for what is really used. The client is in charge of
ensuring that the resources are not oversubscribed; otherwise, fees can skyrocket.

 Self-service provisioning or user self-provisioning: In user self-provisioning,


sometimes referred to as cloud self-service, the customer uses a web form to acquire
resources from the cloud provider, sets up a customer account, and pays with a credit
card. Shortly after, resources are made accessible for consumer use.

Cloud Computing: 22CA5123


C CENTER

Self-Assessment Questions

13. Which one of the following refers to the non-functional requirements like disaster
recovery, security, reliability, etc.
a. Service Development
b. Quality of service
c. Plan Development
d. Technical Service

14. Which one of the following is a phase of the Deployment process?


a. Selecting Cloud Computing Provider
b. IT Architecture Development
c. Business Architecture Development
d. Transformation Plan Development

15. This phase involves selecting a cloud provider based on the Service Level
Agreement (SLA), which defines the level of service the provider receives.
a. Maintenance and Technical Service
b. Selecting Cloud Computing Provider
c. Both A and B
d. None of the above

16. In which one of the following phases, IT Architecture Development came?


a. Strategy Phase
b. Planning Phase
c. Deployment Phase
d. Development Phase

Cloud Computing: 22CA5123


C CENTER

2.3 Global exchange of cloud resources


Cloud Exchange (CEx) serves as a market maker, bringing service providers and
users together. The University of Melbourne proposed it under Intercloud architecture
(Cloudbus). It supports brokering and exchanging cloud resources for scaling applications
across multiple clouds.
It aggregates the infrastructure demands from application brokers and evaluates
them against the available supply. It supports the trading of cloud services based on
competitive economic models such as commodity markets and auctions.

Entities of the Global exchange of cloud resources


Now we will talk about the various entities of the global exchange of cloud
resources.
Market directory
A market directory is an extensive database of resources, providers, and participants
using the resources. Participants can use the market directory to find providers or
customers with suitable offers.
Auctioneers
Auctioneers clear bids and ask from market participants regularly. Auctioneers sit
between providers and customers and grant the resources available in the Global
exchange of cloud resources to the highest bidding customer.
Brokers
Brokers mediate between consumers and providers by buying capacity from the
provider and sub-leasing these to the consumers. They must select consumers
whose apps will provide the most utility. Brokers may also communicate with
resource providers and other brokers to acquire or trade resource shares. To make
decisions, these brokers are equipped with a negotiating module informed by the
present conditions of the resources and the current demand.
Service-level agreements(SLAs)
The service level agreement (SLA) highlights the details of the service to be
provided in terms of metrics that have been agreed upon by all parties, as well as
penalties for meeting and failing to meet the expectations.
Cloud Computing: 22CA5123
C CENTER

The consumer participates in the utility market via a resource management proxy
that chooses a set of brokers based on their offering.SLAs are formed between the
consumer and the brokers, which bind the latter to offer the guaranteed resources.
After that, the customer either runs their environment on the leased resources or
uses the provider's interfaces to scale their applications.
Providers
A provider has a price-setting mechanism that determines the current price for
their source based on market conditions, user demand, and the current degree of
utilization of the resource.
Based on an initial estimate of utility, an admission-control mechanism at a
provider's end selects the auctions to participate in or to negotiate with the brokers.
Resource management system
The resource management system provides functionalities such as advance
reservations that enable guaranteed provisioning of resource capacity.

Cloud Computing: 22CA5123


C CENTER

Self-Assessment Questions

17. Which of the model involves the special types of services that users can access on a Cloud
Computing platform?
a. Service
b. Planning
c. Deployment
d. Application

18. Which one of the following is related to the services provided by Cloud?
a. Sourcing
b. Ownership
c. Reliability
d. PaaS

Cloud Computing: 22CA5123


C CENTER

Summary
This module showcase most recent alterations to computer environments and IT trends
follow Grids, clusters/MPPs, peer-to-peer networks, and internet clouds are all thought to be
significant. The availability, scalability, performance, and security of cloud computing are
highlighted in this SLM. Exact analysis of energy use in connection to workload outsourcing, data
centre security, and other factors is also covered.

Terminal Questions
1. Explain cloud provider and cloud broker?
2. Explain the infrastructure of Grid computing in detail?
3. Explain the cloud eco system?
4. Identify the web services delivered from the Cloud?
5. Articulate Wide Area Networks With Virtualization In Detail

Answer Keys

Self-Assessment Questions Keys

1 (A) 2 (C) 3 (D) 4 (B) 5 (C) 6 (A)


7 (B) 8 (B) 9 (B) 10 (C) 11 (B) 12 (A)
13 (B) 14 (D) 15 (B) 16 (B) 17 (A) 18 (A)

BIBLIOGRAPHY

External References
1. Raj Kumar Buyya, James Broberg, Andrezei M. Goscinski (2011),
Cloud Computing: Principles and paradigms.
2. Krutz, Ronald L.; Vines, Russell Dean, Cloud Security, A
comprehensive Guide to Secure Cloud Computing.
3. Barrie Sosinsky (2011), Cloud Computing Bible, Wiley.-Anthony T.

e-References

 https://en.wikipedia.org/wiki/Cloud_computing
 https://www.knowledgehut.com/blog/cloud-computing/cloud-computing-reference-model
 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication500-292.pdf
 http://dx.doi.org/10.4018/ijcac.2012040105.
 http://dx.doi.org/10.4028/www.scientific.net/amr.171-172.696.

Cloud Computing: 22CA5123

You might also like