SlideShare a Scribd company logo
1 of 37
Download to read offline
CloudStack vs OpenStack vs
        Eucalyptus
  IaaS Private Cloud Brief Comparison



               Daniel Kranowski
           Business Algorithms, LLC
           http://www.bizalgo.com
               October 1, 2012
public iaas   private iaas
CloudStack Eucalyptus OpenStack

Architecture

Installation

Administration

Security

High Availability
Zone
   Pod
   Cluster
   Host

   Primary storage

Secondary storage
CloudStack installation
Build 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/
ec2-add-keypair mykey
         ec2 API    ec2-add-group grp1
           script   ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0
                    ec2-run-instances ami-123456 --instance-count 1
                    --instance-type m1.small --key mykey --group grp1


CloudBridge
   (awsapi)
                    ?comand=createSSHKeyPair&name=mykey
                    ?comand=createSecurityGroup&name=grp1
                    ?comand=authorizeSecurityGroupIngress
                    &securitygroupname=grp1
                    &startport=22&endport=22&cidrList=0.0.0.0/0
      CloudStack    ?comand=deployVirtualMachine
                    &serviceofferingid=m1smallid&templateid=ami123456id
       REST API     &zoneid=1&keypair=mykey&group=grp1
baseline security: VLAN/Firewall

             ingress                                      ingress
                        virtual                 virtual
  VM         outgress   router                  router    outgress     VM

 tenant1                                                              tenant2
Customer                   VLAN 1            VLAN 2                  Marketing
financials                                                              apps


                                    switch
CloudStack high availability
                            Hypervisor             Hypervisor
               CloudStack
                   #1         dom0                   dom0
mysql                          VM                     VM
 #1
                               VM                     VM
               CloudStack      VM                     VM
                   #2          VM                     VM
                               VM                     VM
mysql
                               VM                     VM
 #2
               CloudStack      VM                     VM
                   #3          VM                     VM



        Secondary                        Primary
         storage                         storage
CloudStack high availability
        CloudStack
            #1       Load balanced
mysql
 #1
                     multi-node
        CloudStack
                     Management Server
            #2
mysql
 #2                  Replicated database
        CloudStack   for disaster recovery
            #3
CloudStack
                    Monolithic controller. Datacenter
Architecture
                    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
Cloud
Cloud                      Controller                 Walrus
                             (CLC)


                            Cluster                   Storage
Cluster                    Controller                Controller
(Availability Zone)
                             (CC)                       (SC)


                      VM      VM    VM          VM        VM       VM
Nodes
                        Node              Node               Node
                      Controller        Controller         Controller
Object storage   Walrus       S3


                 Storage      Elastic Block
Block storage    Controller   Storage
                 (SC)         (EBS)


Command line                  EC2 API
                 euca2ools
scripts                       tools
Eucalyptus installation
Build 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
Web UI does NOT control
   guest instances!

Use euca2ools CLI instead.

   (Or RightScale/enStratus)
ec2-add-keypair mykey
  ec2 API     ec2-add-group grp1
              ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0
    script    ec2-run-instances ami-123456 --instance-count 1
              --instance-type m1.small --key mykey --group grp1



                     euca2ools

              euca-add-keypair mykey
equivalent    euca-add-group grp1
 euca2ool     euca-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0

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

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

          …and…

 Component registration
    (since not monolithic)
Eucalyptus high availability
  Primary/secondary CLC, Walrus, SC, CC




                                 NC and VM instances
                                       are disposable
Eucalyptus high availability




         Failover, NOT load balancing
Eight controller machines at cloud/cluster level
  Storage redundancy relies on SAN vendor
       Arbitrators monitor connectivity
              to CLC, Walrus, CC
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
                    Primary/secondary component
High Availability
                    failover
OpenStack services
                              horizon


                                        hypervisor        swift-account
                   nova-api
                                           VM         swift-container
rabbit-mq       nova-compute
                                           VM
                                                           swift-object
                 nova-volume               VM
                                           VM              swift-proxy
                nova-network
 rdbms                                     VM
               nova-scheduler                             glance-control
                                           VM
                                                      glance-registry

             keystone: identity, token, catalog, policy
OpenStack installation
Build physical network, storage nodes, hypervisors      SWIFT STORAGE setup

