cloudstack vs openstack vs eucalyptus: iaas private cloud brief comparison

37
CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Brief Comparison Daniel Kranowski Business Algorithms, LLC http://www.bizalgo.com October 1, 2012

Upload: bizalgo

Post on 22-Nov-2014

24.708 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack vs OpenStack vs Eucalyptus

IaaS Private Cloud Brief Comparison

Daniel KranowskiBusiness Algorithms, LLChttp://www.bizalgo.com

October 1, 2012

Page 2: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

public iaas private iaas

Page 3: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack Eucalyptus OpenStack

Architecture

Installation

Administration

Security

High Availability

Page 4: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 5: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Zone

Pod

Cluster

Host

Primary storage

Secondary storage

Page 6: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack installationBuild physical network, storage nodes, hypervisors

Unzip cloudstack .tar.gz, run install.sh(yum install cloudstack mysql)

Cloud-bridge RPM

Set up NFS shares (primary/secondary storage)

Download system & user templates

Database schema setup

UI-based cloud launch

See also http://www.bizalgo.com/2012/07/08/making-cloudstack-quick-install-quicker/

Page 7: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 8: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 9: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

ec2-add-keypair mykeyec2-add-group grp1ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0ec2-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1

ec2 APIscript

CloudBridge

(awsapi)?comand=createSSHKeyPair&name=mykey

?comand=createSecurityGroup&name=grp1

?comand=authorizeSecurityGroupIngress&securitygroupname=grp1&startport=22&endport=22&cidrList=0.0.0.0/0

?comand=deployVirtualMachine&serviceofferingid=m1smallid&templateid=ami123456id&zoneid=1&keypair=mykey&group=grp1

CloudStackREST API

Page 10: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

baseline security: VLAN/Firewall

VLAN 1

outgress

ingress

tenant1

VM

Customer

financials

virtualrouter

switch

VLAN 2

tenant2Marketing

apps

outgress

ingress

VMvirtu

al route

r

Page 11: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack high availability

CloudStack #1

CloudStack #2

CloudStack #3

mysql #2

VM

VM

VM

VM

dom0

Hypervisor

VM

VM

VM

VM

Primary storage

Secondarystorage

VM

VM

VM

VM

dom0

Hypervisor

VM

VM

VM

VM

mysql #1

Page 12: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack high availability

CloudStack #1

CloudStack #2

CloudStack #3

mysql #2

mysql #1

Load balancedmulti-nodeManagement Server

Replicated databasefor disaster recovery

Page 13: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack

Architecture Monolithic controller. Datacenter model, not object storage.

Installation Fewest parts to install. RPM needed.

Administration Good web UI; a belated script CLI

Security Baseline vlan/firewall vm protection

High Availability Load-balanced multi-node controller

Page 14: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 15: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Cloud Controller (CLC)

WalrusCloud

Cluster Controlle

r (CC)

Storage Controlle

r (SC)

Cluster(Availability Zone)

Node Controller

VM VM

Node Controller

VM VM

Node Controller

VM VMNodes

Page 16: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Object storage

Walrus S3

Block storage

Storage Controller (SC)

Elastic Block Storage (EBS)

Command line scripts

euca2oolsEC2 API tools

Page 17: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Eucalyptus installationBuild physical network, storage nodes, hypervisors

Open firewall ports on cloud component nodes

(CLC to Walrus, CC to NC, etc)

Setup yum/dpkg repositories (eucalyptus.repo)

RPM/apt-get installation of eucalyptus components

Configure eucalyptus.conf

euca_conf: create postgres db

Register components and arbitrators

HA: configure DRBD

Page 18: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Web UI does NOT control guest instances!

Use euca2ools CLI instead.

(Or RightScale/enStratus)

Page 19: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

ec2-add-keypair mykeyec2-add-group grp1ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0ec2-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1

ec2 APIscript

euca-add-keypair mykeyeuca-add-group grp1euca-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0euca-run-instances ami-123456 --instance-count 1

--instance-type m1.small --key mykey --group grp1

equivalent

euca2ool script

euca2ools

Page 20: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Eucalyptus security

The CloudStack baseline(VLAN, API PKI, VM SSH)

Component registration(since not monolithic)

…and…

Page 21: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Eucalyptus high availabilityPrimary/secondary CLC, Walrus, SC, CC

NC and VM instancesare disposable

Page 22: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Eucalyptus high availability

Failover, NOT load balancing

Eight controller machines at cloud/cluster level

Storage redundancy relies on SAN vendor

Arbitrators monitor connectivityto CLC, Walrus, CC

