0% found this document useful (0 votes)
73 views

CC (Notes)

Cloud computing has evolved from centralized client/server models and distributed computing networks. John McCarthy first suggested computing could be delivered like a utility in 1961. Salesforce.com launched the first cloud-based applications in 1999. Major tech companies like Amazon, Google, Microsoft, and others now offer cloud services. Cloud architecture uses front-end interfaces that access back-end resources managed by service providers. Advantages include backup/restore, collaboration, accessibility, low costs, and unlimited storage. Disadvantages can include internet dependence, vendor lock-in, limited control, and security risks. Cloud applications are widely used for art, business, education, entertainment, and more.

Uploaded by

Palak Batra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views

CC (Notes)

Cloud computing has evolved from centralized client/server models and distributed computing networks. John McCarthy first suggested computing could be delivered like a utility in 1961. Salesforce.com launched the first cloud-based applications in 1999. Major tech companies like Amazon, Google, Microsoft, and others now offer cloud services. Cloud architecture uses front-end interfaces that access back-end resources managed by service providers. Advantages include backup/restore, collaboration, accessibility, low costs, and unlimited storage. Disadvantages can include internet dependence, vendor lock-in, limited control, and security risks. Cloud applications are widely used for art, business, education, entertainment, and more.

Uploaded by

Palak Batra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

Chapter 1

Introduction
Evolution of Cloud Computing
Before emerging the cloud computing, there was Client/Server computing which is
basically a centralized storage in which all the software applications, all the data and all
the controls are resided on the server side.

If a single user wants to access specific data or run a program, he/she need to connect
to the server and then gain appropriate access, and then he/she can do his/her business.

Then after, distributed computing came into picture, where all the computers are
networked together and share their resources when needed.

On the basis of above computing, there was emerged of cloud computing concepts that
later implemented.

At around in 1961, John MacCharty suggested in a speech at MIT that computing can be
sold like a utility, just like a water or electricity. It was a brilliant idea, but like all brilliant
ideas, it was ahead if its time, as for the next few decades, despite interest in the model,
the technology simply was not ready for it.

In 1999, Salesforce.com started delivering of applications to users using a simple website. The
applications were delivered to enterprises over the Internet, and this way the dream of computing
sold as utility were true.

In 2002, Amazon started Amazon Web Services, providing services like storage, computation and
even human intelligence.

In 2009, Google Apps also started to provide cloud computing enterprise applications.

In 2009, Microsoft launched Windows Azure, and companies like Oracle and HP have all
joined the game. This proves that today, cloud computing has become mainstream.
Cloud Computing Architecture
cloud computing technology is used by both small and large organizations to store the
information in cloud and access it from anywhere at anytime using the internet
connection.

Cloud computing architecture is a combination of service-oriented


architecture and event-driven architecture.

Cloud computing architecture is divided into the following two parts -

o Front End
o 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.

Advantages and Disadvantages of Cloud


Computing
Advantages of Cloud Computing
As we all know that Cloud computing is trending technology. Almost every company
switched their services on the cloud to rise the company growth.

Here, we are going to discuss some important advantages of Cloud Computing-


1) Back-up and restore data

Once the data is stored in the cloud, it is easier to get back-up and restore that data
using the cloud.

2) Improved collaboration

Cloud applications improve collaboration by allowing groups of people to quickly and


easily share information in the cloud via shared storage.

3) Excellent accessibility

Cloud allows us to quickly and easily access store information anywhere, anytime in the
whole world, using an internet connection. An internet cloud infrastructure increases
organization productivity and efficiency by ensuring that our data is always accessible.

4) Low maintenance cost

Cloud computing reduces both hardware and software maintenance costs for
organizations.

5) Mobility

Cloud computing allows us to easily access all cloud data via mobile.

6) IServices in the pay-per-use model

Cloud computing offers Application Programming Interfaces (APIs) to the users for
access services on the cloud and pays the charges as per the usage of service.

7) Unlimited storage capacity

Cloud offers us a huge amount of storing capacity for storing our important data such
as documents, images, audio, video, etc. in one place.

8) Data security

Data security is one of the biggest advantages of cloud computing. Cloud offers many
advanced features related to security and ensures that data is securely stored and
handled.
Disadvantages of Cloud Computing
A list of the disadvantage of cloud computing is given below -

1) Internet Connectivity

As you know, in cloud computing, every data (image, audio, video, etc.) is stored on the
cloud, and we access these data through the cloud by using the internet connection. If
you do not have good internet connectivity, you cannot access these data. However, we
have no any other way to access data from the cloud.

2) Vendor lock-in

Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may face
problems when transferring their services from one vendor to another. As different
vendors provide different platforms, that can cause difficulty moving from one cloud to
another.

3) Limited Control

As we know, cloud infrastructure is completely owned, managed, and monitored by the


service provider, so the cloud users have less control over the function and execution of
services within a cloud infrastructure.

4) Security

Although cloud service providers implement the best security standards to store
important information. But, before adopting cloud technology, you should be aware
that you will be sending all your organization's sensitive information to a third party, i.e.,
a cloud computing service provider. While sending the data on the cloud, there may be
a chance that your organization's information is hacked by Hackers.

How does cloud computing work


Assume that you are an executive at a very big corporation. Your particular
responsibilities include to make sure that all of your employees have the right hardware
and software they need to do their jobs. To buy computers for everyone is not enough.
You also have to purchase software as well as software licenses and then provide these
softwares to your employees as they require. Whenever you hire a new employee, you
need to buy more software or make sure your current software license allows another
user. It is so stressful that you have to spend lots of money.

But, there may be an alternative for executives like you. So, instead of installing a suite
of software for each computer, you just need to load one application. That application
will allow the employees to log-in into a Web-based service which hosts all the
programs for the user that is required for his/her job. Remote servers owned by another
company and that will run everything from e-mail to word processing to complex data
analysis programs. It is called cloud computing, and it could change the entire computer
industry.

In a cloud computing system, there is a significant workload shift. Local computers have
no longer to do all the heavy lifting when it comes to run applications. But cloud
computing can handle that much heavy load easily and automatically. Hardware and
software demands on the user's side decrease. The only thing the user's computer
requires to be able to run is the cloud computing interface software of the system,
which can be as simple as a Web browser and the cloud's network takes care of the rest.
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:

3.3M

448

OOPs Concepts in Java


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.

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.

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 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.


What are the Security Risks(Challenges) of
Cloud Computing
Cloud computing provides various advantages, such as improved collaboration,
excellent accessibility, Mobility, Storage capacity, etc. But there are also security risks in
cloud computing.

Some most common Security Risks of Cloud Computing are given below-

Data Loss
Data loss is the most common cloud security risks of cloud computing. It is also known
as data leakage. Data loss is the process in which data is being deleted, corrupted, and
unreadable by a user, software, or application. In a cloud computing environment, data
loss occurs when our sensitive data is somebody else's hands, one or more data
elements can not be utilized by the data owner, hard disk is not working properly, and
software is not updated.

Hacked Interfaces and Insecure APIs


As we all know, cloud computing is completely depends on Internet, so it is compulsory
to protect interfaces and APIs that are used by external users. APIs are the easiest way to
communicate with most of the cloud services. In cloud computing, few services are
available in the public domain. These services can be accessed by third parties, so there
may be a chance that these services easily harmed and hacked by hackers.

Data Breach
Data Breach is the process in which the confidential data is viewed, accessed, or stolen
by the third party without any authorization, so organization's data is hacked by the
hackers.

Vendor lock-in
Vendor lock-in is the of the biggest security risks in cloud computing. Organizations
may face problems when transferring their services from one vendor to another. As
different vendors provide different platforms, that can cause difficulty moving one cloud
to another.

Increased complexity strains IT staff


Migrating, integrating, and operating the cloud services is complex for the IT staff. IT
staff must require the extra capability and skills to manage, integrate, and maintain the
data to the cloud.

Spectre & Meltdown


Spectre & Meltdown allows programs to view and steal data which is currently
processed on computer. It can run on personal computers, mobile devices, and in the
cloud. It can store the password, your personal information such as images, emails, and
business documents in the memory of other running programs.

Denial of Service (DoS) attacks


Denial of service (DoS) attacks occur when the system receives too much traffic to buffer
the server. Mostly, DoS attackers target web servers of large organizations such as
banking sectors, media companies, and government organizations. To recover the lost
data, DoS attackers charge a great deal of time and money to handle the data.

Account hijacking
Account hijacking is a serious security risk in cloud computing. It is the process in which
individual user's or organization's cloud account (bank account, e-mail account, and
social media account) is stolen by hackers. The hackers use the stolen account to
perform unauthorized activities.
Chapter 2

Sevice and Deployment models

Cloud Service Models


There are the following three types of cloud service models -

1. Infrastructure as a Service (IaaS)


2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure
managed over the internet. The main advantage of using IaaS is that it helps users to
avoid the cost and complexity of purchasing and managing the physical servers.

Characteristics of IaaS
There are the following characteristics of IaaS -

