Sie sind auf Seite 1von 30

A REPORT

ON
CLOUD COMPUTING

BY
SHARVARI BARVE
2010A7PS189G
Prepared in Partial Fulfilment of the
Practice School-1

Station: Bhaskaracharya Institute of Space


Applications and Geo-Informatics
Duration:
From: 21st May 2012

To: 13th July 2012

Date of Submission: 15th June 2012


Title of Project: Setup of an Academic Cloud
for BISAG using Open Source Tools
Name: Sharvari Barve
ID: 2010A7PS18G
DISCIPLINE: B.E(Hons) Computer Science
PS FACULTY: Mitaxi Mehta
PROJECT GUIDE: Miren sir

ACKNOWLEDGEMENT

At the outset , I would like to thank Bhaskaracharya


Institute of Space and Geo-Informatics and the Practice
School Division, BITS,Pilani for giving me this wonderful
opportunity to get a basic understanding about the technical
and organizational aspect of Industry. I wish to express my
gratitude to T.P Singh, Director, BISAG for letting me work in
this prestigious organization. I would like to thank Miren sir
for mentoring this project.I would also like to thank the
Practise School in charge Viraj Choksi. Finally, I wish to
express my sincere and hearty gratitude to my Practice
School- I instructor, Mitaxi Mehta, for guiding me through
this academic process.

ABSTRACT
The project aims at setting up of an academic cloud for BISAG
using Open Source tools. In an academic setting, choosing to
rely solely on free and open-source infrastructure is the right
option due to cost factor. An academic institution can benefit
significantly from private cloud infrastructure to service its
IT, research, and teaching requirements.

TABLE OF CONTENTS
Acknowledgementsi
Abstract..ii
Table of Contents iii
1. Introduction
1.1.What is Cloud Computing?
1.2. Cloud computing demystified
2. Cloud Computing
2.1. Block diagram
2.2 Cloud Architecture
2.3 Modes
2.3.1. IaaS
2.3.2.PaaS
2.3.3 SaaS
2.4. Types
2.4.1. Private
2.4.2 Public
2.4.3 Hybrid
2.4.4 Community
2.5 Why a cloud?

3. Virtualization
3.1 Definition
3.2 Comparison
4. Hypervisor
4.1 Definition
4.2 Types of Hypervisor
4.2.1 Bare Metal
4.2.2 Hosted
4.3 KVM hypervisor
4.4 Xen Hypervisor
5.Eucalyptus
6. Ubuntu Enterprise Cloud
6.1 Description
6.2 Components of UEC

INTRODUCTION

What is cloud computing?


The Wikipedia definition:
Cloud computing is Internet (cloud) based development and
use of computer technology (computing), whereby
dynamically scalable and often virtualized resources are
provided as a service over the Internet. Users need not have
knowledge of, expertise in, or control over the technology
infrastructure "in the cloud" that supports them.
It is a technology that uses the internet and central remote
servers to maintain data and applications. Cloud computing
allows consumers and businesses to use applications without
installation and access their personal files at any computer
with internet access. This technology allows for much more
efficient computing by centralizing storage, memory,
processing and bandwidth.

Cloud computing demystified:


A simple example of cloud computing is Yahoo email, Gmail,
or Hotmail etc. One doesnt need software or a server to use
them. All a consumer would need is just an internet
connection and you can start sending emails. The server and
email management software is all on the cloud (internet) and
is totally managed by the cloud service provider Yahoo,
Google etc. The consumer gets to use the software alone and
enjoy the benefits.

MODES
-PRIVATE
-PUBLIC
-HYBRID

TYPES

FEATURES

-IaaS

-ELASTICITY

-PaaS

-VIRTUALIZATION

-SaaS

CLOUD ARCHITECTURE
Cloud Computing architecture consists of the following
components:
Front end: It comprises the clients device (or it may be a
computer network) and some applications are needed for
accessing the cloud computing system.
Back end: Back end refers to the cloud itself which may
encompass various computer systems, data storage systems
and servers.
Middleware: A special type of software called Middleware
is used to allow computers that are connected on the network
to communicate with each other.
Redundancy: Devices, like all computers, occasionally
break down. A cloud computing system must make a copy of
all its clients' information and store it on other devices. The
copies enable the central server to access backup machines to
retrieve data that otherwise would be unreachable. Making
copies of data as a backup is called redundancy.

MODES
The concept of cloud computing is linked intimately with
those of IaaS (Infrastructure as a Service); PaaS (Platform as a
Service), SaaS (Software as a Service) and collectively *aaS
(Everything as a Service) all of which imply a service-oriented
architecture

