SlideShare a Scribd company logo
CloudStack Scalability
Testing, Development, Results, and Futures
Apache CloudStack: a project in incubation

                       • Secure, multi-tenant cloud
                         orchestration platform
                         – Turnkey platform for delivering IaaS clouds
                         – Hypervisor agnostic
                         – Highly scalable, secure and open
                         – Complete Self-service portal
                         – Open source, open standards
                         – Deploys on premise
Manage hosts, create VMs, virtual disks, virtual
            Admin          networks, meter usage, ….
                                                    Internet
                    Management Server
                    Cluster

                               Primary
                                                          Router
                               MySQL
                                   Backup                 Load Balancer
                                   MySQL
                                                           L3 Core Switch
Top of Rack
     Switch



                                                                               Object Storage
  Servers
               …              …                …       …              …
                                                                            Availability Zone 1
            Pod 1          Pod 2            Pod 3                  Pod N
Thinking about cloud orchestration at scale
 • Host management
 • Capacity management
 • What host to use to deploy a
   new VM
 • Failure handling
 • Security group propagation
 • Set a goal
We can’t afford this as our QA lab
Simulator enables scale testing


                       Mgmt.
                       Server       Zone
 User API                                     MySQL
                                  Simulator
              Load     Mgmt.
            Balancer   Server
Admin API

                       Mgmt.    MySQL
                       Server

                       Mgmt.
                       Server
Environment
                         2 cores, 4 with Hyper
                       Threading. 2.2 GHz Xeon.
                           Mgmt.
                       16 GB RAM. 12 GB JVM
                           Server
                                Heap.
                                                  Zone
                                          Single spinning disk, later
                                                                  MySQL
 User API
                                          singleSimulator GB RAM.
                                                 SSD. 32
              Load         Mgmt.                 MySQL 5.5.
            Balancer       Server
Admin API

                           Mgmt.              MySQL
                           Server

                           Mgmt.
                           Server
5  scalability Cloudstack Developer Day
Allocator performance is awful with 1000 hosts
 • Two minutes to decide which host to use for a new VM!
    • Computing capacity for every pod repeatedly
 • Fixed that, but still 12 seconds to decide
 • Use host tags, down to 2 seconds
 • Major changes required to improve further
    • In 2.2.0, store capacity info in DB, skip pod altogether
 • Harness the power of SQL select and all is well
Polling doesn’t scale

 TRUE?              FALSE?
 Sometimes, it is good enough
Host management
• Check host state via TCP connection
• Check every minute
   • 30,000 checks per minute, 500 per second
   • But they take 10 seconds, so 5000 in parallel
   • Not using async I/O so 5000 threads required…
   • Single JVM can support 2000+ threads so this is
     concerning but may not be the limiting factor
Host management
• What is the maximum feasible JVM heap size?
   • Some people use heaps with hundreds of GB
   • Commercial tools can help, but cost
   • We decided to stay below 20 GB (GC concerns)
• How much CPU is required for background processing?
CPU utilization while deploying 30,000 VMs on 30,000 hosts
    CPU Utilization. 400% is maximum
                                       20,000
                                                  5000   5000



                                                                Idle




                                                Time
Deploy time from 25,000 to 30,000 VMs
  Seconds to deploy




                      VM number: 25,000 plus X
Problem: agent load balancing
  Mgmt        Mgmt      • Management servers
 Server 1    Server 2     start/stop/fail/crash
                        • How do newly started
                          Management Servers get
                          agents / work?
                        • When a Management Server
                          exits, how do others pick up its
                          load?
                        • When new hosts are added
                          how is the load distributed?
Common use case timings at scale
• 30,000 hosts and 4 Management Servers
• 4 Management Servers running, 1 fails: 10 minutes to
  redistribute 7500 agents
• 3 Management Servers running, add a fourth: 40 minutes to
  redistribute load evenly  IMPORTANT