KEYSTONE setup                                          Do the following for each storage node.
                                                        Install swift account, container, object
Install keystone, reconfigure from sqlite to mysql      Make XFS filesystem on each disk partition
Manually create keystone database, init the service     Configure rsync
Define tenants, users, roles; run keystone-init.py      Configure swift account, container, object servers
Define swift filter in keystone.conf                    Start storage services
Populate keystone service catalog from database
Verify keystone with openssl                            SWIFT PROXY setup

GLANCE setup                                            Install swift proxy
                                                        Create SSL certificate
Install glance, reconfigure from sqlite to mysql        Configure memcached to listen on proxy local ip address
Manually create glance database                         Configure keystone admin token
Configure glance-api-paste.ini, glance-registry.conf    Create proxy server conf
Populate glance database, restart services              Run swift ring builder for account, container, object
Verify glance by uploading a test image                 rings
                                                        Enumerate storage devices on each ring
NOVA setup                                              Verify and rebalance the rings
                                                        Start proxy services
Install nova and dependencies
Manually create nova database                           HORIZON setup
Configure hypervisor, database, keystone in nova.conf
Populate nova database, restart services                Install apache and horizon dashboard
Create nova network bridge interface for guest vms      Manually create horizon database
Configure openrc file with CLI credentials              Populate horizon database
Download real vm image, upload to glance registry       Restart services
Define security group, keypair, start an instance
OpenStack administration
      euca2ools work here!
 euca-run-instances ami-123456 --instance-count 1
 --instance-type m1.small --key mykey --group grp1



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

                                  (3) service request with token

                   client                                             service
                                  (6) authorized service response


(1) authenticate            (2) token                   (4) check token     (5) authorize




                                             keystone
which services offer HA?
                             horizon


                                       hypervisor        swift-account
                  nova-api
                                          VM         swift-container
rabbit-mq      nova-compute
                                          VM
                                                          swift-object
                nova-volume               VM
                                          VM              swift-proxy
               nova-network
 rdbms                                    VM
              nova-scheduler                             glance-control
                                          VM
                                                     glance-registry

            keystone: identity, token, catalog, policy
which services offer HA?


                                                       swift-account

rabbit-mq                                             swift-container

                                                        swift-object


                 nova-network
 rdbms                                       "The Ring": disk replication
                                            (not redundant service pids)

            Run one per hypervisor
            (i.e. you manage HA yourself)
Swift: The Ring (HA)
                      disk        disk
                    partition   partition   Z
                    partition   partition   O
                    partition   partition   N
                    partition   partition   E


object 12345          disk        disk
                    partition   partition   Z
Three replicas of   partition   partition   O
each object.        partition   partition   N
                    partition   partition   E
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
summary
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
CloudStack vs OpenStack vs
        Eucalyptus
  IaaS Private Cloud Brief Comparison



               Daniel Kranowski
           Business Algorithms, LLC
           http://www.bizalgo.com
               October 1, 2012
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.

More Related Content

What's hot

Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Kangaroot
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingJoe Huang
 
Palo alto networks product overview
Palo alto networks product overviewPalo alto networks product overview
Palo alto networks product overviewBelsoft
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentationaleyeldean
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusAshok Kumar
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them AllTim Fairweather
 
Kuberenetes - From Zero to Hero
Kuberenetes  - From Zero to HeroKuberenetes  - From Zero to Hero
Kuberenetes - From Zero to HeroOri Stoliar
 
What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...Shashi soni
 
An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017Haim Ateya
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzanoMichel Schildmeijer
 
Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Mark Maclean
 

What's hot (20)

Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
Palo alto networks product overview
Palo alto networks product overviewPalo alto networks product overview
Palo alto networks product overview
 
Active Directory Training
Active Directory TrainingActive Directory Training
Active Directory Training
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentation
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
OpenStack Glance
OpenStack GlanceOpenStack Glance
OpenStack Glance
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
VMware vSphere
VMware vSphereVMware vSphere
VMware vSphere
 
Kuberenetes - From Zero to Hero
Kuberenetes  - From Zero to HeroKuberenetes  - From Zero to Hero
Kuberenetes - From Zero to Hero
 
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
 
What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...What is Virtualization and its types & Techniques.What is hypervisor and its ...
What is Virtualization and its types & Techniques.What is hypervisor and its ...
 