o Resources are available as a service


o Services are highly scalable
o Dynamic and flexible
o GUI and API-based access
o Automated administrative tasks

Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.

Platform as a Service (PaaS)


PaaS cloud computing platform is created for the programmer to develop, test, run, and
manage the applications.

Characteristics of PaaS
There are the following characteristics of PaaS -

o Accessible to various users via the same development application.


o Integrates with web services and databases.
o Builds on virtualization technology, so resources can easily be scaled up or down as per
the organization's need.
o Support multiple languages and frameworks.
o Provides an ability to "Auto-scale".
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App
Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.

Software as a Service (SaaS)


SaaS is also known as "on-demand software". It is a software in which the applications
are hosted by a cloud service provider. Users can access these applications with the help
of internet connection and web browser.

Characteristics of SaaS
There are the following characteristics of SaaS -

o Managed from a central location


o Hosted on a remote server
o Accessible over the internet
o Users are not responsible for hardware and software updates. Updates are applied
automatically.
o The services are purchased on the pay-as-per-use basis

Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx,


ZenDesk, Slack, and GoToMeeting.

Difference between IaaS, PaaS, and SaaS


The below table shows the difference between IaaS, PaaS, and SaaS -
IaaS Paas SaaS

It provides a virtual data It provides virtual platforms It provides web software and
center to store information and tools to create, test, and apps to complete business
and create platforms for app deploy apps. tasks.
development, testing, and
deployment.

It provides access to It provides runtime It provides software as a


resources such as virtual environments and deployment service to the end-users.
machines, virtual storage, tools for applications.
etc.

It is used by network It is used by developers. It is used by end users.


architects.

IaaS provides only PaaS provides SaaS provides


Infrastructure. Infrastructure+Platform. Infrastructure+Platform
+Software.

Infrastructure as a Service | IaaS


Iaas is also known as Hardware as a Service (HaaS). It is one of the layers of the cloud
computing platform. It allows customers to outsource their IT infrastructures such as
servers, networking, processing, storage, virtual machines, and other resources.
Customers access these resources on the Internet using a pay-as-per use model.

In traditional hosting services, IT infrastructure was rented out for a specific period of
time, with pre-determined hardware configuration. The client paid for the configuration
and time, regardless of the actual use. With the help of the IaaS cloud computing
platform layer, clients can dynamically scale the configuration to meet changing
requirements and are billed only for the services actually used.

IaaS cloud computing platform layer eliminates the need for every organization to
maintain the IT infrastructure.

IaaS is offered in three models: public, private, and hybrid cloud. The private cloud
implies that the infrastructure resides at the customer-premise. In the case of public
cloud, it is located at the cloud computing platform vendor's data center, and the hybrid
cloud is a combination of the two in which the customer selects the best of both public
cloud or private cloud.

IaaS provider provides the following services -

1. Compute: Computing as a Service includes virtual central processing units and virtual
main memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as routers,
switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Advantages of IaaS cloud computing layer
There are the following advantages of IaaS computing layer -

1. Shared infrastructure

IaaS allows multiple users to share the same physical infrastructure.

2. Web access to the resources

Iaas allows IT users to access resources over the internet.

3. Pay-as-per-use model

IaaS providers provide services based on the pay-as-per-use basis. The users are
required to pay for what they have used.

4. Focus on the core business

IaaS providers focus on the organization's core business rather than on IT infrastructure.

5. On-demand scalability

On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not
worry about to upgrade software and troubleshoot the issues related to hardware
components.

Disadvantages of IaaS cloud computing layer


1. Security

Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to
provide 100% security.

2. Maintenance & Upgrade

Although IaaS service providers maintain the software, but they do not upgrade the
software for some organizations.

3. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the customers might
face problem related to vendor lock-in.

Some important point about IaaS cloud computing layer


IaaS cloud computing platform cannot replace the traditional hosting method, but it
provides more than that, and each resource which are used are predictable as per the
usage.

IaaS cloud computing platform may not eliminate the need for an in-house IT
department. It will be needed to monitor or control the IaaS setup. IT salary expenditure
might not reduce significantly, but other IT expenses can be reduced.

Breakdowns at the IaaS cloud computing platform vendor's can bring your business to
the halt stage. Assess the IaaS cloud computing platform vendor's stability and finances.
Make sure that SLAs (i.e., Service Level Agreement) provide backups for data, hardware,
network, and application failures. Image portability and third-party support is a plus
point.

The IaaS cloud computing platform vendor can get access to your sensitive data. So,
engage with credible companies or organizations. Study their security policies and
precautions.
Top Iaas Providers who are providing IaaS cloud computing
platform

IaaS Vendor Iaas Solution Details

Amazon Web Elastic, Elastic Compute The cloud computing platform pioneer,
Services Cloud (EC2) Amazon offers auto scaling, cloud
MapReduce, Route 53, monitoring, and load balancing features
Virtual Private Cloud, as part of its portfolio.
etc.

Netmagic Netmagic IaaS Cloud Netmagic runs from data centers in


Solutions Mumbai, Chennai, and Bangalore, and a
virtual data center in the United States.
Plans are underway to extend services to
West Asia.
Rackspace Cloud servers, cloud The cloud computing platform vendor
files, cloud sites, etc. focuses primarily on enterprise-level
hosting services.

Reliance Reliance Internet Data RIDC supports both traditional hosting


Communications Center and cloud services, with data centers in
Mumbai, Bangalore, Hyderabad, and
Chennai. The cloud services offered by
RIDC include IaaS and SaaS.

Sify Technologies Sify IaaS Sify's cloud computing platform is


powered by HP's converged
infrastructure. The vendor offers all three
types of cloud services: IaaS, PaaS, and
SaaS.

Tata InstaCompute InstaCompute is Tata Communications'


Communications IaaS offering. InstaCompute data centers
are located in Hyderabad and Singapore,
with operations in both countries.
Platform as a Service | PaaS
Platform as a Service (PaaS) provides a runtime environment. It allows programmers to
easily create, test, run, and deploy web applications. You can purchase these
applications from a cloud service provider on a pay-as-per use basis and access them
using the Internet connection. In PaaS, back end scalability is managed by the cloud
service provider, so end- users do not need to worry about managing the infrastructure.

PaaS includes infrastructure (servers, storage, and networking) and platform


(middleware, development tools, database management systems, business intelligence,
and more) to support the web application life cycle.

Example: Google App Engine, Force.com, Joyent, Azure.

PaaS providers provide the Programming languages, Application frameworks,


Databases, and Other tools:

1. Programming languages
PaaS providers provide various programming languages for the developers to develop
the applications. Some popular programming languages provided by PaaS providers are
Java, PHP, Ruby, Perl, and Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are
Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.

3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and
Redis to communicate with the applications.

4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy
the applications.

Advantages of PaaS
There are the following advantages of PaaS -

1) Simplified Development

PaaS allows developers to focus on development and innovation without worrying


about infrastructure management.

2) Lower risk

No need for up-front investment in hardware and software. Developers only need a PC
and an internet connection to start building applications.

3) Prebuilt business functionality

Some PaaS vendors also provide already defined business functionality so that users can
avoid building everything from very scratch and hence can directly start the projects
only.

4) Instant community

PaaS vendors frequently provide online communities where the developer can get the
ideas to share experiences and seek advice from others.
5) Scalability

Applications deployed can scale from one to thousands of users without any changes to
the applications.

Disadvantages of PaaS cloud computing layer


1) Vendor lock-in

One has to write the applications according to the platform provided by the PaaS
vendor, so the migration of an application to another PaaS vendor would be a problem.

2) Data Privacy

Corporate data, whether it can be critical or not, will be private, so if it is not located
within the walls of the company, there can be a risk in terms of privacy of data.

3) Integration with the rest of the systems applications

It may happen that some applications are local, and some are in the cloud. So there will
be chances of increased complexity when we want to use data which in the cloud with
the local data.

Popular PaaS Providers


The below table shows some popular PaaS providers and services that are provided by
them -

Providers Services

Google App Engine App Identity, URL Fetch, Cloud storage client library, Logservice
(GAE)

Salesforce.com Faster implementation, Rapid scalability, CRM Services, Sales


cloud, Mobile connectivity, Chatter.

Windows Azure Compute, security, IoT, Data Storage.

AppFog Justcloud.com, SkyDrive, GoogleDocs

Openshift RedHat, Microsoft Azure.

Cloud Foundry from Data, Messaging, and other services.


VMware
Software as a Service | SaaS
SaaS is also known as "On-Demand Software". It is a software distribution model in
which services are hosted by a cloud service provider. These services are available to
end-users over the internet so, the end-users do not need to install any software on
their devices to access these services.

There are the following services provided by SaaS providers -

Business Services - SaaS Provider provides various business services to start-up the
business. The SaaS business services include ERP (Enterprise Resource
Planning), CRM (Customer Relationship Management), billing, and sales.

Document Management - SaaS document management is a software application


offered by a third party (SaaS providers) to create, manage, and track electronic
documents.

