+ All Categories
Home > Documents > Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... ·...

Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... ·...

Date post: 28-Jul-2018
Category:
Upload: vonguyet
View: 214 times
Download: 0 times
Share this document with a friend
41
Automated Deployment of Private Cloud (EasyCloud) Mohammed Kazim Musab Al-Zahrani Mohannad Mostafa Moath Al-Solea Hassan Al-Salam Advisor: Dr.Ahmad Khayyat COE485 | T151 1
Transcript
Page 1: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Automated Deployment ofPrivate Cloud (EasyCloud)

Mohammed Kazim

Musab Al-Zahrani

Mohannad Mostafa

Moath Al-Solea

Hassan Al-Salam

Advisor: Dr.Ahmad KhayyatCOE485 | T151

1

Page 2: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Table of Contents

▪ Introduction▪Background▪Problem Statement

▪ Requirements and Specifications

▪ System design

▪ Solution Concept

▪ Architecture Design

▪ Component Design

▪ System Integration

▪Implementation and Demo

▪Q / A

2

Page 3: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Introduction

• Background

• Problem Statement

3

Page 4: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Background

What is Cloud Computing?▪ According to NIST, “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network

access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

CHARACTERISTICS OF CLOUD COMPUTING ▪ On-demand self-service

▪ Broad network access

▪ Resource pooling

▪ Rapid elasticity

▪ Measured service

4

Page 5: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

The main uses of IaaS includethe actual development anddeployment of PaaS, SaaS, andweb-scale applications.

Models of Cloud Service

5

Page 6: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Deployment Models

6

Page 7: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Problem Statement(1)

7

▪ Cloud computing has become a great factor in many enterprises.

▪ The deployment of such a private cloud will take time and effort

▪ If you have to deploy a cloud on a cluster of PCs, you will have to install

OSs, manage them after installation and add them to the cloud.

▪ Depending on the approach this might take from weeks to months.

▪ This project try to solve the deployment issue and implement an

automated deployment system for private cloud.

Page 8: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Problem Statement (2)

▪ Automated, i.e. easily producible, private cloud setup in which virtual machines can be easily provisioned and addition hardware can be added to increase the platform capacity.

8

Page 9: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Requirements and Specifications• Functional user requirements

• Non-functional user requirements

• Technical specifications

9

Page 10: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Functional user requirements

▪ Deployment on hardware▪ Automated deployment of platform on hardware, e.g. network boot,

automatic node configuration.▪ Support heterogeneous hardware; hardware does not need to be identical.▪ Automated expansion by deploying on additional hardware, e.g. adding PCs

or hard driver.▪ Enable users to create a VM and to configure its specs based on the

availability of the hardware.

▪ Administration.▪ Monitoring of resource usage per VM and for the entire platform.▪ Network configuration to control connectivity between VMs.▪ Selection of boot images for the VMs.

10

Re

qu

ire

me

nts

& S

pe

cifi

ca

tio

ns

Page 11: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Non-functional user requirements

▪ Using open source tools only.

▪ Scalability of the system varies from small setup to large setup. The smallest configuration can be 2 nodes, and the largest setup can be up to 1000 nodes

▪ The system should provide friendly user interface

▪ Deploying the system should take less than 2 Hours.

▪ The system should be able to work any scale with little performance drop.

11

Re

qu

ire

me

nts

& S

pe

cifi

ca

tio

ns

Page 12: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Technical specifications (1)

▪ Using open source cloud platform, such as OpenStack, Eucalyptus, CloudStack, Open Nebula.

▪ Deploying the system will be in less than 2 hours.

▪ The user can specify the OS, RAM, Virtual Cores, disk storage, and number of network interfaces of the VMs.

▪ The response time for creating the virtual machine is less than 15 minutes.

12

Re

qu

ire

me

nts

& S

pe

cifi

ca

tio

ns

Page 13: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Technical specifications (2)

▪The admin can see the following: CPU utilization, RAM, network traffic, and storage per VM and for the entire platform.▪Any computer added to the system should be able to boot directly from network and be automatically configured to the system.▪The system can be installed and configured on any x86 architecture

13

Re

qu

ire

me

nts

& S

pe

cifi

ca

tio

ns

Page 14: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

System design• Solution Concept• Architecture Design• Component Design• System Integration

14

Page 15: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

General Approach

• Find best Private Cloud Platform that meets the requirements.

• Use an automatic installation tool to install an OS image through network boot for cloud nodes.

• Using configuration management tool to configure all the nodes to join the cloud.•Writing a program to install the master node and install/configure the deployment management tool to build the cloud.

So

luti

on

Co

nc

ep

t

15

Page 16: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

- Full control of deployment process.

- Does not need or depends on some software.

- Relatively hard to accomplish.

- Difficult to be understood and updated in future.

- Single execution per machine.

- None-Idempotent.

- Other cloud system can be added without changing the system architecture.

- Easier to be understood and updated in future.

- Parallel execution across multiple machines.

- Providing idempotency.

- Relatively hard to integrate all tools to work together automatically.

Alternative ApproachS

olu

tio

n C

on

ce

pt

16

General Approach Script

▪ Using scripts only to build the cloud from scratch to automate the deployment along with holding the configurations of all nodes in the cloud itself.

Page 17: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Sub-Functions

So

luti

on

Co

nc

ep

t

17

Page 18: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Architecture Design• Alternative Architecture• Comparison between Architectures• Hardware/Software Components and its Function

18

Page 19: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Architecture DesignDistributed Storage Architecture Design with High availability

