automated deployment of private cloud (easycloud)akhayyat/files/coe485-151/design/private... ·...

37
Automated Deployment of Private Cloud (EasyCloud) Mohammed Kazim Musab Al-Zahrani Mohannad Mostafa Moath Al-Solea Hassan Al-Salam Advisor: Dr.Ahmed Khayyat 1

Upload: hoangquynh

Post on 28-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Automated Deployment ofPrivate Cloud (EasyCloud)

Mohammed Kazim

Musab Al-Zahrani

Mohannad Mostafa

Moath Al-Solea

Hassan Al-Salam

Advisor: Dr.Ahmed Khayyat1

Table of Contents

Introduction

Requirements and Specifications

System design

Solution Concept

Architecture Design

Component Design

System Integration

2

Introduction

• Background

• Problem Statement

3

Introduction

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

Introduction

Deployment Models

Public Cloud

Private Cloud

HybirdCloud

Community Cloud

5

Models of Cloud Services

IaaS

Amazon EC2 OpenNebula RackSpace

PaaS SaaS

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

Introduction

6

Introduction

What is Private Cloud?

Why are we using it?

Why Private?

Is it easy to deploy?

7

Advantages of Private

cloud

Greater Control

Security

Higher Performance

Deeper Compliance

Customizable

Introduction

8

Problem Statement

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.

9

Requirements and

Specifications• Functional user requirements

• Non-functional user requirements

• Technical specifications

10

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

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

11

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 noes

The system should provide friendly user interface

Deploying the system should take less than 5 Hours.

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

12

Technical specifications

Using open source cloud platform, such as Open Nebula

Deploying in less than 5 hours.

The system performance shouldn’t be dropped more than 5% of the previous scale if any machine is added.

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

13

Technical specifications

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

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 cross-architecture heterogeneous hardware.

14

System design• Solution Concept

• Architecture Design

• Component Design

• System Integration

15

General Approach

- Find best Cloud Platform

- Prepare a customizable OS image to be installed on the hardware

- Running script after image installation to add new node to the cloud.

- Getting the image will be through network booting.

- using automated deployment tool to configure all the nodes such as Ansible.

- Main node must be configured manually.

16

General Approach

17

Alternative Approach

The alternative approach would use Live System which already configured with all private cloud programs and it runs on the node when the TFTP server sends the live image.

The main disadvantages of live system that the computer loses its data once it shuts down.

18

- Portable, Easy to deploy

- Fast installation

- Programs usually run slower than installed OS. - The date is not saved on shutdown. Thus, each node lose all its data in case of power failure- Not all software work seamlessly with live OS

Live Image System

- Some parameters can be configured easily in the script. - The client can change the configuration at any time using the deployment tool (Ansible)- Data is saved on shutdown

Slow installation (depending on the third party apps needed to be installed with the system)

Fixed Script installed with OS Image

Comparison between Approaches

19

Sub-Functions

20

Architecture Design• Alternative Architecture

• Comparison between Architectures

• Hardware/Software Components and its Function

21

Architecture DesignShared Storage Architecture Design

22

Alternative Architecture DesignDistributed Storage Architecture

23

Comparison between Architectures Architecture

Shared Storage

Strength Reduce VM deployments times

Enables live-migration

Weakness It can become a bottleneck in

the infrastructure. Thus, degrading

VMs performance.

Distributed Storage

Strength Backing up of the data on many

machines.

The ability to add or remove any

of the devices without losing the

storage.

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

High VM deployment times

depending on the infrastructure

network connectivity.

24

Hardware/Software Components

•Host Nodes

•Main Node

•Network infrastructure

•Storage Nodes

•DHCP Server

•TFTP Server

Hardware Components

•Image Builder + Script

•Configuration File

•Management Deployment Tool

•Cloud Platform

Software Components

25

Component Design

• Cloud Platform

• Deployment Management Tool

• Script Installation

26

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

27

• OpenStack is one of the popular private

cloud in the market.

• Its architecture is too complicated

because of its flexibility to work on

many environment.

• complex architecture and installation

will not help us in the automated

deployment of the cloud.

OpenStack

28

• OpenNebula is a cloud computing

platform for managing heterogeneous

distributed data center infrastructures.

• Manages a data center's virtual

infrastructure to build private, public

and hybrid IaaS.

• Provides all the feature needed to

complete this project.

• It’s known for its simple architecture

and installation.

OpenNebula

29

• CloudStack is an open source

cloud computing software for

creating, managing, and deploying

infrastructure cloud services.

• It uses existing hypervisors such as

KVM, VMware vSphere, and

XenServer/XCP for virtualization.

• It is a great candidate to be the core

infrastructure platform for this

project.

Cloud Stack

30

• Eucalyptus is free and open-

source computer software for

building (AWS)-compatible

private and hybrid cloud

computing environments.

• Eucalyptus can provide high

availability by building primary

and secondary cloud.

Eucalyptus

31

Cloud Platform Comparison

Criteria OpenStack CloudStack OpenNebula Eucalyptus

Simple

Architecture

No Yes Yes No

Simple

Installation

No Yes Yes ?

Features the meet

the requirements

Yes Yes Yes Yes

Additional

Features which

help in expanding

the project

Yes Yes Yes No

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

• The choice of the deployment management tool in this system depends mainly on its ease of use, language support, and open source tool.

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

• This system will use Ansible in deploying scripts and configuration file

Deployment Management Tool

33

• A script is a list of operating system commands that are pre storedin a file and performed by the operating system.

• The script is installed with the OS image from the TFTP serverwhen any new node is installed.

• The script contains the command which will make the node act asa host node (or computing node) where the VMs will work on it.

• This script can be changed anytime if the infrastructure of thenetwork has changed.

Script Installation

34

System Integration

System Integration

New Node InstalledThe node is connected to network to be able to boot from network

Node Asks DHCP for IP address

DHCP replies with an IP and the address of TFTP

server

the Node asks TFTP server for an OS Image

installation through UDP

The TFTP server replies with the OS image with script to download the

private cloud on the node

The OS image and script is installed on the

node

Private cloud is installed on the node

Waiting for requests Create VMs Run the VM

THE END..

.. THANK YOU

• Q/A