IaaS (Infrastructure as a Service);In this most


basic cloud service model, cloud providers offer computers
as physical or more often as virtual machines , raw (block)
storage, firewalls , load balancers, and networks. IaaS
providers supply these resources on demand from their large
pools installed in data centres
PaaS (Platform as a Service): In the PaaS model,
cloud providers deliver a computing platform and/or solution
stack typically including operating system, programming
language execution environment, database, and web server.
Application developers can develop and run their software
solutions on a cloud platform without the cost and
complexity of buying and managing the underlying hardware
and software layers

Software as a service (SaaS): In this model, cloud


providers install and operate application software in the
cloud and cloud users access the software from cloud clients.
The cloud users do not manage the cloud infrastructure and
platform on which the application is running. This eliminates
the need to install and run the application on the cloud user's
own computers simplifying maintenance and support. What
makes a cloud application different from other applications is
its elasticity. This can be achieved by cloning tasks onto
multiple virtual machines at run-time to meet the changing
work demand

TYPES
Private cloud: Private Clouds are typically owned by the
respective enterprise and / or leased. Functionalities are not
directly exposed to the customer, though in some cases
services with cloud enhanced features may be offered this is
similar to (Cloud) Software as a Service from the customer
point of view.
Example: eBay.
Public Clouds. Enterprises may use cloud functionality
from others, respectively offer their own services to users
outside of the company. Providing the user with the actual
capability to exploit the cloud features for his / her own
purposes also allows other enterprises to outsource their
services to such cloud providers, thus reducing costs and
effort to build up their own infrastructure. As noted in the
context of cloud types, the scope of functionalities thereby
may differ.
Example: Amazon, Google Apps, Windows Azure.
Hybrid Cloud: Though public clouds allow enterprises to
outsource parts of their infrastructure to cloud providers,
they at the same time would lose control over the resources
and the distribution /management of code and data. In some
cases, this is not desired by the respective enterprise.
Hybrid clouds consist of a mixed employment of private and
public cloud infrastructures so as to achieve a maximum of
cost reduction through outsourcing whilst maintaining the

desired degree of control over e.g. sensitive data by employing


local private clouds.
Community Cloud: Typically cloud systems are
restricted to the local infrastructure, i.e. providers of public
clouds offer their own infrastructure to customers. Though
the provider could actually resell the infrastructure of another
provider, clouds do not aggregate infrastructures to build up
larger, cross-boundary structures. In particular smaller SMEs
could profit from community clouds to which different
entities contribute with their respective (smaller)
infrastructure. Community clouds can either aggregate public
clouds or dedicated resource infrastructures.

Why a Cloud?
>It could bring hardware costs down. Cloud computing
systems would reduce the need for advanced hardware on the
client side. You wouldn't need to buy the fastest computer
with the most memory, because the cloud system would take
care of those needs for you. Instead, you could buy an
inexpensive computer terminal. The terminal could include a
monitor, input devices like a keyboard and mouse and just
enough processing power to run the middleware necessary to
connect to the cloud system. You wouldn't need a large hard
drive because you'd store all your information on a remote
computer.

>Clients would be able to access their applications and


data from anywhere at any time. They could access the cloud
computing system using any computer linked to the Internet.
Data wouldn't be confined to a hard drive on one user's
computer or even a corporation's internal network.

VIRTUALIZATION

Definition:
Virtualization:
The ability to run multiple operating systems on a single
physical system and share the underlying hardware resources.

Description
Simply put, virtualization is an idea whose time has come.
The term virtualization broadly describes the separation of a
resource or request for a service from the underlying physical
delivery of that service. With virtual memory, for example,
computer software gains access to more memory than is
physically installed, via the background swapping of data to

disk storage. Similarly, virtualization techniques can be


applied to other IT infrastructure layers - including networks,
storage, laptop or server hardware, operating systems and
applications. This blend of virtualization technologies - or
virtual infrastructure- provides a layer of abstraction between
computing, storage and networking hardware, and the
applications running on it (see Figure 1). The deployment of
virtual infrastructure is non-disruptive, since the user
experiences are largely unchanged. However, virtual
infrastructure gives administrators the advantage of
managing pooled resources across the enterprise, allowing IT
managers to be more responsive to dynamic organizational
needs and to better leverage infrastructure investments.

Before Virtualization
Single OS image per machine
Software and hardware
tightly coupled

After Virtualization