Example: Slack, Samepage, Box, and Zoho Forms.

Social Networks - As we all know, social networking sites are used by the general
public, so social networking service providers use SaaS for their convenience and handle
the general public's information.

Mail Services - To handle the unpredictable number of users and load on e-mail
services, many e-mail providers offering their services using SaaS.
Advantages of SaaS cloud computing layer
1) SaaS is easy to buy

SaaS pricing is based on a monthly fee or annual fee subscription, so it allows


organizations to access business functionality at a low cost, which is less than licensed
applications.

Unlike traditional software, which is sold as a licensed based with an up-front cost (and
often an optional ongoing support fee), SaaS providers are generally pricing the
applications using a subscription fee, most commonly a monthly or annually fee.

2. One to Many

SaaS services are offered as a one-to-many model means a single instance of the
application is shared by multiple users.

3. Less hardware required for SaaS

The software is hosted remotely, so organizations do not need to invest in additional


hardware.
4. Low maintenance required for SaaS

Software as a service removes the need for installation, set-up, and daily maintenance
for the organizations. The initial set-up cost for SaaS is typically less than the enterprise
software. SaaS vendors are pricing their applications based on some usage parameters,
such as a number of users using the application. So SaaS does easy to monitor and
automatic updates.

5. No special software or hardware versions required

All users will have the same version of the software and typically access it through the
web browser. SaaS reduces IT support costs by outsourcing hardware and software
maintenance and support to the IaaS provider.

6. Multidevice support

SaaS services can be accessed from any device such as desktops, laptops, tablets,
phones, and thin clients.

7. API Integration

SaaS services easily integrate with other software or services through standard APIs.

8. No client-side installation

SaaS services are accessed directly from the service provider using the internet
connection, so do not need to require any software installation.

Disadvantages of SaaS cloud computing layer


1) Security

Actually, data is stored in the cloud, so security may be an issue for some users.
However, cloud computing is not more secure than in-house deployment.

2) Latency issue

Since data and applications are stored in the cloud at a variable distance from the end-
user, there is a possibility that there may be greater latency when interacting with the
application compared to local deployment. Therefore, the SaaS model is not suitable for
applications whose demand response time is in milliseconds.
3) Total Dependency on Internet

Without an internet connection, most SaaS applications are not usable.

4) Switching between SaaS vendors is difficult

Switching SaaS vendors involves the difficult and slow task of transferring the very large
data files over the internet and then converting and importing them into another SaaS
also.

Popular SaaS Providers

The below table shows some popular SaaS providers and services that are provided by
them –
Provider Services

Salseforce.com On-demand CRM solutions

Microsoft Office Online office suite


365

Google Apps Gmail, Google Calendar, Docs, and sites

NetSuite ERP, accounting, order management, CRM, Professionals Services


Automation (PSA), and e-commerce applications.

GoToMeeting Online meeting and video-conferencing software

Constant Contact E-mail marketing, online survey, and event marketing

Oracle CRM CRM applications

Workday, Inc Human capital management, payroll, and financial management.

Cloud Deployment Model


Today, organizations have many exciting opportunities to reimagine, repurpose and
reinvent their businesses with the cloud. The last decade has seen even more businesses
rely on it for quicker time to market, better efficiency, and scalability. It helps them
achieve lo ng-term digital goals as part of their digital strategy.

Though the answer to which cloud model is an ideal fit for a business depends on your
organization's computing and business needs. Choosing the right one from the various
types of cloud service deployment models is essential. It would ensure your business is
equipped with the performance, scalability, privacy, security, compliance & cost-
effectiveness it requires. It is important to learn and explore what different deployment
types can offer - around what particular problems it can solve.

Read on as we cover the various cloud computing deployment and service models to
help discover the best choice for your business.

3.1M
381
Difference between JDK, JRE, and JVM

What Is A Cloud Deployment Model?


It works as your virtual computing environment with a choice of deployment model
depending on how much data you want to store and who has access to the
Infrastructure.

Different Types Of Cloud Computing Deployment Models


Most cloud hubs have tens of thousands of servers and storage devices to enable fast
loading. It is often possible to choose a geographic area to put the data "closer" to
users. Thus, deployment models for cloud computing are categorized based on their
location. To know which model would best fit the requirements of your organization, let
us first learn about the various types.

Public Cloud
The name says it all. It is accessible to the public. Public deployment models in the cloud
are perfect for organizations with growing and fluctuating demands. It also makes a
great choice for companies with low-security concerns. Thus, you pay a cloud service
provider for networking services, compute virtualization & storage available on the
public internet. It is also a great delivery model for the teams with development and
testing. Its configuration and deployment are quick and easy, making it an ideal choice
for test environments.

Benefits of Public Cloud

o Minimal Investment - As a pay-per-use service, there is no large upfront cost and


is ideal for businesses who need quick access to resources
o No Hardware Setup - The cloud service providers fully fund the entire
Infrastructure
o No Infrastructure Management - This does not require an in-house team to
utilize the public cloud.

Limitations of Public Cloud

o Data Security and Privacy Concerns - Since it is accessible to all, it does not fully
protect against cyber-attacks and could lead to vulnerabilities.
o Reliability Issues - Since the same server network is open to a wide range of
users, it can lead to malfunction and outages
o Service/License Limitation - While there are many resources you can exchange
with tenants, there is a usage cap.

Private Cloud
Now that you understand what the public cloud could offer you, of course, you are keen
to know what a private cloud can do. Companies that look for cost efficiency and
greater control over data & resources will find the private cloud a more suitable choice.

It means that it will be integrated with your data center and managed by your IT team.
Alternatively, you can also choose to host it externally. The private cloud offers bigger
opportunities that help meet specific organizations' requirements when it comes to
customization. It's also a wise choice for mission-critical processes that may have
frequently changing requirements.

Benefits of Private Cloud

o Data Privacy - It is ideal for storing corporate data where only authorized
personnel gets access
o Security - Segmentation of resources within the same Infrastructure can help with
better access and higher levels of security.
o Supports Legacy Systems - This model supports legacy systems that cannot
access the public cloud.
Limitations of Private Cloud

o Higher Cost - With the benefits you get, the investment will also be larger than
the public cloud. Here, you will pay for software, hardware, and resources for staff
and training.
o Fixed Scalability - The hardware you choose will accordingly help you scale in a
certain direction
o High Maintenance - Since it is managed in-house, the maintenance costs also
increase.

Community Cloud
The community cloud operates in a way that is similar to the public cloud. There's just
one difference - it allows access to only a specific set of users who share common
objectives and use cases. This type of deployment model of cloud computing is
managed and hosted internally or by a third-party vendor. However, you can also
choose a combination of all three.

Benefits of Community Cloud

o Smaller Investment - A community cloud is much cheaper than the private &
public cloud and provides great performance
o Setup Benefits - The protocols and configuration of a community cloud must
align with industry standards, allowing customers to work much more efficiently.

Limitations of Community Cloud

o Shared Resources - Due to restricted bandwidth and storage capacity, community


resources often pose challenges.
o Not as Popular - Since this is a recently introduced model, it is not that popular
or available across industries

Hybrid Cloud
As the name suggests, a hybrid cloud is a combination of two or more cloud
architectures. While each model in the hybrid cloud functions differently, it is all part of
the same architecture. Further, as part of this deployment of the cloud computing
model, the internal or external providers can offer resources.

Let's understand the hybrid model better. A company with critical data will prefer
storing on a private cloud, while less sensitive data can be stored on a public cloud. The
hybrid cloud is also frequently used for 'cloud bursting'. It means, supposes an
organization runs an application on-premises, but due to heavy load, it can burst into
the public cloud.
Benefits of Hybrid Cloud
o Cost-Effectiveness - The overall cost of a hybrid solution decreases since it
majorly uses the public cloud to store data.
o Security - Since data is properly segmented, the chances of data theft from
attackers are significantly reduced.
o Flexibility - With higher levels of flexibility, businesses can create custom
solutions that fit their exact requirements

Limitations of Hybrid Cloud

Complexity - It is complex setting up a hybrid cloud since it needs to integrate two or


more cloud architectures
o Specific Use Case - This model makes more sense for organizations that have
multiple use cases or need to separate critical and sensitive data

A Comparative Analysis of Cloud Deployment Models


With the below table, we have attempted to analyze the key models with an overview of
what each one can do for you:
Important Public Private Community Hybrid
Factors to
Consider

Setup and ease Easy Requires Requires Requires


of use professional IT professional IT professional IT
Team Team Team

Data Security Low High Very High High


and Privacy

Scalability and High High Fixed High


flexibility requirements

Cost- Most Most Cost is Cheaper than


Effectiveness affordable expensive distributed private but more
among members expensive than
public

Reliability Low High Higher High

Making the Right Choice for Cloud Deployment Models


There is no one-size-fits-all approach to picking a cloud deployment model. Instead,
organizations must select a model based on workload-by-workload. Start with assessing
your needs and consider what type of support your application requires. Here are a few
factors you can consider before making the call:

