automated deployment of private cloud (easycloud)akhayyat/files/coe485-151/design/private... ·...
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
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
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
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
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
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
Architecture Design• Alternative Architecture
• Comparison between Architectures
• Hardware/Software Components and its Function
21
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
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
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