Ansible
AnsibleAnsible
Ansible
 
An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017An Intrudction to OpenStack 2017
An Intrudction to OpenStack 2017
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzano
 
Active directory backup
Active directory backupActive directory backup
Active directory backup
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3
 

Similar to CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Comparison

Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppetbuildacloud
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyPuppet
 
Nova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsNova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsopenstackindia
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012Dan Wendlandt
 
Am 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalAm 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalOpenCity Community
 
Openstack Diablo Survey
Openstack Diablo SurveyOpenstack Diablo Survey
Openstack Diablo SurveyPjack Chen
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia Jaesuk Ahn
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture FutureKimihiko Kitase
 
Comparison between VMware and Open Stack Cloud
Comparison between VMware and Open Stack CloudComparison between VMware and Open Stack Cloud
Comparison between VMware and Open Stack CloudSaeed Siddik
 
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"PROIDEA
 
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDocker, Inc.
 
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...NETWAYS
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Davide Benvegnù
 
Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)hypervnu
 
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionTrilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionDevOps.com
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
Protect your app from Outages
Protect your app from OutagesProtect your app from Outages
Protect your app from OutagesRon Zavner
 

Similar to CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Comparison (20)

Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David Nalley
 
Nova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsNova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute models
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
Am 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalAm 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-final
 
Openstack Diablo Survey
Openstack Diablo SurveyOpenstack Diablo Survey
Openstack Diablo Survey
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Building FOSS clouds
Building FOSS cloudsBuilding FOSS clouds
Building FOSS clouds
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture Future
 
Comparison between VMware and Open Stack Cloud
Comparison between VMware and Open Stack CloudComparison between VMware and Open Stack Cloud
Comparison between VMware and Open Stack Cloud
 
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"
infraxstructure: Stas Levitan, "Always On" business in cloud - 2016"
 
Resume_new
Resume_newResume_new
Resume_new
 
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
 
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...
OSDC 2019 | KubeVirt: Converge IT infrastructure into one single Kubernetes p...
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
 
Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)
 
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionTrilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
Protect your app from Outages
Protect your app from OutagesProtect your app from Outages
Protect your app from Outages
 

CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Comparison

  • 1. CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Brief Comparison Daniel Kranowski Business Algorithms, LLC http://www.bizalgo.com October 1, 2012
  • 2. public iaas private iaas
  • 4.
  • 5. Zone Pod Cluster Host Primary storage Secondary storage
  • 6. CloudStack installation Build 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/
  • 7.
  • 8.
  • 9. ec2-add-keypair mykey ec2 API ec2-add-group grp1 script ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0 ec2-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1 CloudBridge (awsapi) ?comand=createSSHKeyPair&name=mykey ?comand=createSecurityGroup&name=grp1 ?comand=authorizeSecurityGroupIngress &securitygroupname=grp1 &startport=22&endport=22&cidrList=0.0.0.0/0 CloudStack ?comand=deployVirtualMachine &serviceofferingid=m1smallid&templateid=ami123456id REST API &zoneid=1&keypair=mykey&group=grp1
  • 10. baseline security: VLAN/Firewall ingress ingress virtual virtual VM outgress router router outgress VM tenant1 tenant2 Customer VLAN 1 VLAN 2 Marketing financials apps switch
  • 11. CloudStack high availability Hypervisor Hypervisor CloudStack #1 dom0 dom0 mysql VM VM #1 VM VM CloudStack VM VM #2 VM VM VM VM mysql VM VM #2 CloudStack VM VM #3 VM VM Secondary Primary storage storage
  • 12. CloudStack high availability CloudStack #1 Load balanced mysql #1 multi-node CloudStack Management Server #2 mysql #2 Replicated database CloudStack for disaster recovery #3
  • 13. CloudStack Monolithic controller. Datacenter Architecture 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
  • 14.
  • 15. Cloud Cloud Controller Walrus (CLC) Cluster Storage Cluster Controller Controller (Availability Zone) (CC) (SC) VM VM VM VM VM VM Nodes Node Node Node Controller Controller Controller
  • 16. Object storage Walrus S3 Storage Elastic Block Block storage Controller Storage (SC) (EBS) Command line EC2 API euca2ools scripts tools
  • 17. Eucalyptus installation Build 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
  • 18. Web UI does NOT control guest instances! Use euca2ools CLI instead. (Or RightScale/enStratus)
  • 19. ec2-add-keypair mykey ec2 API ec2-add-group grp1 ec2-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0 script ec2-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1 euca2ools euca-add-keypair mykey equivalent euca-add-group grp1 euca2ool euca-authorize grp1 -P tcp -p 22 -s 0.0.0.0/0 script euca-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1
  • 20. Eucalyptus security The CloudStack baseline (VLAN, API PKI, VM SSH) …and… Component registration (since not monolithic)
  • 21. Eucalyptus high availability Primary/secondary CLC, Walrus, SC, CC NC and VM instances are disposable
  • 22. Eucalyptus high availability Failover, NOT load balancing Eight controller machines at cloud/cluster level Storage redundancy relies on SAN vendor Arbitrators monitor connectivity to CLC, Walrus, CC
  • 23. 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 Primary/secondary component High Availability failover
  • 24.
  • 25. OpenStack services horizon hypervisor swift-account nova-api VM swift-container rabbit-mq nova-compute VM swift-object nova-volume VM VM swift-proxy nova-network rdbms VM nova-scheduler glance-control VM glance-registry keystone: identity, token, catalog, policy
  • 26. OpenStack installation Build physical network, storage nodes, hypervisors SWIFT STORAGE setup KEYSTONE setup Do the following for each storage node. Install swift account, container, object Install keystone, reconfigure from sqlite to mysql Make XFS filesystem on each disk partition Manually create keystone database, init the service Configure rsync Define tenants, users, roles; run keystone-init.py Configure swift account, container, object servers Define swift filter in keystone.conf Start storage services Populate keystone service catalog from database Verify keystone with openssl SWIFT PROXY setup GLANCE setup Install swift proxy Create SSL certificate Install glance, reconfigure from sqlite to mysql Configure memcached to listen on proxy local ip address Manually create glance database Configure keystone admin token Configure glance-api-paste.ini, glance-registry.conf Create proxy server conf Populate glance database, restart services Run swift ring builder for account, container, object Verify glance by uploading a test image rings Enumerate storage devices on each ring NOVA setup Verify and rebalance the rings Start proxy services Install nova and dependencies Manually create nova database HORIZON setup Configure hypervisor, database, keystone in nova.conf Populate nova database, restart services Install apache and horizon dashboard Create nova network bridge interface for guest vms Manually create horizon database Configure openrc file with CLI credentials Populate horizon database Download real vm image, upload to glance registry Restart services Define security group, keypair, start an instance
  • 27.
  • 28. OpenStack administration euca2ools work here! euca-run-instances ami-123456 --instance-count 1 --instance-type m1.small --key mykey --group grp1 OpenStack CLI nova keypair-add --pub-key ~/.ssh/id_rsa.pub mykey nova secgroup-create grp1 "my security group" nova secgroup-add-rule grp1 tcp 22 22 192.168.1.1/0 nova boot --flavor 2 --image f4addd24-4e8a-46bb- b15d-fae2591f1a35 --key_name mykey --security_group grp1 i-123456
  • 29. Keystone security (3) service request with token client service (6) authorized service response (1) authenticate (2) token (4) check token (5) authorize keystone
  • 30. which services offer HA? horizon hypervisor swift-account nova-api VM swift-container rabbit-mq nova-compute VM swift-object nova-volume VM VM swift-proxy nova-network rdbms VM nova-scheduler glance-control VM glance-registry keystone: identity, token, catalog, policy
  • 31. which services offer HA? swift-account rabbit-mq swift-container swift-object nova-network rdbms "The Ring": disk replication (not redundant service pids) Run one per hypervisor (i.e. you manage HA yourself)
  • 32. Swift: The Ring (HA) disk disk partition partition Z partition partition O partition partition N partition partition E object 12345 disk disk partition partition Z Three replicas of partition partition O each object. partition partition N partition partition E
  • 33. 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
  • 35. 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
  • 36. CloudStack vs OpenStack vs Eucalyptus IaaS Private Cloud Brief Comparison Daniel Kranowski Business Algorithms, LLC http://www.bizalgo.com October 1, 2012
  • 37. 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.

Editor's Notes

  1. http://docs.openstack.org/trunk/openstack-compute/admin/content/existing-ha-networking-options.html