o Ease of Use - How savvy and trained are your resources? Do you have the time
and the money to put them through training?
o Cost - How much are you willing to spend on a deployment model? How much
can you pay upfront on subscription, maintenance, updates, and more?
o Scalability - What is your current activity status? Does your system run into high
demand?
o Compliance - Are there any specific laws or regulations in your country that can
impact the implementation? What are the industry standards that you must
adhere to?
o Privacy - Have you set strict privacy rules for the data you gather?
Each cloud deployment model has a unique offering and can immensely add value to
your business. For small to medium-sized businesses, a public cloud is an ideal model to
start with. And as your requirements change, you can switch over to a different
deployment model. An effective strategy can be designed depending on your needs
using the cloud mentioned above deployment models.

3 Service Models of Cloud Computing


Cloud computing makes it possible to render several services, defined according to the
roles, service providers, and user companies. Cloud computing models and services are
broadly classified as below:

IAAS: Changing Its Hardware Infrastructure on Demand

The Infrastructure as a Service (IAAS) means the hiring & utilizing of the Physical
Infrastructure of IT (network, storage, and servers) from a third-party provider. The IT
resources are hosted on external servers, and users can access them via an internet
connection.

The Benefits

o Time and cost savings: No installation and maintenance of IT hardware in-house,


o Better flexibility: On-demand hardware resources that can be tailored to your
needs,
o Remote access and resource management.

For Who?

This cloud computing service model is ideal for large accounts, enterprises, or
organizations to build and manage their own IT platforms. However, they want the
flexibility to amend their Infrastructure according to their needs.

PAAS: Providing a Flexible Environment for Your Software Applications

Platform as a Service (PAAS) allows outsourcing of hardware infrastructure and software


environment, including databases, integration layers, runtimes, and more.

The Benefits
o Focus on development: Mastering the installation and development of software
applications.
o Time saving and flexibility: no need to manage the implementation of the
platform, instant production.
o Data security: You control the distribution, protection, and backup of your
business data.

For Who?

It is ideal for companies wanting to maintain control over their business applications.
However, they wish to get rid of constraints to manage the hardware infrastructure and
software environment.

SAAS: Releasing the User Experience of Management


Constraints
Software as a Service (SaaS) is provided over the internet and requires no prior
installation. The services can be availed from any part of the world at a minimal per-
month fee.

The Benefits

o You are entirely free from the infrastructure management and aligning software
environment: no installation or software maintenance.
o You benefit from automatic updates with the guarantee that all users have the
same software version.
o It enables easy and quicker testing of new software solutions.

For Who?

SAAS model accounts for 60% of sales of cloud solutions. Hence, it is applicable and
preferred by most companies.
Chapter 3

Service Level Agreement (SLA) Management

A Service Level Agreement (SLA) is the bond for performance negotiated


between the cloud services provider and the client. Earlier, in cloud computing
all Service Level Agreements were negotiated between a client and the service
consumer. Nowadays, with the initiation of large utility-like cloud computing
providers, most Service Level Agreements are standardized until a client
becomes a large consumer of cloud services. Service level agreements are also
defined at different levels which are mentioned below:
 Customer-based SLA
 Service-based SLA
 Multilevel SLA
Few Service Level Agreements are enforceable as contracts, but mostly are
agreements or contracts which are more along the lines of an Operating Level
Agreement (OLA) and may not have the restriction of law. It is fine to have an
attorney review the documents before making a major agreement to the cloud
service provider. Service Level Agreements usually specify some
parameters which are mentioned below:
1. Availability of the Service (uptime)
2. Latency or the response time
3. Service components reliability
4. Each party accountability
5. Warranties
In any case, if a cloud service provider fails to meet the stated targets of
minimums then the provider has to pay the penalty to the cloud service
consumer as per the agreement. So, Service Level Agreements are like
insurance policies in which the corporation has to pay as per the agreements if
any casualty occurs. Microsoft publishes the Service Level Agreements linked
with the Windows Azure Platform components, which is demonstrative of
industry practice for cloud service vendors. Each individual component has its
own Service Level Agreements. Below are two major Service Level
Agreements (SLA) described:
1. Windows Azure SLA – Window Azure has different SLA’s for compute and
storage. For compute, there is a guarantee that when a client deploys two or
more role instances in separate fault and upgrade domains, client’s internet
facing roles will have external connectivity minimum 99.95% of the time.
Moreover, all of the role instances of the client are monitored and there is
guarantee of detection 99.9% of the time when a role instance’s process is
not runs and initiates properly.
2. SQL Azure SLA – SQL Azure clients will have connectivity between the
database and internet gateway of SQL Azure. SQL Azure will handle a
“Monthly Availability” of 99.9% within a month. Monthly Availability
Proportion for a particular tenant database is the ratio of the time the
database was available to customers to the total time in a month. Time is
measured in some intervals of minutes in a 30-day monthly cycle. Availability
is always remunerated for a complete month. A portion of time is marked as
unavailable if the customer’s attempts to connect to a database are denied
by the SQL Azure gateway.

Service Level Agreements are based on the usage model. Frequently, cloud
providers charge their pay-as-per-use resources at a premium and deploy
standards Service Level Agreements only for that purpose. Clients can also
subscribe at different levels that guarantees access to a particular amount of
purchased resources. The Service Level Agreements (SLAs) attached to a
subscription many times offer various terms and conditions. If client requires
access to a particular level of resources, then the client need to subscribe to a
service. A usage model may not deliver that level of access under peak load
condition.

SLA Lifecycle
Steps in SLA Lifecycle

1. Discover service provider: This step involves identifying a service provider


that can meet the needs of the organization and has the capability to provide
the required service. This can be done through research, requesting
proposals, or reaching out to vendors.
2. Define SLA: In this step, the service level requirements are defined and
agreed upon between the service provider and the organization. This
includes defining the service level objectives, metrics, and targets that will be
used to measure the performance of the service provider.
3. Establish Agreement: After the service level requirements have been
defined, an agreement is established between the organization and the
service provider outlining the terms and conditions of the service. This
agreement should include the SLA, any penalties for non-compliance, and
the process for monitoring and reporting on the service level objectives.

4. Monitor SLA violation: This step involves regularly monitoring the


service level objectives to ensure that the service provider is meeting
their commitments. If any violations are identified, they should be
reported and addressed in a timely manner.
5. Terminate SLA: If the service provider is unable to meet the service level
objectives, or if the organization is not satisfied with the service provided,
the SLA can be terminated. This can be done through mutual agreement
or through the enforcement of penalties for non-compliance.

6. Enforce penalties for SLA Violation: If the service provider is found to


be in violation of the SLA, penalties can be imposed as outlined in the
agreement. These penalties can include financial penalties, reduced
service level objectives, or termination of the agreement.

Advantages of SLA

1. Improved communication: A better framework for communication between


the service provider and the client is established through SLAs, which
explicitly outline the degree of service that a customer may anticipate. This
can make sure that everyone is talking about the same things when it comes
to service expectations.
2. Increased accountability: SLAs give customers a way to hold service
providers accountable if their services fall short of the agreed-upon standard.
They also hold service providers responsible for delivering a specific level of
service.
3. Better alignment with business goals: SLAs make sure that the service
being given is in line with the goals of the client by laying down the
performance goals and service level requirements that the service provider
must satisfy.
4.Reduced downtime: SLAs can help to limit the effects of service
disruptions by creating explicit protocols for issue management and
resolution.

5.Better cost management: By specifying the level of service that the


customer can anticipate and providing a way to track and evaluate
performance, SLAs can help to limit costs. Making sure the consumer is
getting the best value for their money can be made easier by doing this.

Disadvantages of SLA

1. Complexity: SLAs can be complex to create and maintain, and may require
significant resources to implement and enforce.
2. Rigidity: SLAs can be rigid and may not be flexible enough to accommodate
changing business needs or service requirements.
3. Limited service options: SLAs can limit the service options available to the
customer, as the service provider may only be able to offer the specific
services outlined in the agreement.
4. Misaligned incentives: SLAs may misalign incentives between the
service provider and the customer, as the provider may focus on meeting
the agreed-upon service levels rather than on providing the best service
possible.
5. Limited liability: SLAs are not legal binding contracts and often limited
the liability of the service provider in case of service failure.
Chapter 4
Virtualization Concepts

Overviews of Virtualization
Virtualization is the "creation of a virtual (rather than actual) version of something, such
as a server, a desktop, a storage device, an operating system or network resources".

In other words, Virtualization is a technique, which allows to share a single physical


instance of a resource or an application among multiple customers and organizations. It
does by assigning a logical name to a physical storage and providing a pointer to that
physical resource when demanded.

What is the concept behind the Virtualization?


Creation of a virtual machine over existing operating system and hardware is known as
Hardware Virtualization. A Virtual machine provides an environment that is logically
separated from the underlying hardware.

The machine on which the virtual machine is going to create is known as Host
Machine and that virtual machine is referred as a Guest Machine

Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.