• 0 Management Servers running, start all 4 simultaneously: 16
  minutes to connect to all 30,000 hosts
Understanding security groups



               Web                                 DB                                Web
               VM                                  VM                                VM
                          Web                                 DB
                        Security                            Security
              Web        Group                    Web        Group                    DB
              VM                                  VM                                  VM

          …                                   …                                  …
              Web                                 Web
              VM                                  VM


    Ingress Rule: Allow VMs in Web Security Group access to VMs in DB Security Group on Port 3306
L3 isolation with distributed firewalls
Public     Public IP address                                     Tenant   10.1.0.2
Internet   65.37.141.11                                          1 VM 1
           65.37.141.24                          10.1.0.1
                                      Pod 1 L2                   Tenant   10.1.0.3
           65.37.141.36
                                       Switch                    2 VM 1
           65.37.141.80
                                                                 Tenant   10.1.0.4
                                                                 1 VM 2
                           L3 Core
                                      Pod 2 L2
                                       Switch
                                                 10.1.8.1
                                                             …
                             Load     Pod 3 L2   10.1.16.1
                           Balancer    Switch



                                       …
L3 isolation with distributed firewalls
Public     Public IP address                                     Tenant   10.1.0.2
Internet   65.37.141.11                                          1 VM 1
           65.37.141.24                          10.1.0.1
                                      Pod 1 L2                   Tenant   10.1.0.3
           65.37.141.36
                                       Switch                    2 VM 1
           65.37.141.80
                                                                 Tenant   10.1.0.4
                                                                 1 VM 2
                           L3 Core
                                      Pod 2 L2
                                       Switch
                                                 10.1.8.1
                                                             …
                             Load     Pod 3 L2   10.1.16.1
                           Balancer    Switch



                                       …                         Tenant
                                                                 1 VM 3
                                                                          10.1.16.47

                                                                 Tenant
                                                                          10.1.16.85
                                                                 1 VM 4
L3 isolation with distributed firewalls
Public     Public IP address                                     Tenant   10.1.0.2
Internet   65.37.141.11                                          1 VM 1
           65.37.141.24                          10.1.0.1
                                      Pod 1 L2                   Tenant   10.1.0.3
           65.37.141.36
                                       Switch                    2 VM 1
           65.37.141.80
                                                                 Tenant   10.1.0.4
                                                                 1 VM 2
                           L3 Core
                                      Pod 2 L2
                                       Switch
                                                 10.1.8.1
                                                             …
                                                                 Tenant   10.1.16.12
                             Load     Pod 3 L2   10.1.16.1       2 VM 2
                           Balancer    Switch
                                                                 Tenant
                                                                          10.1.16.21
                                                                 2 VM 3


                                       …                         Tenant
                                                                 1 VM 3
                                                                          10.1.16.47

                                                                 Tenant
                                                                          10.1.16.85
                                                                 1 VM 4
One firewall per
Virtual Machine
One million firewalls?
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM
       …
       VM
       VM
              VM
              …
              VM
              VM
                         VM
                         …
                         VM
                         VM
                              VM
                              …
                              VM
                                   …   VM
                                       …
                                       VM
                              VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
       VM     VM         VM   VM
       …      …          …             VM
       VM     VM              …        …
                         VM   VM       VM
       VM     VM         VM   VM       VM
Orchestrating hundreds of thousands of firewalls

Well-known software scaling techniques
• Message queues
• Consistency tradeoffs
• Idempotent configuration & retries

CloudStack uses
• Special purpose queues
• Optimized for large security groups
• Eventual consistency for rule updates
Problem: firewall rules explosion in dom0

     Allow Security Group {Web} on TCP port 3060


     -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.16.31 – j ACCEPT
     -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.45.112 – j ACCEPT
     -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.189.5 – j ACCEPT
                               …
     -A FORWARD -m tcp –p tcp –dport 3060 –src 10.21.9.77 – j ACCEPT


      Performance suffers for large security groups