Hardware-independence of
operating systems and
applications
Running multiple
Virtual machine can be
applications on same machine provisioned to any system
creates conflict
Underutilized utilized
Can manage OS and
application as a single
unit by encapsulating them
into virtual
machines

Hypervisor
Definition:
A hypervisor is also known as a Virtual Machine Manager
(VMM) and its sole purpose is to allow multiple machines
to share a single hardware platform
The hypervisor separates the operating system (OS) from the
hardware by taking the responsibility of allowing each
running OS time with the underlying hardware.

Separating hardware and software turns out to be good for


portability as well. Because the hypervisor acts as the gobetween, it is much easier to move from computer to
computer without needing to install new drivers or update
your guest OS.

TYPES OF HYPERVISORS:
BARE METAL (type 1):
Bare metal, is a hypervisor that installs directly onto a
computer. There is no host OS and the hypervisor has direct
access to all hardware and features. The main reasons to
install a type 1 hypervisor is to run multiple operating systems
on the same computer without the overhead of a host OS or
to take advantage of the portability and hardware
abstraction. Bare metal is most often used for servers because
of their security and portability to move from hardware to
hardware in case of a crash. Good examples of type 1
hypervisors are VMware ESXi, Citrix EServer, and Microsoft
Hyper-V.
HOSTED (type 2):
Hosted, is what most people are probably familiar with when
it comes to virtualizing operating systems. Hosted
hypervisors require a host OS and are often treated as
installed software inside the host. Type 2 can still run
multiple operating systems at a time, but it doesnt have
direct access to the hardware and therefore has more
overhead when running a guest. This means that the guest OS
will not run at its full potential and if your host crashes, you
wont have access to your guests either. Type 2 hypervisors
are the ideal way to go when you need to test multiple
operating systems within Windows, OS X, or Linux. Good
examples are VMware Workstation, VMware Parallels,
Oracle Virtual box, and Microsoft Virtual.

KVM HYPERVISOR
KVM (for Kernel-based Virtual Machine) is a full
virtualization solution for Linux on x86 hardware containing
virtualization extensions (Intel VT or AMD-V).

KVM (for Kernel-based Virtual Machine) is a fast growing


open source full virtualization solution for Linux on x86
hardware containing virtualization extensions (Intel VT or
AMD-V). It consists of a loadable kernel module that
provides the core virtualization infrastructure and a processor
specific module. Using KVM hypervisor, one can run multiple
virtual machines running unmodified Linux or Windows
images. Each virtual machine has private virtualized
hardware: a network card, disk, graphics adapter, etc. The
kernel component of KVM hypervisor is included in mainline
Linux.

XEN HYPERVISOR
Xen is a type 1 hypervisor that creates logical pools of system
resources so that many virtual machines can share the same
physical resources.

Xen is a hypervisor that runs directly on the system hardware.


Xen inserts a virtualization layer between the system
hardware and the virtual machines, turning the system
hardware into a pool of logical computing resources that Xen
can dynamically allocate to any guest operating system. The
operating systems running in virtual machines interact with
the virtual resources as if they were physical resources.
The following are key concepts of the Xen architecture:
Full virtualization.
Xen can run multiple guest OS, each in its on VM.

EUCALYPTUS
Eucalyptus is a software platform for the implementation of
private cloud computing on computer clusters. There is an
open-core enterprise edition and an open-source edition.
With Ubuntu 9.04 Server Edition (April 2009), an enhanced
version of Eucalyptus that uses the KVM hypervisor was
integrated into the distribution. This allowed any user to
deploy a cloud that matches the same API that AWS
provides. This system is Ubuntu Enterprise Cloud (UEC). In
conjunction with the release of UEC, we also created official
Ubuntu images that would work both on AWS (a Xen based
hypervisor system) and a UEC cloud (a KVM based
hypervisor system)

UBUNTU ENTERPRISE CLOUD


(UEC)
In keeping with its open source history, Ubuntu Enterprise
Cloud is integrated with the open source Eucalyptus private
cloud platform, making it possible to create a private cloud
with much less configuration than installing Linux first, then
Eucalyptus.
Private clouds offer immediacy and elasticity in your own IT
infrastructure. Using Ubuntu Enterprise Cloud, you can
experience the benefits of cloud computing behind your
firewall. Deploy workloads and have them running
immediately. Grow or shrink computing capacity to meet the
needs of your application.
It is the virtual image that is deployed into the cloud
computing environment, and it is the virtual image that is
managed by EUC. Inside the image your application(s) is
running, and when the compute resources assigned to that
image not the application, but the image are in danger of
being completely consumed UEC (or appropriate cloud
computing management framework in public
implementations) will automatically start another virtual
image containing your application, assuming there are
available compute resources in the cloud cluster. Image runs
one (or more, though usually one) application. End users
interface with the applications and cloud computing users
interface with all the nuts and bolts. It is the management of
those nuts and bolts that Ubuntu makes look so easy with