1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the hardware system is known as hardware virtualization.

The main job of hypervisor is to control and monitoring the processor, memory and
other hardware resources.

After virtualization of hardware system we can install different operating system on it


and run different applications on those OS.
Usage:

Hardware virtualization is mainly done for the server platforms, because controlling
virtual machines is much easier than controlling a physical server.

2) Operating System Virtualization:


When the virtual machine software or virtual machine manager (VMM) is installed on the
Host operating system instead of directly on the hardware system is known as operating
system virtualization.

Usage:

Operating System Virtualization is mainly used for testing the applications on different
platforms of OS.

3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the Server system is known as server virtualization.

Usage:

Server virtualization is done because a single physical server can be divided into multiple
servers on the demand basis and for balancing the load.

4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple
network storage devices so that it looks like a single storage device.

Storage virtualization is also implemented by using software applications.

Usage:

Storage virtualization is mainly done for back-up and recovery purposes.


How does virtualization work in cloud computing?
Virtualization plays a very important role in the cloud computing technology, normally
in the cloud computing, users share the data present in the clouds like application etc,
but actually with the help of virtualization users shares the Infrastructure.

The main usage of Virtualization Technology is to provide the applications with the
standard versions to their cloud users, suppose if the next version of that application is
released, then cloud provider has to provide the latest version to their cloud users and
practically it is possible because it is more expensive.

To overcome this problem we use basically virtualization technology, By using


virtualization, all severs and the software application which are required by other cloud
providers are maintained by the third party people, and the cloud providers has to pay
the money on monthly or annual basis.

Conclusion
Mainly Virtualization means, running multiple operating systems on a single machine
but sharing all the hardware resources. And it helps us to provide the pool of IT
resources so that we can share these IT resources in order get benefits in the business.

Cloud Hypervisor
The key is to enable hypervisor virtualization. In its simplest form, a hypervisor is
specialized firmware or software, or both, installed on a single hardware that will allow
you to host multiple virtual machines. This allows physical hardware to be shared across
multiple virtual machines. The computer on which the hypervisor runs one or more
virtual machines is called the host machine.

Virtual machines are called guest machines. The hypervisor allows the physical host
machine to run various guest machines. It helps to get maximum benefit from
computing resources such as memory, network bandwidth and CPU cycles.

Advantages of Hypervisor
Although virtual machines operate on the same physical hardware, they are isolated
from each other. It also denotes that if one virtual machine undergoes a crash, error, or
malware attack, it does not affect other virtual machines.

2.5M
308
Exception Handling in Java - Javatpoint

Another advantage is that virtual machines are very mobile because they do not depend
on the underlying hardware. Since they are not connected to physical hardware,
switching between local or remote virtualized servers becomes much easier than with
traditional applications.

Types of Hypervisors in Cloud Computing


There are two main types of hypervisors in cloud computing.

Type I Hypervisor
A Type I hypervisor operates directly on the host's hardware to monitor the hardware
and guest virtual machines, and is referred to as bare metal. Typically, they do not
require the installation of software ahead of time.

Instead, you can install it directly on the hardware. This type of hypervisor is powerful
and requires a lot of expertise to function well. In addition, Type I hypervisors are more
complex and have few hardware requirements to run adequately. Because of this it is
mostly chosen by IT operations and data center computing.

Examples of Type I hypervisors include Oracle VM Server for Xen, SPARC, Oracle VM
Server for x86, Microsoft Hyper-V, and VMware's ESX/ESXi.

Type II Hypervisor
It is also called a hosted hypervisor because it is installed on an existing operating
system, and they are not more capable of running more complex virtual tasks. People
use it for basic development, testing and simulation.

If a security flaw is found inside the host OS, it can potentially compromise all running
virtual machines. This is why Type II hypervisors cannot be used for data center
computing, and they are designed for end-user systems where security is less of a
concern. For example, developers can use a Type II hypervisor to launch virtual machines
to test software products prior to their release.

Hypervisors, their use, and Importance


A hypervisor is a process or a function to help admins isolate operating systems and
applications from the underlying hardware.

Cloud computing uses it the most as it allows multiple guest operating systems (also
known as virtual machines or VMs) to run simultaneously on a single host system.
Administrators can use the resources efficiently by dividing computing resources (RAM,
CPU, etc.) between multiple VMs.

A hypervisor is a key element in virtualization, which has helped organizations achieve


higher cost savings, improve their provisioning and deployment speeds, and ensure
higher resilience with reduced downtimes.
The Evolution of Hypervisors
The use of hypervisors dates back to the 1960s, when IBM deployed them on time-
sharing systems and took advantage of them to test new operating systems and
hardware. During the 1960s, virtualization techniques were used extensively by
developers wishing to test their programs without affecting the main production system.

The mid-2000s saw another significant leap forward as Unix, Linux and others
experimented with virtualization. With advances in processing power, companies built
powerful machines capable of handling multiple workloads. In 2005, CPU vendors began
offering hardware virtualization for their x86-based products, making hypervisors
mainstream.

Why use a hypervisor?


Now that we have answered "what is a hypervisor", it will be useful to explore some of
their important applications to better understand the role of hypervisors in virtualized
environments. Hypervisors simplify server management because VMs are independent
of the host environment. In other words, the operation of one VM does not affect other
VMs or the underlying hardware.

Therefore, even when one VM crashes, others can continue to work without affecting
performance. This allows administrators to move VMs between servers, which is a useful
capability for workload balancing. Teams seamlessly migrate VMs from one machine to
another, and they can use this feature for fail-overs. In addition, a hypervisor is useful for
running and testing programs in different operating systems.

However, the most important use of hypervisors is consolidating servers on the cloud,
and data centers require server consolidation to reduce server sprawl. Virtualization
practices and hypervisors have become popular because they are highly effective in
solving the problem of underutilized servers.

Virtualization enables administrators to easily take advantage of untapped hardware


capacity to run multiple workloads at once, rather than running separate workloads on
separate physical servers. They can match their workload with appropriate material
resources, meeting their time, cost and service level requirements.

What are the different Types of Hypervisors?


Type 1 Hypervisors (Bare Metal or Native Hypervisors): Type 1 hypervisors are
deployed directly over the host hardware. Direct access to the hardware without any
underlying OS or device drivers makes such hypervisors highly efficient for enterprise
computing. The implementation is also inherently secure against OS-level vulnerabilities.
VMware ESXi, Microsoft Hyper-V, Oracle VM, and Xen are examples of type 1
hypervisors.

Type 2 Hypervisors (Hosted Hypervisor): Type 2 hypervisors run as an application


over a traditional OS. Developers, security professionals, or users who need to access
applications only available on select OS versions often rely on type 2 hypervisors for
their operations. KVM, VMware Server and Workstation, Microsoft Virtual PC, Oracle VM
VirtualBox, and QEMU are popular type 2 hypervisors.

Need of a Virtualization Management Tool


Today, most enterprises use hypervisors to simplify server management, and it is the
backbone of all cloud services. While virtualization has its advantages, IT teams are often
less equipped to manage a complex ecosystem of hypervisors from multiple vendors. It
is not always easy to keep track of different types of hypervisors and to accurately
monitor the performance of VMs. In addition, the ease of provisioning increases the
number of applications and operating systems, increasing the routine maintenance,
security and compliance burden.

In addition, VMs may still require IT support related to provisioning, de-provisioning and
auditing as per individual security and compliance mandates. Troubleshooting often
involves skimming through multiple product support pages. As organizations grow, the
lack of access to proper documentation and technical support can make the
implementation and management of hypervisors difficult. Eventually, controlling virtual
machine spread becomes a significant challenge.

Different groups within an organization often deploy the same workload to different
clouds, increasing inefficiency and complicating data management. IT administrators
must employ virtualization management tools to address the above challenges and
manage their resources efficiently.

Virtualization management tools provide a holistic view of the availability of all VMs,
their states (running, stopped, etc.), and host servers. These tools also help in
performing basic maintenance, provisioning, de-provisioning and migration of VMs.

Key Players in Virtualization Management


There are three broad categories of virtualization management tools available in the
market:
o Proprietary tools (with varying degrees of cross-platform support): VMware
venter, Microsoft SCVMM
o Open-source tools: Citrix XenCenter
o Third-party commercial tools: Dell Foglight, Solar Winds Virtualization Manager,
Splunk Virtualization Monitoring System.

Cloud Computing Examples