Arc

hit

ec

ture

De

sig

n

19

Page 20: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Alternative Architecture DesignsShared Storage Architecture

Arc

hit

ec

ture

De

sig

n

20

Page 21: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Comparison between Architectures

Arc

hit

ec

ture

De

sig

n

21

Architecture

Shared Storage

Strength ● Reduce VM deployments times● Enables live-migration

Weakness ● It can become a bottleneck in the infrastructure. Thus, degrading VMs performance.

● Waste the storage resources in the host nodes

Distributed Storage

Strength ● Uses the host data storage which will increase the storage and the number of VMs

● All Operations are done locally, more performance (no network usage)

Weakness ● Images have to be copied always to the hosts, which can be a very resource demanding operation.

● Prevent the use of live-migration between hosts. However, host can be recreated and deployed on another machine

● High VM deployment times depending on the infrastructure network connectivity.

Page 22: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Hardware/Software Components

Arc

hit

ec

ture

De

sig

n

22

Page 23: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Component Design• Cloud Platform

• Deployment Management Tool

• Script Installation

23

Page 24: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Cloud Platforms

• Cloud platform is the core of this system.• The cloud platform must be chosen to meet the requirements.

• The main selection criteria of choosing cloud platform:◦ Simple Deployment Architecture◦ Features that meet the requirements and specification◦ Additional features which helps in expanding the project.◦ Simple installation

Co

mp

on

en

t D

esi

gn

24

Page 25: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• OpenStack is one of the popularprivate cloud in the market.

• Its architecture is toocomplicated because of itsflexibility to work on manyenvironment.

• complex architecture andinstallation will not help us in theautomated deployment of thecloud.

OpenStack

Co

mp

on

en

t D

esi

gn

25

Page 26: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• CloudStack is an open sourcecloud computing software forcreating, managing, anddeploying infrastructurecloud services.

• It uses existing hypervisorssuch as KVM, VMwarevSphere, and XenServer/XCPfor virtualization.

• It is a great candidate to bethe core infrastructureplatform for this project.

Cloud Stack

Co

mp

on

en

t D

esi

gn

26

Page 27: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• Eucalyptus is free andopen-source computersoftware for building(AWS)-compatible privateand hybrid cloudcomputing environments.

• Eucalyptus can providehigh availability bybuilding primary andsecondary cloud.

Eucalyptus

Co

mp

on

en

t D

esi

gn

27

Page 28: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• OpenNebula is a cloud computingplatform for managingheterogeneous distributed datacenter infrastructures.

• Manages a data center's virtualinfrastructure to build private,public and hybrid IaaS.

• Provides all the feature needed tocomplete this project.

• It’s known for its simplearchitecture and installation.

OpenNebula

Co

mp

on

en

t D

esi

gn

28

Page 29: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Cloud Platform Comparison

Co

mp

on

en

t D

esi

gn

Page 30: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• Deployment Management Tools enable you to simplify automation and orchestration across your environment to provide a standard deployment.

• Many deployment management tools : Ansible, Puppet, Cheff, Fabric, and SaltStack.

• This system will use Ansible in deploying scripts and configuration file because: ▪Support for new systems to become a full functional nodes for OpenNebula cloud▪Adding them automatically to the cloud with no interaction needed with the user. ▪It doesn’t need any sql server like others to be installed on the other nodes. Which is a big advantage in EasyCloud System

Configuration Management Tool

Co

mp

on

en

t D

esi

gn

30

Page 31: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

• There are multiple automatic installation tool which helps in ease the automation of

network booting of bare metal devices.

• These tools provide configurations for DHCP, TFTP, and HTTP.

• help in modifying the Linux distribution with a preseed file to choose the packages that

needed to be installed with the setup.

• The tools that have been tested and considered in this project is FAI, Cobbler, and

Foreman.

Deployment Installation Tool

Co

mp

on

en

t D

esi

gn

31

Page 32: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Comparison between Automatic Installation Tool

Co

mp

on

en

t D

esi

gn

32

Page 33: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

System Integration

• We created a python program to integrate

the different components of the system

automatically, and it will be the user

interface to use the system and build the

cloud.

Page 34: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Implementation and Screenshots

Page 35: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Python program

• A simple user interface which is needed to install the system or adding any nodes

• Remove an existing node is possible without any loss of information or VMs

• Sending the initial user and password to the email (Require install SMTP server)

• Creating a default virtual network

• Takes care of configuring all the needed file.

Page 36: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

Demo Video

https://drive.google.com/file/d/0B9eiSewKbNz9YWRWMElzNkZORUU/view

https://youtu.be/4UUPSnmfj-4

Page 37: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

OpenNebula Cloud (Image state machine)

Page 38: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

● create: Creates a new Host

● delete: Deletes the given Host

● enable: Enables the given Host

● disable: Disables the given Host

● update: Update the template contents.

● show: Shows information for the given Host

● top: Lists Hosts continuously

● flush: Disables the host and reschedules all the running VMs it.

Hosts states

38

Page 39: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

OpenNebula

Cloud

Page 40: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

▪ Support multiple cloud system. ▪ Network Discovery. ▪ GUI program that can control the cloud more easily.▪ Support of Hybrid and public cloud installation

Future Work and Development

40

Page 41: Automated Deployment of Private Cloud (EasyCloud)akhayyat/files/coe485-151/final/private... · Automated Deployment of Private Cloud (EasyCloud) ... Introduction Background ... Cheff,

THE END.... THANK YOU

• Q/A


Recommended