0% found this document useful (0 votes)
20 views19 pages

Cloud Computing Overview and Benefits

The document provides an overview of cloud computing, detailing its definition, types, services, benefits, and challenges. It explains various deployment models such as public, private, hybrid, and community clouds, as well as service models including SaaS, PaaS, IaaS, and XaaS. Additionally, it discusses the evolution of cloud computing from the 1950s to present, highlighting key technologies that have shaped its development.

Uploaded by

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

Cloud Computing Overview and Benefits

The document provides an overview of cloud computing, detailing its definition, types, services, benefits, and challenges. It explains various deployment models such as public, private, hybrid, and community clouds, as well as service models including SaaS, PaaS, IaaS, and XaaS. Additionally, it discusses the evolution of cloud computing from the 1950s to present, highlighting key technologies that have shaped its development.

Uploaded by

vasha199221
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

MODULE: 1

CLOUD COMPUTING BASICS

Cloud computing Definition, Types of cloud, Cloud services: Benefits and challenges of cloud
computing, Evolution of Cloud Computing, Applications cloud computing, Business models
around Cloud, Major Players in Cloud Computing, Issues in Cloud - Eucalyptus - Nimbus - Open
Nebula, CloudSim.

Cloud Computing provides us means by which we can access the applications as utilities over
the internet. It allows us to create, configure, and customize the business applications online.

What is Cloud Computing

The term cloud refers to a network or the internet. It is a technology that uses remote servers
on the internet to store, manage, and access data online rather than local drives. The data can
be anything such as files, images, documents, audio, video, and more.

There are the following operations that we can do using cloud computing:

o Developing new applications and services


o Storage, back up, and recovery of data
o Hosting blogs and websites
o Delivery of software on demand
o Analysis of data
o Streaming videos and audios
Why Cloud Computing?

Small as well as large IT companies, follow the traditional methods to provide the IT
infrastructure. That means for any IT company, we need a Server Room that is the basic
need of IT companies.

In that server room, there should be a database server, mail server, networking, firewalls,
routers, modem, switches, QPS (Query Per Second means how much queries or load will be
handled by the server), configurable system, high net speed, and the maintenance engineers.

To establish such IT infrastructure, we need to spend lots of money. To overcome all these
problems and to reduce the IT infrastructure cost, Cloud Computing comes into existence.

There are certain services and models working behind the scene making the cloud
computing feasible and accessible to end users. Following are the working models for cloud
computing:

 Deployment Models
 Service Models
Deployment Models
Deployment models define the type of access to the cloud, i.e., how the cloud is located?
Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.

Public Cloud
It allows systems and services to be easily accessible to the general public. Public cloud may
be less secure because of its openness. are managed by third parties which provide cloud
services over the internet to public, these services are available as pay-as-you-go billing
mode. They offer solutions for minimizing IT infrastructure costs and act as a good option
for handling peak loads on the local infrastructure. A fundamental characteristic of public
clouds is multitenancy. A public cloud is meant to serve multiple users, not a single
customer. A user requires a virtual computing environment that is separated, and most likely
isolated, from other users.

Private Cloud
It allows systems and services to be accessible within an organization. It is more secured
because of its private nature. It is a distributed systems that work on a private infrastructure
and providing the users with dynamic provisioning of computing resources. Instead of a
pay-as-you-go model as in public clouds, there could be other schemes in that take into
account the usage of the cloud and proportionally billing the different departments or
sections of an enterprise.

 Dedicated Private Cloud (DPC): It is defined as physically isolated, single-tenant


collection of compute, network and sometimes storage resources exclusively
provisioned to just one organization or application. DPCs are scalable, isolated
computing environments that are tailored to fit unique requirements and rightsized for
any of workload or application. DPCs are ideal for mission-critical or legacy
applications. When applications can’t be easily refactored for the cloud, a DPC can be
a viable solution. DPC is also ideal for organizations seeking to reduce time spent
maintaining infrastructure. You do not need to sacrifice control, compliance or
performance with a DPC.
 Dynamic Private Cloud: “It is the ability for software and services to grow with your
business. Sometimes that means automatically adjusting itself to adjust to changes in
demand or workloads.” It business to be more agile in how it responds to changes in
the market. It allows a business to quickly develop through composing new
applications using prebuilt components. Dynamic cloud gives companies what they
need, where they need it and how and when they want it. Dynamic cloud is the
foundation of the composable business; it allows relentless innovation at the speed of
business.