Problem: firewall rules explosion in dom0
Fix with ipsets:
   ipset –N web_sg iptreemap
   ipset –A web_sg 10.1.16.31
   ipset –A web_sg 10.1.16.112
   ipset –A web_sg 10.1.189.5

   ipset –A web_sg 10.21.9.77
              …
   -A FORWARD –p tcp –m tcp –dport 3060 –m set –match-set web_sg src -j ACCEPT



See also http://daemonkeeper.net/781/mass-blocking-ip-addresses-with-ipset/
Security group propagation time
   Seconds to fully synced




                             Number of VMs in security group
Problem: database connection management
• Scale testing resulted in several “too many open
  connections” errors from MySQL
• Common problem: holding open connections while
  doing long-running operations
• Took some code clean up and refactoring
• No longer an issue
   • MySQL supports 10,000 connections
   • CloudStack is far below that
DB connections per MS while deploying 30,000 VMs
                                     5,000
                                             5,000
 Number of DB connections



                            20,000




                                                 Time
Other considerations (beyond control plane)
• Network design and devices
• Object store scalability
• Per-host and cluster scalability
• Storage
• Understand your workload
Future work
• Improve simulator accuracy
• Publish results of advanced network (VLAN) testing
• Verify assumption of VM density not impacting scale
More information and joining the project

Project web site:
http://incubator.apache.org/projects/cloudstack.html

Mailing lists:
cloudstack-dev-subscribe@incubator.apache.org
cloudstack-users-subscribe@incubator.apache.org

Scalability study:
http://wiki.cloudstack.org/pages/viewpage.action?pageId=14320020
Q&A

More Related Content

What's hot (20)

PDF
21.10.09 Microsoft Event, Microsoft Presentation
dataplex systems limited
 
PDF
Oracle VM – the coolest virtualizator you’ve ever had
ORACLE USER GROUP ESTONIA
 
PPT
Scalable networking in Apache CloudStack
Chiradeep Vittal
 
PDF
Scvmm 2012 (maarten wijsman)
hypervnu
 
PPTX
Avnet & Rorke Data - Open Compute Summit '13
DaWane Wanek
 
PPSX
LinuxCon NA 2012: Virtualization in the cloud featuring xen
The Linux Foundation
 
PPTX
16 August 2012 - SWUG - Hyper-V in Windows 2012
Daniel Mar
 
PPT
Vmware
Majid Khan
 
PDF
Scale11x : Virtualization with Xen and XCP
Lars Kurth
 
PDF
Decisions behind hypervisor selection in CloudStack 4.3
Tim Mackey
 
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
PPTX
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Damir Bersinic
 
PPT
DevCloud and CloudMonkey
Sebastien Goasguen
 
PPTX
Xen server 6.1 customer presentation
Nuno Alves
 
PDF
What’s New in vCloud Director 5.1?
Eric Sloof
 
PDF
Tudor Damian - Hyper-V 3.0 overview
ITCamp
 
PPT
CloudStack and SDN
Sebastien Goasguen
 
PPTX
Windows Azure
Lai Yoong Seng
 
PDF
Mythbusting goes virtual What's new in vSphere 5.1
Eric Sloof
 
PPTX
Windows Server 2012 RC Hyper V
Lai Yoong Seng
 
21.10.09 Microsoft Event, Microsoft Presentation
dataplex systems limited
 
Oracle VM – the coolest virtualizator you’ve ever had
ORACLE USER GROUP ESTONIA
 
Scalable networking in Apache CloudStack
Chiradeep Vittal
 
Scvmm 2012 (maarten wijsman)
hypervnu
 
Avnet & Rorke Data - Open Compute Summit '13
DaWane Wanek
 
LinuxCon NA 2012: Virtualization in the cloud featuring xen
The Linux Foundation
 
16 August 2012 - SWUG - Hyper-V in Windows 2012
Daniel Mar
 