o Cloud computing is an infrastructure and software model that enables ubiquitous
access to shared storage pools, networks, servers and applications.
o It allows data processing on a privately owned cloud or on a third-party server.
This creates maximum speed and reliability. But the biggest advantages are its
ease of installation, low maintenance and scalability. In this way, it grows with
your needs.
o IaaS and SaaS cloud computing has been skyrocketing since 2009, and it's all
around us now. You're probably reading this on the cloud right now.
o 1.9M
o 169
o Java Try Catch
o Next
Stay
o For some perspective on how important cloud storage and computing are to our
daily lives, here are 8 real-world examples of cloud computing:
Examples of Cloud Storage
o Ex: Dropbox, Gmail, Facebook
o The number of online cloud storage providers is increasing every day, and each is
competing on the amount of storage that can be provided to the customer.
o Right now, Dropbox is the clear leader in streamlined cloud storage, allowing
users to access files through their application or website on any device with up to
1 terabyte of free storage.
o Gmail, Google's email service provider, on the other hand, offers unlimited
storage on the cloud. Gmail has revolutionized the way we send email and is
largely responsible for the increasing use of email across the world.
o Facebook is a mixture of both in that it can store an infinite amount of
information, pictures and videos on your profile. Then they can be easily accessed
on multiple devices. Facebook goes a step further with its Messenger app, which
allows profiles to exchange data.
Examples of Marketing Cloud Platforms
o Ex: Maropost for Marketing, Hubspot, Adobe Marketing Cloud
o Marketing Cloud is an end-to-end digital marketing platform for customers to
manage contacts and target leads. Maropost Marketing Cloud combines easy-to-
use marketing automation and hyper-targeting of leads. Plus, making sure email
arrives in the inbox, thanks to its advanced email delivery capabilities.
o In general, marketing clouds fill the need for personalization, and this is
important in a market that demands messaging to be "more human". So
communicating that your brand is here to help will make all the difference in
closing.
Examples of Cloud Computing in Education
o Ex: SlideRocket, Ratatype, Amazon Web Services
o Education is rapidly adopting advanced technology as students already are.
Therefore, to modernize classrooms, teachers have introduced e-learning
software like SlideRocket.
o SlideRocket is a platform that students can use to create and submit
presentations, and students can also present them over the cloud via web
conferencing. Another tool teachers use is RataType, which helps students learn
to type faster and offers online typing tests to track their progress.
o Amazon's AWS Cloud for K12 and Primary Education is a virtual desktop
infrastructure (VDI) solution for school administration. The cloud allows
instructors and students to access teaching and learning software on multiple
devices.
Examples of Cloud Computing in Healthcare
o Ex: ClearDATA, Dell's Secure Healthcare Cloud, IBM Cloud
o Cloud computing allows nurses, physicians and administrators to quickly share
information from anywhere. It also saves on costs by allowing large data files to
be shared quickly for maximum convenience. This is a huge boost to efficiency.
o Ultimately, cloud technology ensures that patients receive the best possible care
without unnecessary delay. The patient's status can also be updated in seconds
through remote conferencing.
o However, many modern hospitals have not yet implemented cloud computing,
but are expected to do so soon.
Examples of Cloud Computing for Government
o Uses: IT consolidation, shared services, citizen services
o The US government and military were early adopters of cloud computing. Under
the Obama administration to accelerate cloud adoption across departments, the
U.S. The federal cloud computing strategy was introduced.
o According to the strategy: "The focus will shift from the technology itself to the
core competencies and mission of the agency."
o US Government's cloud includes social, mobile and analytics technologies.
However, they must adhere to strict compliance and security measures (FIPS,
FISMA, and FedRAMP). This is to protect against cyber threats both domestically
and abroad.
o Cloud computing is the answer for any business struggling to stay organized,
increase ROI, or grow their email lists. Maropost has the digital marketing
solutions you need to transform your business.
Chapter 5

Cloud Security
Security In Cloud Computing : Cloud computing which is one of the most
demanding technology of the current time, starting from small to large
organizations have started using cloud computing services. Where there are
different types of cloud deployment models are available and cloud services are
provided as per requirement like that internally and externally security is
maintained to keep the cloud system safe. Cloud computing security or cloud
security is an important concern which refers to the act of protecting cloud
environments, data, information and applications against unauthorized access,
DDOS attacks, malwares, hackers and other similar attacks. Community Cloud
: These allow to a limited set of organizations or employees to access a shared
cloud computing service environment.
Planning of security in Cloud Computing :
As security is a major concern in cloud implementation, so an organization have
to plan for security based on some factors like below represents the three main
factors
on which planning of cloud security depends.
 Resources that can be moved to the cloud and test its sensitivity risk are
picked.
 The type of cloud is to be considered.
 The risk in the deployment of the cloud depends on the types of cloud and
service models.
Types of Cloud Computing Security Controls :
There are 4 types of cloud computing security controls i.e.
1. Deterrent Controls : Deterrent controls are designed to block nefarious
attacks on a cloud system. These come in handy when there are insider
attackers.
2. Preventive Controls : Preventive controls make the system resilient to
attacks by eliminating vulnerabilities in it.
3. Detective Controls : It identifies and reacts to security threats and control.
Some examples of detective control software are Intrusion detection
software and network security monitoring tools.

4. Corrective Controls : In the event of a security attack these controls are


activated. They limit the damage caused by the attack.
Importance of cloud security :
For the organizations making their transition to cloud, cloud security is an
essential factor while choosing a cloud provider. The attacks are getting
stronger day by day and so the security needs to keep up with it. For this
purpose it is essential to pick a cloud provider who offers the best security and
is customized with the organization’s infrastructure. Cloud security has a lot of
benefits –
 Centralized security : Centralized security results in centralizing protection.
As managing all the devices and endpoints is not an easy task cloud security
helps in doing so. This results in enhancing traffic analysis and web filtering
which means less policy and software updates.
 Reduced costs : Investing in cloud computing and cloud security results in
less expenditure in hardware and also less manpower in administration
 Reduced Administration : It makes it easier to administer the organization
and does not have manual security configuration and constant security
updates.
 Reliability : These are very reliable and the cloud can be accessed from
anywhere with any device with proper authorization.
 When we are thinking about cloud security it includes various types of
security like access control for authorized access, network segmentation
for maintaining isolated data, encryption for encoded data transfer,
vulnerability check for patching vulnerable areas, security monitoring for
keeping eye on various security attacks and disaster recovery for backup
and recovery during data loss.
 There are different types of security techniques which are implemented to
make the cloud computing system more secure such as SSL (Secure
Socket Layer) Encryption, Multi Tenancy based Access Control, Intrusion
Detection System, firewalls, penetration testing, tokenization, VPN
(Virtual Private Networks), and avoiding public internet connections and
many more techniques.
 But the thing is not so simple how we think, even implementation of
number of security techniques there is always security issues are
involved for the cloud system. As cloud system is managed and accessed
over internet so a lot of challenges arises during maintaining a secure
cloud. Some cloud security challenges are
 Control over cloud data
 Misconfiguration
 Ever changing workload
 Access Management
 Disaster recovery
Security Issues in Cloud Computing :
There is no doubt that Cloud Computing provides various Advantages but there
are also some security issues in cloud computing. Below are some following
Security Issues in Cloud Computing as follows.
1. Data Loss –
Data Loss is one of the issues faced in Cloud Computing. This is also known
as Data Leakage. As we know that our sensitive data is in the hands of
Somebody else, and we don’t have full control over our database. So, if the
security of cloud service is to break by hackers then it may be possible that
hackers will get access to our sensitive data or personal files.

2. Interference of Hackers and Insecure API’s –


As we know, if we are talking about the cloud and its services it means we
are talking about the Internet. Also, we know that the easiest way to
communicate with Cloud is using API. So it is important to protect the
Interface’s and API’s which are used by an external user. But also in cloud
computing, few services are available in the public domain which are the
vulnerable part of Cloud Computing because it may be possible that these
services are accessed by some third parties. So, it may be possible that with
the help of these services hackers can easily hack or harm our data.
3. User Account Hijacking –
Account Hijacking is the most serious security issue in Cloud Computing.
If somehow the Account of User or an Organization is hijacked by a
hacker then the hacker has full authority to perform Unauthorized
Activities.

4. Changing Service Provider –


Vendor lock-In is also an important Security issue in Cloud Computing.
Many organizations will face different problems while shifting from one
vendor to another. For example, An Organization wants to shift from AWS
Cloud to Google Cloud Services then they face various problems like
shifting of all data, also both cloud services have different techniques and
functions, so they also face problems regarding that. Also, it may be
possible that the charges of AWS are different from Google Cloud, etc.
5. Lack of Skill –
While working, shifting to another service provider, need an extra feature,
how to use a feature, etc. are the main problems caused in IT Company
who doesn’t have skilled Employees. So it requires a skilled person to
work with Cloud Computing.

6. Denial of Service (DoS) attack –


This type of attack occurs when the system receives too much traffic.
Mostly DoS attacks occur in large organizations such as the banking
sector, government sector, etc. When a DoS attack occurs, data is
lost. So, in order to recover data, it requires a great amount of money as
well as time to handle it.
7. Privacy Challenges in Cloud
Computing

Cloud computing is a widely well-discussed topic today with interest from all
fields, be it research, academia, or the IT industry. It has seen suddenly
started to be a hot topic in international conferences and other opportunities
throughout the whole world. The spike in job opportunities is attributed to
huge amounts of data being processed and stored on the servers. The cloud
paradigm revolves around convenience and easy the provision of a huge
pool of shared computing resources.