Community Cloud
The community cloud allows systems and services to be accessible by a group of
organizations.

Hybrid Cloud
The hybrid cloud is a mixture of public and private cloud, in which the critical activities are
performed using private cloud while the non-critical activities are performed using public
cloud. It is a heterogeneous distributed system resulted by combining facilities of public
cloud and private cloud. For this reason, it is also known as heterogeneous clouds. A major
drawback of private deployments is the inability to scale on demand and to efficiently
address peak loads. Here public clouds are needed. Hence, a hybrid cloud takes advantages
of both public and private cloud.

Characteristics of Cloud Computing

The characteristics of cloud computing are given below:

1) Agility
The cloud works in a distributed computing environment. It shares resources among users
and works very fast.

2) High availability and reliability

The availability of servers is high and more reliable because the chances of infrastructure
failure are minimum.

3) High Scalability

Cloud offers "on-demand" provisioning of resources on a large scale, without having


engineers for peak loads.

4) Multi-Sharing

With the help of cloud computing, multiple users and applications can work more
efficiently with cost reductions by sharing common infrastructure.

5) Device and Location Independence

Cloud computing enables the users to access systems using a web browser regardless of their
location or what device they use e.g. PC, mobile phone, etc. As infrastructure is off-
site (typically provided by a third-party) and accessed via the Internet, users can connect
from anywhere.

6) Maintenance

Maintenance of cloud computing applications is easier, since they do not need to be


installed on each user's computer and can be accessed from different places. So, it
reduces the cost also.

7) Low Cost

By using cloud computing, the cost will be reduced because to take the services of cloud
computing, IT company need not to set its own infrastructure and pay-as-per usage of
resources.

8) Services in the pay-per-use mode

Application Programming Interfaces (APIs) are provided to the users so that they can
access services on the cloud by using these APIs and pay the charges as per the usage of
services.

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.
TYPES OF CLOUD SERVICES
Most cloud computing services fall into three broad categories:
1. Software as a service (Saas)
2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
4. Anything as a service (XaaS)
These are sometimes called the cloud computing stack, because they are build on top of
one another. Knowing what they are and how they are different, makes it easier to
accomplish your goals.

1. SOFTWARE AS A SERVICE
Software-as-a-Service (SaaS) is a way of delivering services and applications over the
Internet. Instead of installing and maintaining software, we simply access it via the Internet,
freeing ourselves from the complex software and hardware [Link] removes the
need to install and run applications on our own computers or in the data centers eliminating
the expenses of hardware as well as software maintenance.
SaaS provides a complete software solution which you purchase on a pay-as-you-go basis
from a cloud service [Link] SaaS applications can be run directly from a web
browser without any downloads or installations [Link] SaaS applications are
sometimes called Web-based software, on-demand software, or hosted software.

Advantages of SaaS :
1. Cost Effective : Pay only for what you use
2. Reduced time : Users can run most SaaS apps directly from their web browser without
needing to download and install any [Link] reduces the time spent in installation and
configuration, and can reduce the issues that can get in the way of the software deployment.
3. Accessibility : We can Access app data from anywhere.
4. Automatic updates : Rather than purchasing new software, customers rely on a SaaS
provider to automatically perform the updates.
5. Scalability : It allows the users to access the services and features on demand.
The various companies providing software as a service are Cloud9 Analytics,
[Link], Cloud Switch, Microsoft Office 365, Eloqua, dropBox and Cloud Tran .
2. PLATFORM AS A SERVICE
PaaS is a category of cloud computing that provides a platform and environment to allow
developers to build applications and services over the internet. PaaS services are hosted in
the cloud and accessed by users simply via their web browser.
A PaaS provider hosts the hardware and software on its own infrastructure. As a result,
PaaS frees users from having to install in-house hardware and software to develop or run a
new [Link], the development and deployment of the application takes
place independent of the hardware.
The consumer does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, or storage, but has control over the deployed
applications and possibly configuration settings for the application-hosting environment.