Vmware
Majid Khan
 
Scale11x : Virtualization with Xen and XCP
Lars Kurth
 
Decisions behind hypervisor selection in CloudStack 4.3
Tim Mackey
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
Prairie DevCon-What's New in Hyper-V in Windows Server "8" Beta - Part 2
Damir Bersinic
 
DevCloud and CloudMonkey
Sebastien Goasguen
 
Xen server 6.1 customer presentation
Nuno Alves
 
What’s New in vCloud Director 5.1?
Eric Sloof
 
Tudor Damian - Hyper-V 3.0 overview
ITCamp
 
CloudStack and SDN
Sebastien Goasguen
 
Windows Azure
Lai Yoong Seng
 
Mythbusting goes virtual What's new in vSphere 5.1
Eric Sloof
 
Windows Server 2012 RC Hyper V
Lai Yoong Seng
 

Viewers also liked (6)

PDF
Cello saas scalability architecture
Techcello
 
PPTX
Webinar How to Achieve True Scalability in SaaS Applications
Techcello
 
PPTX
Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...
Techcello
 
DOCX
Data Warehouse Modernization Webinar Series- Critical Trends, Implementation ...
Impetus Technologies
 
PDF
SaaS Introduction-May2014
Nguyen Tung
 
PDF
Future-Proof Your Streaming Analytics Architecture- StreamAnalytix Webinar
Impetus Technologies
 
Cello saas scalability architecture
Techcello
 
Webinar How to Achieve True Scalability in SaaS Applications
Techcello
 
Webinar Series Part 2 -Recipe for a Successful SaaS Company - Migrating Sing...
Techcello
 
Data Warehouse Modernization Webinar Series- Critical Trends, Implementation ...
Impetus Technologies
 
SaaS Introduction-May2014
Nguyen Tung
 
Future-Proof Your Streaming Analytics Architecture- StreamAnalytix Webinar
Impetus Technologies
 
Ad

Similar to 5 scalability Cloudstack Developer Day (20)

PDF
CloudStack Architecture Future
Kimihiko Kitase
 
PPTX
Cloud stack overview
gavin_lee
 
PPTX
Xen and Apache cloudstack
The Linux Foundation
 
PPT
CloudStack Intro NYC
ke4qqq
 
PPT
10 Minute Overview of Apache CloudStack
ke4qqq
 
PDF
1 Introduction at CloudStack Developer Day
Kimihiko Kitase
 
PPTX
CloudStack technical overview
CloudStack - Open Source Cloud Computing Project
 
PDF
Eucalyptus 3 Product Overview
Eucalyptus Systems, Inc.
 
PPTX
What is cloud computing
Brian Bullard
 
PDF
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
tcloudcomputing-tw
 
PDF
Eucalyptus 3 Product Overview
Eucalyptus Systems, Inc.
 
PPTX
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
bizalgo
 
PPTX
System Center Virtual Machine Manager 2008 R2
aralves
 
PPTX
Improvements in Failover Clustering in Windows Server 2012
Microsoft TechNet - Belgium and Luxembourg
 
PDF
Virtualization: Hyper-V, VMM, App-V and MED-V.
Microsoft Iceland
 
PPTX
Network Management in System Center 2012 SP1 - VMM
Microsoft TechNet - Belgium and Luxembourg
 
KEY
OpenStack Boston User Group, OpenStack overview
Open Stack
 
ZIP
EMEA OpenStack Day Intro, July 13th 2011 in London
Mark Collier
 
PPTX
Integrate 3rd party security solution into CloudStack
mice_xia
 
CloudStack Architecture Future
Kimihiko Kitase
 
Cloud stack overview
gavin_lee
 
Xen and Apache cloudstack
The Linux Foundation
 
CloudStack Intro NYC
ke4qqq
 
10 Minute Overview of Apache CloudStack
ke4qqq
 
1 Introduction at CloudStack Developer Day
Kimihiko Kitase
 