The rapid development of the cloud has led to more flexibility, cost-
cutting, and scalability of products but also faces an enormous amount of
privacy and security challenges. Since it is a relatively new concept and is
evolving day by day, there are undiscovered security issues that creep up
and need to be taken care of as soon as discovered. Here we discuss the
top 7 privacy challenges encountered in cloud computing:
1.Data Confidentiality Issues

Confidentiality of the user’s data is an important issue to be considered when


externalizing and outsourcing extremely delicate and sensitive data to the cloud
service provider. Personal data should be made unreachable to users who do
not have proper authorization to access it and one way of making sure that
confidentiality is by the usage of severe access control policies and regulations.
The lack of trust between the users and cloud service providers or the cloud
database service provider regarding the data is a major security concern and
holds back a lot of people from using cloud services.

2.Data Loss Issues

Data loss or data theft is one of the major security challenges that the cloud
providers face. If a cloud vendor has reported data loss or data theft of critical
or sensitive material data in the past, more than sixty percent of the users would
decline to use the cloud services provided by the vendor. Outages of the cloud
services are very frequently visible even from firms such as Dropbox, Microsoft,
Amazon, etc., which in turn results in an absence of trust in these services
during a critical time. Also, it is quite easy for an attacker to gain access to
multiple storage units even if a single one is compromised.

3. Geographical Data Storage Issues

Since the cloud infrastructure is distributed across different geographical


locations spread throughout the world, it is often possible that the user’s data is
stored in a location that is out of the legal jurisdiction which leads to the user’s
concerns about the legal accessibility of local law enforcement and regulations
on data that is stored out of their region. Moreover, the user fears that local
laws can be violated due to the dynamic nature of the cloud makes it very
difficult to delegate a specific server that is to be used for trans-border data
transmission.

4. Multi-Tenancy Security Issues

Multi-tenancy is a paradigm that follows the concept of sharing computational


resources, data storage, applications, and services among different tenants.
This is then hosted by the same logical or physical platform at the cloud service
provider’s premises. While following this approach, the provider can maximize
profits but puts the customer at a risk. Attackers can take undue advantage of
the multi-residence opportunities and can launch various attacks against their
co-tenants which can result in several privacy challenges.

5. Transparency Issues

In cloud computing security, transparency means the willingness of a cloud


service provider to reveal different details and characteristics on its security
preparedness. Some of these details compromise policies and regulations on
security, privacy, and service level. In addition to the willingness and
disposition, when calculating transparency, it is important to notice how
reachable the security readiness data and information actually are. It will not
matter the extent to which the security facts about an organization are at hand if
they are not presented in an organized and easily understandable way for cloud
service users and auditors, the transparency of the organization can then also
be rated relatively small.

6. Hypervisor Related Issues

Virtualization means the logical abstraction of computing resources from


physical restrictions and constraints. But this poses new challenges for factors
like user authentication, accounting, and authorization. The hypervisor
manages multiple Virtual Machines and therefore becomes the target of
adversaries. Different from the physical devices that are independent of one
another, Virtual Machines in the cloud usually reside in a single physical device
that is managed by the same
hypervisor. The compromise of the hypervisor will hence put various virtual
machines at risk. Moreover, the newness of the hypervisor technology, which
includes isolation, security hardening, access control, etc. provides adversaries
with new ways to exploit the system.

7. Managerial Issues

There are not only technical aspects of cloud privacy challenges but also non-
technical and managerial ones. Even on implementing a technical solution to a
problem or a product and not managing it properly is eventually bound to
introduce
vulnerabilities. Some examples are lack of control, security and privacy
management for virtualization, developing comprehensive service level
agreements, going through cloud service vendors and user negotiations, etc.
Chapter 6
Cloud Storage

What is Cloud Storage?


Cloud Storage is a mode of computer data storage in which digital data is stored on
servers in off-site locations. The servers are maintained by a third-party provider who
is responsible for hosting, managing, and securing data stored on its infrastructure.
The provider ensures that data on its servers is always accessible via public or private
internet connections.

Cloud Storage enables organizations to store, access, and maintain data so that they do
not need to own and operate their own data centers, moving expenses from a capital
expenditure model to operational. Cloud Storage is scalable, allowing organizations to
expand or reduce their data footprint depending on need.

Google Cloud provides a variety of scalable options for organizations to store their
data in the cloud.
How does Cloud Storage work?
Cloud Storage uses remote servers to save data, such as files, business data, videos, or
images. Users upload data to servers via an internet connection, where it is saved on a
virtual machine on a physical server. To maintain availability and provide
redundancy, cloud providers will often spread data to multiple virtual machines in
data centers located across the world. If storage needs increase, the cloud provider
will spin up more virtual machines to handle the load. Users can access data in Cloud
Storage through an internet connection and software such as web portal, browser, or
mobile app via an application programming interface (API).

Cloud Storage is available in four different models:

Public
Public Cloud Storage is a model where an organization stores data in a service
provider’s data centers that are also utilized by other companies. Data in public Cloud
Storage is spread across multiple regions and is often offered on a subscription or pay-
as-you-go basis. Public Cloud Storage is considered to be “elastic” which means that
the data stored can be scaled up or down depending on the needs of the organization.
Public cloud providers typically make data available from any device such as a
smartphone or web portal.

Private

Private Cloud Storage is a model where an organization utilizes its own servers and
data centers to store data within their own network. Alternatively, organizations can
deal with cloud service providers to provide dedicated servers and private connections
that are not shared by any other organization. Private clouds are typically utilized by
organizations that require more control over their data and have stringent compliance
and security requirements.

Hybrid

A hybrid cloud model is a mix of private and public cloud storage models. A hybrid
cloud storage model allows organizations to decide which data it wants to store in
which cloud. Sensitive data and data that must meet strict compliance requirements
may be stored in a private cloud while less sensitive data is stored in the public cloud.
A hybrid cloud storage model typically has a layer of orchestration to integrate
between the two clouds. A hybrid cloud offers flexibility and allows organizations to
still scale up with the public cloud if need arises.

Multicloud

A multicloud storage model is when an organization sets up more than one cloud
model from more than one cloud service provider (public or private). Organizations
might choose a multicloud model if one cloud vendor offers certain proprietary apps,
an organization requires data to be stored in a specific country, various teams are
trained on different clouds, or the organization needs to serve different requirements
that are not stated in the servicers’ Service Level Agreements. A multicloud model
offers organizations flexibility and redundancy.

Advantages of Cloud Storage


Total cost of ownership

Cloud Storage enables organizations to move from a capital expenditure to an


operational expenditure model, allowing them to adjust budgets and resources
quickly.

Elasticity

Cloud Storage is elastic and scalable, meaning that it can be scaled up (more storage
added) or down (less storage needed) depending on the organization’s needs.

Flexibility

Cloud Storage offers organizations flexibility on how to store and access data, deploy
and budget resources, and architect their IT infrastructure.

Security

Most cloud providers offer robust security, including physical security at data centers
and cutting edge security at the software and application levels. The best cloud
providers offer zero trust architecture, identity and access management,
and encryption.

Sustainability
One of the greatest costs when operating on-premises data centers is the overhead of
energy consumption. The best cloud providers operate on sustainable energy through
renewable resources.

Redundancy

Redundancy (replicating data on multiple servers in different locations) is an inherent


trait in public clouds, allowing organizations to recover from disasters while
maintaining business continuity.
Disadvantages of Cloud Storage
Compliance

Certain industries such as finance and healthcare have stringent requirements about
how data is stored and accessed. Some public cloud providers offer tools to maintain
compliance with applicable rules and regulations.

Latency

Traffic to and from the cloud can be delayed because of network traffic congestion or
slow internet connections.

Control

Storing data in public clouds relinquishes some control over access and management
of that data, entrusting that the cloud service provider will always be able to make that
data available and maintain its systems and security.

Outages

While public cloud providers aim to ensure continuous availability, outages


sometimes do occur, making stored data unavailable.
How to use Cloud Storage
Cloud Storage provides several use cases that can benefit individuals and organizations.
Whether a person is storing their family budget on a spreadsheet, or a massive organization is
saving years of financial data in a highly secure database, Cloud Storage can be used for saving
digital data of all kinds for as long as needed.
Backup
Data backup is one of the simplest and most prominent uses of Cloud Storage. Production data
can be separated from backup data, creating a gap between the two that protects organizations
in the case of a cyber threat such as ransomware. Data backup through Cloud Storage can be as
simple as saving files to a digital folder such as Google Drive or using block storage to
maintain gigabytes or more of important business data.
Archiving
The ability to archive old data has become an important aspect of Cloud Storage, as
organizations move to digitize decades of old records, as well as hold on to records for
governance and compliance purposes. Google Cloud offers several tiers of storage for
archiving data, including coldline storage and archival storage, that can be accessed whenever
an organization needs them.
Disaster recovery
A disaster—natural or otherwise— that wipes out a data center or old physical records needs
not be the business-crippling event that it was in the past. Cloud Storage allows for disaster
recovery so that organizations can continue with their business, even when times are tough.