Advantages of PaaS :
1. Simple and convenient for users : It provides much of the infrastructure and other IT
services, which users can access anywhere via a web browser.
2. Cost Effective : It charges for the services provided on a per-use basis thus eliminating
the expenses one may have for on-premises hardware and software.
3. Efficiently managing the lifecycle : It is designed to support the complete web
application lifecycle: building, testing, deploying, managing and updating.
4. Efficiency : It allows for higher-level programming with reduced complexity thus, the
overall development of the application can be more effective
The various companies providing Platform as a service are Amazon Web services,
Salesforce, Windows Azure, Google App Engine, cloud Bess and IBM smart cloud.
3. INFRASTRUCTURE AS A SERVICE
Infrastructure as a service (IaaS) is a service model that delivers computer infrastructure on
an outsourced basis to support various operations. Typically IaaS is a service where
infrastructure is provided as an outsource to enterprises such as networking equipments,
devices, database and web servers.
Infrastructure as a service (IaaS) is also known as Hardware as a service (HaaS).IaaS
customers pay on a per-use basis, typically by the hour, week or month. Some providers
also charge customers based on the amount of virtual machine space they use.
It simply provides the underlying operating systems, security, networking, and servers for
developing such applications, services, and for deploying development tools, databases, etc.

Advantages of IaaS :
1. Cost Effective : Eliminates capital expense and reduces ongoing cost and IaaS
customers pay on a per use basis, typically by the hour, week or month.
2. Website hosting : Running websites using IaaS can be less expensive than traditional
web hosting.
3. Security : The IaaS Cloud Provider may provide better security than your existing
software.
4. Maintainence : There is no need to manage the underlying data center or the
introduction of new releases of the development or underlying software. This is all handled
by the IaaS Cloud Provider.
The various companies providing Infrastructure as a service are Amazon web services,
Bluestack, IBM, Openstack, Rackspace and Vmware.
4. Anything AS A SERVICE
Most of the cloud service providers now a days offer anything as a service that is a
compilation of all of the above services including some additional services.

Advantages of XaaS :
All of the above advantages
EVOLUTION OF CLOUD COMPUTING
[Link]

Cloud computing is all about renting computing services. This idea first came in the
1950s. In making cloud computing what it is today, five technologies played a vital role.
These are distributed systems and its peripherals, virtualization, web 2.0, service
orientation, and utility computing.
Cloud
Computing

Utility
Computing

Service
Orientation

Service
Orientation

Web- 2.0

Virtualization

Grid
Computing

Cluster
Computing

Mainframe

Distributed
Computing

EVOLUTION OF CLOUD COMPUTING (1950s to 2007)

 Distributed Systems:
It is a composition of multiple independent systems but all of them are depicted
as a single entity to the users. The purpose of distributed systems is to share
resources and also use them effectively and efficiently. Distributed systems
possess characteristics such as scalability, concurrency, continuous availability,
heterogeneity, and independence in failures. But the main problem with this
system was that all the systems were required to be present at the same
geographical location. Thus to solve this problem, distributed computing led to
three more types of computing and they were-Mainframe computing, cluster
computing, and grid computing.

 Mainframe computing:
Mainframes which first came into existence in 1951 are highly powerful and
reliable computing machines. These are responsible for handling large data such
as massive input-output operations. Even today these are used for bulk
processing tasks such as online transactions etc. These systems have almost no
downtime with high fault tolerance. After distributed computing, these increased
the processing capabilities of the system. But these were very expensive. To
reduce this cost, cluster computing came as an alternative to mainframe
technology.
 Cluster computing:
In 1980s, cluster computing came as an alternative to mainframe computing.
Each machine in the cluster was connected to each other by a network with high
bandwidth. These were way cheaper than those mainframe systems. These were
equally capable of high computations. Also, new nodes could easily be added to
the cluster if it was required. Thus, the problem of the cost was solved to some
extent but the problem related to geographical restrictions still pertained. To
solve this, the concept of grid computing was introduced.

 Grid computing:
In 1990s, the concept of grid computing was introduced. It means that different
systems were placed at entirely different geographical locations and these all
were connected via the internet. These systems belonged to different
organizations and thus the grid consisted of heterogeneous nodes. Although it
solved some problems but new problems emerged as the distance between the
nodes increased. The main problem which was encountered was the low
availability of high bandwidth connectivity and with it other network associated
issues. Thus. cloud computing is often referred to as “Successor of grid
computing”.

 Virtualization:
It was introduced nearly 40 years back. It refers to the process of creating a
virtual layer over the hardware which allows the user to run multiple instances
simultaneously on the hardware. It is a key technology used in cloud computing.
It is the base on which major cloud computing services such as Amazon EC2,
VMware vCloud, etc work on. Hardware virtualization is still one of the most
common types of virtualization.

 Web 2.0:
It is the interface through which the cloud computing services interact with the
clients. It is because of Web 2.0 that we have interactive and dynamic web
pages. It also increases flexibility among web pages. Popular examples of web
2.0 include Google Maps, Facebook, Twitter, etc. Needless to say, social media
is possible because of this technology only. In gained major popularity in 2004.

 Service orientation:
It acts as a reference model for cloud computing. It supports low-cost, flexible,
and evolvable applications. Two important concepts were introduced in this
computing model. These were Quality of Service (QoS) which also includes the
SLA (Service Level Agreement) and Software as a Service (SaaS).

 Utility computing:
It is a computing model that defines service provisioning techniques for services
such as compute services along with other major services such as storage,
infrastructure, etc which are provisioned on a pay-per-use basis.
ISSUES IN CLOUD COMPUTING
It is a new name for an old existing concept. The delivery of computing services from a
remote location. Cloud Computing is Internet-based computing, where shared resources,
software, and information are provided to computers and other devices on demand.
These are major issues in Cloud Computing:

1. Privacy:
The user data can be accessed by the host company with or without permission. The service
provider may access the data that is on the cloud at any point in time. They could
accidentally or deliberately alter or even delete information.

2. Compliance:
There are many regulations in places related data and hosting. To comply with regulations
(Federal Information Security Management Act, Health Insurance Portability and
Accountability Act, etc.) the user may have to adopt deployment modes that are expensive.

3. Security:
Cloud-based services involve third-party for storage and security. Can one assume that a
c3loud-based company will protect and secure one’s data if one is using their services at a
very low or for free? They may share user’s information with others. Security presents a
real threat to the cloud.

4. Sustainability:
This issue refers to minimizing the effect of cloud computing on the environment. Citing
the server’s effects on the environmental effects of cloud computing, in areas where climate
favours natural cooling and renewable electricity is readily available, the countries with
favourable conditions, such as Finland, Sweden, and Switzerland are trying to attract cloud
computing data centres. But other than nature’s favours, would these countries have enough
technical infrastructure to sustain the high-end clouds?

5. Abuse:
While providing cloud services, it should be ascertained that the client is not purchasing the
services of cloud computing for a nefarious purpose. In 2009, a banking Trojan illegally
used the popular Amazon service as a command-and-control channel that issued software
updates and malicious instruction to PCs that were infected by the malware So the hosting
companies and the servers should have proper measures to address these issues.

6. Higher Cost: If you want to use cloud services uninterruptedly then you need to have a
powerful network with higher bandwidth then ordinary internet networks and also if your
organization is broad and large so ordinary cloud service subscription won’t suit your
organization. Otherwise, you might face hassle in utilizing an ordinary cloud service while
working on complex projects and applications. This is a major problem before small
organisations, that restricts them from diving into cloud technology for their business.
7. Recovery of lost data in contingency: Before subscribing any cloud service provider
goes through all norms and documentations and check whether their services match your
requirements and sufficient well-maintained resource infrastructure with proper upkeeping.
Once you subscribed the service you almost handover your data into the hands of the third
party. If you are able to choose proper cloud service then in future you don’t need to worry
about the recovery of lost data in any contingency.

8. Upkeeping(management) of Cloud: Maintaining a cloud is a herculin task because a


cloud architecture contains a large resources infrastructure and other challenges and risks as
well, user satisfaction etc. As users usually pay for how much they have consumed the
resources. So, sometimes it becomes hard to decide how much should be charged in case if
the user wants scalability and extend the services.

9. Lack of resources/skilled expertise: One of the major issue that companies and
enterprises are going through today is the lack of resources and skilled employees. Every
second organization is seeming interested or has already been moved to cloud services.
That’s why the workload in the cloud is increasing so the cloud service hosting companies
need continuous rapidly advancement. Due to these factors, organizations are having a
tough time keeping up to date with the tools. As new tools and technologies are emerging
every day so more skilled/trained employees need to grow. These challenges can only be
minimized through additional training of IT and development staff.