Eucalyptus 3 Product Overview
Eucalyptus Systems, Inc.
 
What is cloud computing
Brian Bullard
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
tcloudcomputing-tw
 
Eucalyptus 3 Product Overview
Eucalyptus Systems, Inc.
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
bizalgo
 
System Center Virtual Machine Manager 2008 R2
aralves
 
Improvements in Failover Clustering in Windows Server 2012
Microsoft TechNet - Belgium and Luxembourg
 
Virtualization: Hyper-V, VMM, App-V and MED-V.
Microsoft Iceland
 
Network Management in System Center 2012 SP1 - VMM
Microsoft TechNet - Belgium and Luxembourg
 
OpenStack Boston User Group, OpenStack overview
Open Stack
 
EMEA OpenStack Day Intro, July 13th 2011 in London
Mark Collier
 
Integrate 3rd party security solution into CloudStack
mice_xia
 
Ad

More from Kimihiko Kitase (20)

PDF
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
Kimihiko Kitase
 
PDF
クラウドにおけるビッグデータ分析環境
Kimihiko Kitase
 
PDF
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
Kimihiko Kitase
 
PDF
Hortonworksが提供する データ活用方法の紹介
Kimihiko Kitase
 
PDF
Hadoop Summit 2016 San Jose レポート
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Community Festa 2016 Program Guide
Kimihiko Kitase
 
PDF
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
 
PDF
2016年冬 IBMクラウド最新動向
Kimihiko Kitase
 
PDF
クラウドを活用した システム開発は適材適所
Kimihiko Kitase
 
PDF
Try IoT with Node-RED
Kimihiko Kitase
 
PDF
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
Kimihiko Kitase
 
PDF
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
 
PDF
SoftLayer最新動向と賢い利用方法
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Intro
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Summit 2015 Flyer
Kimihiko Kitase
 
PDF
OSC15 Okinawa Intro SoftLayer and Bluemix
Kimihiko Kitase
 
PDF
Introduction of public cloud softlayer and bluemix
Kimihiko Kitase
 
PDF
SoftLayer Bluemix Summit 2015
Kimihiko Kitase
 
PDF
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
Kimihiko Kitase
 
PDF
Introduction softlayer and bluemix
Kimihiko Kitase
 
ライトプランで利用可能な分析基盤「IBM Analytics Engine (IAE)」とは
Kimihiko Kitase
 
クラウドにおけるビッグデータ分析環境
Kimihiko Kitase
 
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
Kimihiko Kitase
 
Hortonworksが提供する データ活用方法の紹介
Kimihiko Kitase
 
Hadoop Summit 2016 San Jose レポート
Kimihiko Kitase
 
SoftLayer Bluemix Community Festa 2016 Program Guide
Kimihiko Kitase
 
2016年冬 IBMクラウド最新動向と概要
Kimihiko Kitase
 
2016年冬 IBMクラウド最新動向
Kimihiko Kitase
 
クラウドを活用した システム開発は適材適所
Kimihiko Kitase
 
Try IoT with Node-RED
Kimihiko Kitase
 
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
Kimihiko Kitase
 
話題のNode-REDでIoTアプリを作ってみよう
Kimihiko Kitase
 
SoftLayer最新動向と賢い利用方法
Kimihiko Kitase
 
SoftLayer Bluemix Intro
Kimihiko Kitase
 
SoftLayer Bluemix Summit 2015 Flyer
Kimihiko Kitase
 
OSC15 Okinawa Intro SoftLayer and Bluemix
Kimihiko Kitase
 
Introduction of public cloud softlayer and bluemix
Kimihiko Kitase
 
SoftLayer Bluemix Summit 2015
Kimihiko Kitase
 
クラウドに構築したWebサイトのセキュリティ対策やグローバル展開について
Kimihiko Kitase
 
Introduction softlayer and bluemix
Kimihiko Kitase
 

Recently uploaded (20)

PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
July Patch Tuesday
Ivanti
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 

5 scalability Cloudstack Developer Day

  • 2. Apache CloudStack: a project in incubation • Secure, multi-tenant cloud orchestration platform – Turnkey platform for delivering IaaS clouds – Hypervisor agnostic – Highly scalable, secure and open – Complete Self-service portal – Open source, open standards – Deploys on premise
  • 3. Manage hosts, create VMs, virtual disks, virtual Admin networks, meter usage, …. Internet Management Server Cluster Primary Router MySQL Backup Load Balancer MySQL L3 Core Switch Top of Rack Switch Object Storage Servers … … … … … Availability Zone 1 Pod 1 Pod 2 Pod 3 Pod N
  • 4. Thinking about cloud orchestration at scale • Host management • Capacity management • What host to use to deploy a new VM • Failure handling • Security group propagation • Set a goal
  • 5. We can’t afford this as our QA lab
  • 6. Simulator enables scale testing Mgmt. Server Zone User API MySQL Simulator Load Mgmt. Balancer Server Admin API Mgmt. MySQL Server Mgmt. Server
  • 7. Environment 2 cores, 4 with Hyper Threading. 2.2 GHz Xeon. Mgmt. 16 GB RAM. 12 GB JVM Server Heap. Zone Single spinning disk, later MySQL User API singleSimulator GB RAM. SSD. 32 Load Mgmt. MySQL 5.5. Balancer Server Admin API Mgmt. MySQL Server Mgmt. Server
  • 9. Allocator performance is awful with 1000 hosts • Two minutes to decide which host to use for a new VM! • Computing capacity for every pod repeatedly • Fixed that, but still 12 seconds to decide • Use host tags, down to 2 seconds • Major changes required to improve further • In 2.2.0, store capacity info in DB, skip pod altogether • Harness the power of SQL select and all is well
  • 10. Polling doesn’t scale TRUE? FALSE? Sometimes, it is good enough
  • 11. Host management • Check host state via TCP connection • Check every minute • 30,000 checks per minute, 500 per second • But they take 10 seconds, so 5000 in parallel • Not using async I/O so 5000 threads required… • Single JVM can support 2000+ threads so this is concerning but may not be the limiting factor
  • 12. Host management • What is the maximum feasible JVM heap size? • Some people use heaps with hundreds of GB • Commercial tools can help, but cost • We decided to stay below 20 GB (GC concerns) • How much CPU is required for background processing?
  • 13. CPU utilization while deploying 30,000 VMs on 30,000 hosts CPU Utilization. 400% is maximum 20,000 5000 5000 Idle Time
  • 14. Deploy time from 25,000 to 30,000 VMs Seconds to deploy VM number: 25,000 plus X
  • 15. Problem: agent load balancing Mgmt Mgmt • Management servers Server 1 Server 2 start/stop/fail/crash • How do newly started Management Servers get agents / work? • When a Management Server exits, how do others pick up its load? • When new hosts are added how is the load distributed?
  • 16. Common use case timings at scale • 30,000 hosts and 4 Management Servers • 4 Management Servers running, 1 fails: 10 minutes to redistribute 7500 agents • 3 Management Servers running, add a fourth: 40 minutes to redistribute load evenly IMPORTANT • 0 Management Servers running, start all 4 simultaneously: 16 minutes to connect to all 30,000 hosts
  • 17. Understanding security groups Web DB Web VM VM VM Web DB Security Security Web Group Web Group DB VM VM VM … … … Web Web VM VM Ingress Rule: Allow VMs in Web Security Group access to VMs in DB Security Group on Port 3306
  • 18. L3 isolation with distributed firewalls Public Public IP address Tenant 10.1.0.2 Internet 65.37.141.11 1 VM 1 65.37.141.24 10.1.0.1 Pod 1 L2 Tenant 10.1.0.3 65.37.141.36 Switch 2 VM 1 65.37.141.80 Tenant 10.1.0.4 1 VM 2 L3 Core Pod 2 L2 Switch 10.1.8.1 … Load Pod 3 L2 10.1.16.1 Balancer Switch …
  • 19. L3 isolation with distributed firewalls Public Public IP address Tenant 10.1.0.2 Internet 65.37.141.11 1 VM 1 65.37.141.24 10.1.0.1 Pod 1 L2 Tenant 10.1.0.3 65.37.141.36 Switch 2 VM 1 65.37.141.80 Tenant 10.1.0.4 1 VM 2 L3 Core Pod 2 L2 Switch 10.1.8.1 … Load Pod 3 L2 10.1.16.1 Balancer Switch … Tenant 1 VM 3 10.1.16.47 Tenant 10.1.16.85 1 VM 4
  • 20. L3 isolation with distributed firewalls Public Public IP address Tenant 10.1.0.2 Internet 65.37.141.11 1 VM 1 65.37.141.24 10.1.0.1 Pod 1 L2 Tenant 10.1.0.3 65.37.141.36 Switch 2 VM 1 65.37.141.80 Tenant 10.1.0.4 1 VM 2 L3 Core Pod 2 L2 Switch 10.1.8.1 … Tenant 10.1.16.12 Load Pod 3 L2 10.1.16.1 2 VM 2 Balancer Switch Tenant 10.1.16.21 2 VM 3 … Tenant 1 VM 3 10.1.16.47 Tenant 10.1.16.85 1 VM 4
  • 22. One million firewalls? VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM … VM VM VM … VM VM VM … VM VM VM … VM … VM … VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM VM VM VM VM … … … VM VM VM … … VM VM VM VM VM VM VM VM
  • 23. Orchestrating hundreds of thousands of firewalls Well-known software scaling techniques • Message queues • Consistency tradeoffs • Idempotent configuration & retries CloudStack uses • Special purpose queues • Optimized for large security groups • Eventual consistency for rule updates
  • 24. Problem: firewall rules explosion in dom0 Allow Security Group {Web} on TCP port 3060 -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.16.31 – j ACCEPT -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.45.112 – j ACCEPT -A FORWARD -m tcp –p tcp –dport 3060 –src 10.1.189.5 – j ACCEPT … -A FORWARD -m tcp –p tcp –dport 3060 –src 10.21.9.77 – j ACCEPT Performance suffers for large security groups
  • 25. Problem: firewall rules explosion in dom0 Fix with ipsets: ipset –N web_sg iptreemap ipset –A web_sg 10.1.16.31 ipset –A web_sg 10.1.16.112 ipset –A web_sg 10.1.189.5 ipset –A web_sg 10.21.9.77 … -A FORWARD –p tcp –m tcp –dport 3060 –m set –match-set web_sg src -j ACCEPT See also http://daemonkeeper.net/781/mass-blocking-ip-addresses-with-ipset/
  • 26. Security group propagation time Seconds to fully synced Number of VMs in security group
  • 27. Problem: database connection management • Scale testing resulted in several “too many open connections” errors from MySQL • Common problem: holding open connections while doing long-running operations • Took some code clean up and refactoring • No longer an issue • MySQL supports 10,000 connections • CloudStack is far below that
  • 28. DB connections per MS while deploying 30,000 VMs 5,000 5,000 Number of DB connections 20,000 Time
  • 29. Other considerations (beyond control plane) • Network design and devices • Object store scalability • Per-host and cluster scalability • Storage • Understand your workload
  • 30. Future work • Improve simulator accuracy • Publish results of advanced network (VLAN) testing • Verify assumption of VM density not impacting scale
  • 31. More information and joining the project Project web site: http://incubator.apache.org/projects/cloudstack.html Mailing lists: [email protected] [email protected] Scalability study: http://wiki.cloudstack.org/pages/viewpage.action?pageId=14320020
  • 32. Q&A