Page 23: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Eucalyptus

Architecture Five main components. AWS clone

Installation Nice RPM/DEB, still medium effort

Administration Strong CLI compatible with EC2 API

Security Baseline + component registration

High Availability Primary/secondary component failover

Page 24: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 25: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

nova-apirabbit-

mqnova-

compute

nova-volume

nova-network

nova-scheduler

VM

VM

VM

VM

VM

VM

hypervisor

swift-account

swift-container

swift-object

swift-proxy

glance-controlglance-registry

horizon

keystone: identity, token, catalog, policy

rdbms

OpenStack services

Page 26: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

OpenStack installationBuild physical network, storage nodes, hypervisors

KEYSTONE setup

Install keystone, reconfigure from sqlite to mysqlManually create keystone database, init the serviceDefine tenants, users, roles; run keystone-init.pyDefine swift filter in keystone.confPopulate keystone service catalog from databaseVerify keystone with openssl

GLANCE setup

Install glance, reconfigure from sqlite to mysqlManually create glance databaseConfigure glance-api-paste.ini, glance-registry.confPopulate glance database, restart servicesVerify glance by uploading a test image

NOVA setup

Install nova and dependenciesManually create nova databaseConfigure hypervisor, database, keystone in nova.confPopulate nova database, restart servicesCreate nova network bridge interface for guest vmsConfigure openrc file with CLI credentialsDownload real vm image, upload to glance registryDefine security group, keypair, start an instance

SWIFT STORAGE setup

Do the following for each storage node.Install swift account, container, objectMake XFS filesystem on each disk partitionConfigure rsyncConfigure swift account, container, object serversStart storage services

SWIFT PROXY setup

Install swift proxyCreate SSL certificateConfigure memcached to listen on proxy local ip addressConfigure keystone admin tokenCreate proxy server confRun swift ring builder for account, container, object ringsEnumerate storage devices on each ringVerify and rebalance the ringsStart proxy services

HORIZON setup

Install apache and horizon dashboardManually create horizon databasePopulate horizon databaseRestart services

Page 27: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Page 28: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

OpenStack administration

euca2ools work here!

OpenStack CLInova keypair-add --pub-key ~/.ssh/id_rsa.pub mykeynova secgroup-create grp1 "my security group"nova secgroup-add-rule grp1 tcp 22 22 192.168.1.1/0nova boot --flavor 2 --image f4addd24-4e8a-46bb-b15d-fae2591f1a35 --key_name mykey --security_group grp1 i-123456

euca-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1

Page 29: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Keystone security

clientservic

e

keystone

(1) authenticate (2) token

(3) service request with token

(4) check token (5) authorize

(6) authorized service response

Page 30: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

which services offer HA?

nova-apirabbit-

mqnova-

compute

nova-volume

nova-network

nova-scheduler

VM

VM

VM

VM

VM

VM

hypervisor

swift-account

swift-container

swift-object

swift-proxy

glance-controlglance-registry

horizon

keystone: identity, token, catalog, policy

rdbms

Page 31: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

which services offer HA?

rabbit-mq

nova-network

swift-container

swift-object

rdbms

Run one per hypervisor(i.e. you manage HA yourself)

"The Ring": disk replication(not redundant service pids)

swift-account

Page 32: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Swift: The Ring (HA)

ZONE

diskpartitio

npartitionpartitionpartition

diskpartitio

npartitionpartitionpartition

ZONE

diskpartitio

npartitionpartitionpartition

diskpartitio

npartitionpartitionpartition

object 12345

Three replicas ofeach object.

Page 33: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

OpenStack

Architecture Fragmented into lots of pieces

Installation Difficult: many choices, not enough automation

Administration Web UI, euca2ools, native CLI.

Security Baseline + Keystone

High Availability Swift Ring, otherwise manual effort

Page 34: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

summary

Page 35: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack Eucalyptus OpenStack

Architecture Monolithic 5 part, AWS Fragments

Installation Medium Medium Difficult

Administration UI, EC2 CLI EC2 CLI Multi CLI

Security Baseline Registered Keystone

High Availability LB multi 2x failover Swift only

Page 36: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

CloudStack vs OpenStack vs Eucalyptus

IaaS Private Cloud Brief Comparison

Daniel KranowskiBusiness Algorithms, LLChttp://www.bizalgo.com

October 1, 2012

Page 37: CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

This has been the brief version of a longer presentation on IaaS. For extra analysis regarding IaaS infrastructure, security, code, system compatibility and more, please

contact Daniel Kranowski.