10. Pay-per-use service charges: Cloud computing services are on-demand services a user
can extend or compress the volume of the resource as per needs. so you paid for how much
you have consumed the resources. It is difficult to define a certain pre-defined cost for a
particular quantity of services. Such types of up and downs and price variations make the
implementation of cloud computing very difficult and intricate. It is not easy for a firm’s
owner to study consistent demand and fluctuations with the seasons and various events. So
it is hard to build a budget for a service that could consume several months of the budget in
a few days of heavy use.

Eucalyptus - Nimbus & Open Nebula


Eucalyptus, Nimbus & Open Nebula are major Open-Source Cloud-Computing Software
Platforms
• Manage the provisioning of virtual machines for a cloud providing IaaS
• Commercial cloud services charge, by the hour, for CPU time
• It might be more cost effective for the organization to purchase hardware to create its own
private cloud.
• These software products are designed to allow an organization to set up a private group of
machines as their own cloud.
• These three frameworks represent three different points of interest in the design space of
this particular type of open- source cloud.

EUCALYPTUS CLOUD PLATFORM

Eucalyptus stands by Elastic Utility Computing Architecture for Linking Your Programs
To Useful Systems. It is mainly based on private cloud and was developed by California
University, Santa Barbara. Basically, it is an open-source computing environment framework.
By using eucalyptus, users are able to perform many functions like start, control, shut down,
cleaning of virtual machines etc. Eucalyptus can be used without requiring resources and
further demands minimum modification and maximum extension. It also provides virtual
network that isolates network traffic of various users. Figure shows the Eucalyptus
architecture.
Eucalyptus platform has four basic components namely node controller, cluster controller,
storage controller and cloud controller. Node Controller runs on each and every node and is
responsible for handling queries requested by other users. It also stores the other information
like state of instances of VMs. Cluster Controller controls all the nodes that are
interconnected form a virtual cluster and collects the information from VM and schedule its
extension. Storage Controller is responsible for storing images stored on virtual machines so
that these may be accessed in future. Cloud Controller is basically manager of this cloud. It is
responsible for all the queries i.e., making decisions and implementing them.

• EUCALYPTUS stands for Elastic Utility Computing Architecture for Linking Your
Program to Useful System.
• It is an open-source software that was developed by University of California-Santa Barbara
for Cloud Computing to implement Infrastructure as a Service.
• Eucalyptus provide an EC2 -compatible cloud Computing Platform and S3- compatible
Cloud Storage thus its services are available through EC2/S3 compatible APIs.
• The Eucalyptus system is composed of 5 main components interacting together; Client,
Cloud Controller, Storage Controller (Walrus), Cluster Controller and a Node Controller.

NIMBUS CLOUD PLATFORM

It is an open-source computing that converts clusters into IaaS (Infrastructure as a Service). It


permits the users for leasing remote resources and building environment for computing. For
deployment of an application, Nimbus offers a “cloudkit” that further comprises of manager
(used for hosting services) and a repository for images. It also provides a solution namely
VWS (Virtual Workspace Services) that can do allocation and configuration of remote
resources. Like Eucalyptus, Nimbus also works on some components shown in figure.

• Nimbus is another open-source IaaS implementation framework which came online


September 2005.
• Nimbus allows a client to lease remote resources by deploying virtual machines (VMs) on
those resources and configuring them to represent an environment desired by the user.
• It was formerly known as the "Virtual Workspace Service" (VWS) but the "workspace
service" is technically just one the components in the software collection.
• Nimbus was designed with the goal of turning clusters into clouds mainly to be used in
scientific applications.

OPEN NEBULA CLOUD

This platform can be used on public, private as well as hybrid cloud. It follows the framework
of open-source cloud service. The biggest advantage of using Open Nebula platform is that it
can dynamically extend the infrastructure of any user i.e., the data centres or clusters can be
set to make them their infrastructure property flexible. Storage, network and virtual
techniques can easily by synchronize. It basically includes three technologies i.e.,
virtualization, storage and network. Open Nebula offers various advantages such as
adjustable platform meeting the dynamic requirements of the users, centralized management
of virtually and physically distributed infrastructure, efficient energy consumption, cost
reduction and so on. The architecture of Open Nebula is shown below in figure.
• OpenNebula tends to a greater level of centralization and customizability (especially for
end-users).
• The idea of OpenNebula is a pure private cloud, in which users actually log into the head
node to access cloud functions.
• OpenNebula, by default, uses a shared file system, typically NFS, for all disk images files
and all files for actually running the OpenNebula functions.
• In order to spawn a VM, the user provides a configuration file containing parameters which
would be fed into the VMM command line. This allows for memory, processor, network and
disk resources to be requested for essentially any configuration.
• OpenNebula is also very centralized, especially in its default.