SAN
SAN is an abbreviation of the Storage Area Network. Storage Area Network is a
dedicated, specialized, and high-speed network which provides block-level data storage.
It delivers the shared pool of storage devices to more than one server.

The main aim of SAN is to transfer the data between the server and storage device. It
also allows for transferring the data between the storage systems.

Storage Area networks are mainly used for accessing storage devices such as tape
libraries and disk-based devices from the servers.
It is a dedicated network which is not accessible through the LAN. It consists of hosts,
switches, and storage devices which are interconnected using the topologies, protocols,
and technologies.

Protocols of SAN
Following are the most common protocols of SAN (Storage Area Network):

o FCP (Fibre Channel Protocol)


o iSCSI
o FCoE
o NVMe

FCP (Fibre Channel Protocol)


It is the most commonly used protocol of the Storage Area Network. It is a mapping of
SCSI command over the Fibre Channel (FC) network.

ISCSI
It stands for Internet SCSI or Internet Small Computer System Interface. It is the second-
largest block or SAN protocol. It puts the SCSI commands inside an ethernet frame and
then transports them over an Internet protocol (IP) ethernet.

FCoE
FCoE stands for "Fibre Channel Over Internet". It is a protocol which is similar to the
iSCSI. It puts the Fibre channel inside the ethernet datagram and then transports over an
IP Ethernet network.

NVMe
NVMe stands for Non-Volatile Memory Express. It is also a protocol of SAN, which
access the flash storage by the PCI Express bus.

How SAN is different from NAS


The following table describes the difference between Storage Area Network
and Network Attached Storage:
SAN NAS

1. SAN stands for Storage Area Network. 1. NAS is an abbreviation of Network Attached Storage.

2. It uses the fibre channel for connecting the 2. It is a hardware device which attaches to LAN through an
several data storage devices. ethernet connection.

3. It is used in enterprise and professional 3. It is typically used in homes.


environments.

4. It needs more administration for managing. 4. It is managed easily.

5. In this, data is identified by the disk block. 5. In NAS (Network Attached Storage), both file name and
byte offset are used for identifying the data.

6. Storage Area Network is more complex than 6. Network Attached Storage is less complex than the
the Network Attached Storage. Storage Area Network.

7. It is more costly than the Network Attached 7. Its cost is less than the SAN.
Storage.

8. It depends on the Local Area Network and 8. It does not depend on the Local Area Network but uses
requires the TCP/IP network. the high-speed fibre channel network.

9. ISCSI, FCoE, FCP, and Fc-NVMe are the 9. AFP, NFS, and SMB are the protocols used in NAS.
protocols used in SAN.

10. In SAN, block by block technique is used for 10. Files in NAS are used for backup and recovery.
backup and recovery.

11. It works easily with the virtualization 11. NAS is a file storage device that does not work with the
technique. virtualization technique.
12. The file system is managed and controlled 12. The file system is managed by the head unit in NAS.
by the servers in SAN.

Difference Between SAN and DAS


The following table describes the differences between the Direct Attached Storage
(DAS) and Storage Area Network (SAN):

SAN DAS

1. SAN is a short form of Storage Area 1. DAS is a short form of Direct Attached
Network. Storage.

2. It uses block by block copying 2. It uses sectors for backup and recovery.
technique for backup and recovery.

3. This storage Device is complex than 3. This storage device is simple, not
the DAS device. complex.

4. Storage Area Network is slightly 4. Direct attached Storage is easy to set up


difficult to install and set up. and install.

5. The cost of this storage device is 5. Its cost is low as compared to SAN.
higher than the DAS device.

6. The capacity of SAN is more than the 7. The capacity of DAS is only 109 bytes.
1012 bytes.

7. This storage device allows users to 7. This storage device does not allow users
share the files on different OS. to share the files on different OS.

8. It uses Internet Protocol and Fibre 8. It uses IDE/SCSI for the transmission of
Channel for transmission of data. data.
Advantages of SAN
Following are the advantages or benefits of a Storage Area Network (SAN):

o It is more scalable.
o Security is also a main advantage of SAN. If users want to secure their data, then SAN is a
good option to use. Users can easily implement various security measures on SAN.
o Storage devices can be easily added or removed from the network. If users need more
storage, then they simply add the devices.
o The cost of this storage network is low as compared to others.
o Another big advantage of using the SAN (Storage Area Network) is better disk utilization.
Ch7 Scheduling in Cloud Computing
Tasks scheduling algorithms are defined as the mechanism used to select the resources
to execute tasks to get less waiting and execution time.

2.1 Scheduling levels

In the cloud computing environment there are two levels of scheduling algorithms:

 First level: in host level where a set of policies to distribute VMs in host.
 Second level: in VM level where a set of policies to distribute tasks to VM.

In this research we focus on VM level to scheduling tasks, we selected task


scheduling algorithms as a research field because it is the biggest challenge in cloud
computing and the main factor that controls the performance criteria such as
(execution time, response time, waiting time, network, bandwidth, services cost) for
all tasks and controlling other factors that can affect performance such as power
consumption, availability, scalability, storage capacity, buffer capacity, disk capacity,
and number of users.

2.2 Tasks scheduling algorithms definition and advantages

Tasks scheduling algorithms are defined as a set of rules and policies used to assign
tasks to the suitable resources (CPU, memory, and bandwidth) to get the highest level
possible of performance and resources utilization.

2.2.1 Task scheduling algorithms advantages

 Manage cloud computing performance and QoS.


 Manage the memory and CPU.
 The good scheduling algorithms maximizing resources utilization while
minimizing the total task execution time.
 Improving fairness for all tasks.
 Increasing the number of successfully completed tasks.
 Scheduling tasks on a real-time system.
 Achieving a high system throughput.
 Improving load balance.

2.3 Tasks scheduling algorithms classifications


Tasks scheduling algorithms classified as in Figure 1.

Tasks scheduling algorithms can be classified as follows

 Immediate scheduling: when new tasks arrive, they are scheduled to VMs
directly.
 Batch scheduling: tasks are grouped into a batch before being sent; this type is
also called mapping events.
 Static scheduling: is considered very simple compared to dynamic scheduling;
it is based on prior information of the global state of the system. It does not
take into account the current state of VMs and then divides all traffic
equivalently among all VMs in a similar manner such as round robin (RR) and
random scheduling algorithms.
 Dynamic scheduling: takes into account the current state of VMs and does not
require prior information of the global state of the system and distribute the
tasks according to the capacity of all available VMs [4, 5, 6].
 Preemptive scheduling: each task is interrupted during execution and can be
moved to another resource to complete execution [6].

 Non-preemptive scheduling: VMs are not re-allocated to new tasks until


finishing execution of the scheduled task [6].

In this research, we focus on the static scheduling algorithms. Static scheduling


algorithm such as first come first service (FCFS), shortest job first (SJF), and MAX-
MAX scheduling algorithms in complexity and cost within a small or medium scale.

2.4 Task scheduling system in cloud computing

The task scheduling system in cloud computing passes through three levels [7].

 The first task level: is a set of tasks (Cloudlets) that is sent by cloud users,
which are required for execution.
 The second scheduling level: is responsible for mapping tasks to suitable
resources to get highest resource utilization with minimum makespan. The
makespan is the overall completion time for all tasks from the beginning to the
end [7].
 The third VMs level: is a set of (VMs) which are used to execute the tasks as
in Figure 2.

This level passes through two steps

 The first step is discovering and filtering all the VMs that are presented in the
system and collecting status information related to them by using a datacenter
broker [8].
 In the second step a suitable VM is selected based on task properties [8].

Static tasks scheduling algorithms in cloud computing environment

3.1 FCFS

FCFS: the order of tasks in task list is based on their arriving time then assigned to
VMs [3].

3.1.1 Advantages

 Most popular and simplest scheduling algorithm.


 Fairer than other simple scheduling algorithms.
 Depend on FIFO rule in scheduling task.

 Less complexity than other scheduling algorithms.


3.1.2 Disadvantages

 Tasks have high waiting time.


 Not give any priority to tasks. That means when we have large tasks in the
begin tasks list, all tasks must wait a long time until the large tasks to finish.

 Resources are not consumed in an optimal manner.


 In order to measure the performance achieved by this method, we will be
testing them and then measuring its impact on (fairness, ET, TWT, and TFT).

3.1.3 Assumptions

Some of the assumptions must be taken into account when scheduling tasks to VMs in
the cloud computing environment.

 Number of tasks should be more than the number of VMs, which means that
each VM must execute more than one task.
 Each task is assigned to only one VM resource.
 Lengths of tasks varying from small, medium, and large.
 Tasks are not interrupted once their executions start.
 VMs are independent in terms of resources and control.
 The available VMs are of exclusive usage and cannot be shared among
different tasks. It means that the VMs cannot consider other tasks until the
completion of the current tasks is in progress [3].

You might also like