Ubuntu Enterprise Cloud (UEC). Mouse click easy, in fact,


based on the detailed instructions offered on Ubuntus site.
So now youve got a cloud deployed, what do you do with
it?
A few definitions:
MI (Machine Images): A file containing a predefined
virtual machine to use as the base of an instance on UEC.
Minst (Machine Instance): A running instance of a
virtual machine defined by an MI
API (Application Programming Interface): A set
of functions that a programme or person can use to send
request and receive results from another programme.

Components of UEC:

Cloud Controller
The Cloud Controller (CLC) is the most visible element of
the Eucalyptus architecture, as it is providing the interface
with which users of the cloud interact. The CLC talks with
the Cluster Controllers (CC) and makes the top level choices
for allocating new instances. This element holds all
information linking users to running instances, the collection
of available machines to be run, as well as view of the load of
the entire system.
Walrus Storage Controller
The Walrus Storage Controller (WS3) implements a REST
(Representational State Transfer) and a SOAP (Simple Object

Access Protocol) API which are compatible with Amazon


Simple Storage Protocol (S3). It is used for:
Storing the the machine images (MI) that can be
instantiated on our cloud;
Accessing and storing data (either from a running instance
or from anywhere on the web).WS3 should be considered as a
file level storage system. While it does not provide the ability
to lock a file or portion of a file, users are guaranteed that a
consistent copy of the file will be saved if there are concurrent
writes to the same file. If a write to a file is encountered while
there is a previous write in progress, the previous write is
invalidated.
Elastic Block Storage Controller:
The Elastic Block Storage Controller (EBS) runs on the same
machine(s) as the Cluster Controller and is configured
automatically when the Cluster Controller is installed. It
allows creating persistent block devices that can be mounted
on running machines in order to gain access to virtual hard
drive. Storage volumes behave like raw, unformatted block
devices, with user supplied device names and a block device
interface. You can create a file system on top of EBS volumes,
or use them in any other way you would use a block device.
EBS also provides the ability to create point-in-time
snapshots of volumes, which are stored on WS3. These
snapshots can be used as the starting point for new EBS
volumes and protect data for long-term durability. The same

snapshot can be used to instantiate as many volumes as you


wish.
Cluster Controller:
The Cluster Controller (CC) operates as the go between the
Node Controller and the Cloud Controller. As such, it needs
to have access to both the Node Controller and Cloud
Controller networks. It will receive requests to allocate MI
(machine images) from the Cloud Controller and in turn
decides which Node Controller will run the Minst (machine
instance). This decision is based upon status reports which
the Cluster Controller receives from each of the Node
Controllers. It can also answer requests from the Cloud
Controller asking for its left over capacity to run specific
instance types, hence allowing the Cloud Controller to decide
on which cluster to run new instances.
Node Controller:
The Node Controllers' (NC) software runs on the physical
machines on which the MI will be instantiated. The NC
software role is to interact with the OS and hypervisor
running on the node, as instructed by the Cluster Controller.
The Node Controller's first task is to discover the
environment on which it runs in term of available resources
(disk space, type and number of cores, memory), as well as
running VMs that could be started independently of the NC,
CC, and CLC.
The Node Controller will then wait for and perform any
requested tasks from the Cluster Controller (start and stop

instances) or replies to availability queries. When requested


to start a MI, it will:1. Verify the authenticity of the user request;
2. Download the image from WS3 (images are cached so that
starting multiple instances
of the same machine image only downloads that image once);
3. Create the requested virtual network interface;
4. Start the instance of the machine image running as a virtual
machine (VM).

CONCLUSION
The solution for private cloud for academic institutions, will
allow administrators and researchers to deploy an
infrastructure where users can spawn multiple instances of
VMs and control them using a web-based interface.
To summarize, I have finished research on the above topics
and installed the Ubuntu Enterprise Cloud (UEC).

REFERENCES
http://en.wikipedia.org/wiki/Eucalyptus_(computing)
http://computer.howstuffworks.com/cloudcomputing/cloud-computing.htm
http://en.wikipedia.org/wiki/Hypervisor
http://www.vservercenter.com/kvm-hypervisor
http://en.wikipedia.org/wiki/Virtualization

Das könnte Ihnen auch gefallen