CLOUD SIM
It is an open-source framework, which is used to simulate cloud computing infrastructure
and services. It is developed by the CLOUDS Lab organization and is written entirely in
Java. It is used for modelling and simulating a cloud computing environment as a means for
evaluating a hypothesis prior to software development in order to reproduce tests and
results.
For example, if you were to deploy an application or a website on the cloud and wanted to
test the services and load that your product can handle and also tune its performance to
overcome bottlenecks before risking deployment, then such evaluations could be performed
by simply coding a simulation of that environment with the help of various flexible and
scalable classes provided by the CloudSim package, free of cost.
Benefits of Simulation over the Actual Deployment:

Following are the benefits of Cloud-Sim:

 No capital investment involved. With a simulation tool like Cloud-Sim there is


no installation or maintenance cost.
 Easy to use and Scalable. You can change the requirements such as adding or
deleting resources by changing just a few lines of code.
 Risks can be evaluated at an earlier stage. In Cloud Computing utilization of
real testbeds limits the experiments to the scale of the testbed and makes the
reproduction of results an extremely difficult undertaking. With simulation, you
can test your product against test cases and resolve issues before actual
deployment without any limitations.
 No need for try-and-error approaches. Instead of relying on theoretical and
imprecise evaluations which can lead to inefficient service performance and
revenue generation, you can test your services in a repeatable and controlled
environment free of cost with Cloud-Sim.

CloudSim Architecture:

CloudSim Core Simulation Engine provides interfaces for the management of resources
such as VM, memory and bandwidth of virtualized Datacenters.
CloudSim layer manages the creation and execution of core entities such as VMs,
Cloudlets, Hosts etc. It also handles network-related execution along with the provisioning
of resources and their execution and management.
User Code is the layer controlled by the user. The developer can write the requirements of
the hardware specifications in this layer according to the scenario.
Some of the most common classes used during simulation are:
 Datacenter: used for modelling the foundational hardware equipment of any
cloud environment, that is the Datacenter. This class provides methods to
specify the functional requirements of the Datacenter as well as methods to set
the allocation policies of the VMs etc.
 Host: this class executes actions related to management of virtual machines. It
also defines policies for provisioning memory and bandwidth to the virtual
machines, as well as allocating CPU cores to the virtual machines.
 VM: this class represents a virtual machine by providing data members defining
a VM’s bandwidth, RAM, mips (million instructions per second), size while also
providing setter and getter methods for these parameters.
 Cloudlet: a cloudlet class represents any task that is run on a VM, like a
processing task, or a memory access task, or a file updating task etc. It stores
parameters defining the characteristics of a task such as its length, size, mi
(million instructions) and provides methods similarly to VM class while also
providing methods that define a task’s execution time, status, cost and history.
 DatacenterBroker: is an entity acting on behalf of the user/customer. It is
responsible for functioning of VMs, including VM creation, management,
destruction and submission of cloudlets to the VM.
 CloudSim: this is the class responsible for initializing and starting the
simulation environment after all the necessary cloud entities have been defined
and later stopping after all the entities have been destroyed.

Features of CloudSim:

CloudSim provides support for simulation and modelling of:


1. Large scale virtualized Datacenters, servers and hosts.
2. Customizable policies for provisioning host to virtual machines.
3. Energy-aware computational resources.
4. Application containers and federated clouds (joining and management of
multiple public clouds).
5. Datacenter network topologies and message-passing applications.
6. Dynamic insertion of simulation entities with stop and resume of simulation.
7. User-defined allocation and provisioning policies.

Features of Cloud Sim


 Open source and free of cost, so it favours researchers/developers working in the
field.
 Easy to download and set-up.
 It is more generalized and extensible to support modelling and experimentation.
 Does not require any high-specs computer to work on.
 Provides pre-defined allocation policies and utilization models for managing
resources, and allows implementation of user-defined algorithms as well.
 The documentation provides pre-coded examples for new developers to get
familiar with the basic classes and functions.
 Tackle bottlenecks before deployment to reduce risk, lower costs, increase
performance, and raise revenue.

You might also like