SlideShare a Scribd company logo
Apache CloudStack:
  From API to UI
      Joe Brockmeier
PMC Member Apache CloudStack
        jzb@apache.org
  Twitter: @jzb | Freenode: jzb
Five Six Characteristics of Clouds
•   On-Demand Self-Service
•   Broad Network Access
•   Resource Pooling
•   Rapid Elasticity
•   Measured Service
•   API Access
Cloud Service Models
     USER CLOUD a.k.a. SOFTWARE AS A SERVICE

     Single application, multi-tenancy, network-based, one-to-many delivery of
     applications, all users have same access to features.

     Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL

     DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE

     Application developer model, Application deployed to an elastic service that
     autoscales, low administrative overhead. No concept of virtual machines or
     operating system. Code it and deploy it.

     Examples: VMware CloudFoundry, Google AppEngine, Windows Azure,
     Rackspace Sites, Red Hat OpenShift, Active State Stackato, Appfog

     SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE

     Servers and storage are made available in a scalable way over a network.

     Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack,
     Eucalyptus, OpenNebula
Deployment Models
What is Apache CloudStack?
• Open Source (Apache-Licensed) IaaS
• Community of Users and Providers
• Written in Java*
• Provides a Turn-Key “Stack” for Running
  Public, Private, or Hybrid Clouds
• Hypervisor Agnostic*
• Time-Based Releases
In the beginning…
• Started as VMOps Cloud Stack (2008)
• Became Cloud.com in 2010
• Released CloudStack under GPLv3 – but Open
  Core (May 2010)
• Acquired by Citrix (July 2011)
• Entirely Open Source (August 2011)
Going to Apache
• Relicensed & Proposed to Apache (April 3,
  2012)
• Accepted as an Incubating Project (April 16,
  2012)
• First Major Release, 4.0.0-incubating
  (November 6, 2012)
• First Minor Release, 4.0.1-incubating
  (February 12, 2013)
Why Apache?
•   Known and Proven Governance Model
•   Active Mentoring of New Projects
•   100% Community-Driven
•   More than 3,000 Developers
•   Many Successful Projects: Apache HTTPD,
    Tomcat, Hadoop, Cassandra, Lucene, etc.
Apache Process
• 100% Community-Driven
• “If It Didn’t Happen on the Mailing List…”
• Clear Governance (PPMC, Committer,
  Contributor, etc.)
• Community Over Code
• Rigorous Attention to Licenses
• Can Seem Bureaucratic
Results!
What CloudStack Provides
Hypervisor Support
•   KVM
•   XenServer
•   Xen Cloud Platform
•   VMware via vCenter
•   Bare Metal via IPMI
CloudStack Terminology
           • Zone: Availability zone, aka
             Regions. Could be worldwide.
             Different data centers
           • Pods: Racks or aisles in a data
             center
           • Clusters: Group of machines
             with a common type of
             Hypervisor
           • Host: A Single server
           • Primary Storage: Shared
             storage across a cluster
           • Secondary Storage: Shared
             storage in a single Zone
CloudStack Architecture
                                        Internet          Hypervisor is the basic unit of
   CloudStack
  Management                                               scale.
     Server
Zone 1                                                    Cluster consists of one ore
                                                           more hosts of same hypervisor
                      L3 core
                                                          All hosts in cluster have access
                                                           to shared (primary) storage
Pod 1 Access Layer              Pod N
                                             Secondary
                                                          Pod is one or more clusters,
                          ….                  Storage      usually with L2 switches.
  Cluster N
                                                          Availability Zone has one or
                                                           more pods, has access to
       ….                                                  secondary storage.
                                                          One or more zones represent
  Cluster 1
                                                           cloud
    Host 1
                Primary
                Storage
    Host 2
CloudStack Storage
• Primary Storage:
   –   Anything that can be mounted on the node of a cluster.
   –   Cluster LVM…iSCSI…
   –   Holds disk images of running VMs
   –   Support for CEPH with KVM hypervisors
• Secondary Storage:
   –   Available across the zone
   –   Holds snapshots and templates (image repo)
   –   Can use OpenStack swift or any object store (Gluster FS…)
   –   New support for Caringo

• Can use NFS for both to start
• Storage abstraction refactoring underway in 4.1.0 and 4.2.0
Networking
• Extremely flexible to:
  – Provide isolation with VLANs
  – Provide isolation at L3 with shared L2 (scalability)
  – Support hardware devices that exposes API
  – Deployed on existing networking infrastructure
  – Support new networking paradigm (SDN)
     • Support for Nicira Virtual P
     • Extensive use of Open VSwitch
Management Server
• All UI functionality is available as an API call
• Restful API
   – Unauthenticated API on 8096 for localhost
     (disabled by default)
   – Authenticated on port 8080
   – Responses in XML or JSON
Highly Scalable
• Up to 10K resources managed per
  management server node
• Internal testing w/software simulators shows
  up to 30K physical resources and 30K VMs
  managed by 4 management server nodes.
• Real production deployments of tens of
  thousands of resources
• See Alex Huang’s presentation:
   http://is.gd/alexh_scale
CloudStack Allocation
• How are VMs placed, storage allocated, etc.?
• CloudStack has several defaults
  – First fit
  – Fill first
  – Disperse
• Don’t like those? Create your own!
• Allows over-provsioning
• OS Preference
High Availability
• RFMTTR – “really fast mean time to recovery.”
• CloudStack is not (alone) a magical HA
  solution.
• Watches HA-enabled VMs to ensure they’re
  up, and that the hypervisor it’s on is up. Will
  restart on another if the hypervisor goes
  down.
• Redundant router.
Load Balancing
• Uses HA Proxy
• CloudStack supports load-balancing for
  distributing traffic to its instances
• Choose between round-robin, source, or least
  connections
• Choose stickiness policy (source, lbcookie,
  appcookie)
Snapshots
• CloudStack allows you to take snapshots
  manually or set up recurring snapshots.
• Snapshots can be managed automagically
  (keep N number) and manually (delete
  snapshot manually).
• Can be turned into templates or volumes to
  be used by other instances.
CloudStack Networking
• CloudStack manages
  –   DHCP
  –   VLAN allocation
  –   Firewall
  –   NAT/Port forwarding
  –   Routing
  –   VPN
  –   Load Balancing
• CloudStack can manage physical network hardware
  (F5-Big IP, NetScaler, Juniper SRX)
CloudStack Networking Types
• CloudStack offers Basic and Advanced
  Networking
  – Basic: Easy, can only be one physical network
     • Every host, system VM, and guest instance has a unique
       IP
  – Advanced: Allows multiple physical networks
     • Each account has a public IP, assigned to virtual router,
       guest IP range (e.g. 10.0.1.10/24), and VLAN ID for the
       isolated guest network
     • Guests communicate via their own dedicated VLAN
CloudStack Networks
• Management Network: Used by hypervisors and
  management server to communicate
• Private Network: Default network for system VMs
  (virtual router, secondary storage VM, console
  proxy VM)
• Public Network: Public-facing (e.g. the Internet)
• Guest Network: Network VMs are provisioned on
• Link-local Network: Network used for
  communication between hypervisor and system
  VMs. (RFC 3927)
Security Groups
• Traditional isolation has been via VLAN
• VLANs provide isolation, but at the cost of
  scaling
  – Standard limit is 4,096 VLANs
  – Hardware that supports upper limit is expensive
  – What happens with 4,097?
• Amazon and others use Layer 3 isolation
  (Security Groups)
Security Groups
• Assumes a quasi-trusted Layer 2 network
• Filtering/isolation happens at the bridge level
  (think ebtables)
• Deny by default
Accounts, Domains, and Projects
• CloudStack has a top-level domain called ROOT
• You can create sub-domains
• You can create 3 types of accounts, admins,
  domain-admins, or users
• Projects can be used to hold resources for time-
  limited projects
• Supports LDAP integration
• CloudStack’s account system is very simple –
  don’t make it more complicated!
Usage Accounting
• Provides stats that can be used for billing (but
  is not a billing solution)
• Usage stats show: VM count, CPU usage, disk
  allocation and use, network usage over time.
• Integration howtos for importing to Excel,
  Ubersmith, Amysta, and Cloud Portal.
APIs
•   Root Admin, Domain Admin, User
•   Set of methods available over HTTP(S)
•   Authenticated on 8080 w/Keys
•   Unauthenticated on 8096 (off by default)
•   Python + Ruby clients available
Apache CloudStack from API to UI
AWS EC2 and S3 Compatibility
• Includes an EC2/S3 compatibility layer
• See:
  – http://wiki.cloudstack.org/display/RelOps/EC2+AP
    I+support+in+CloudStack
  – http://www.slideshare.net/sebastiengoasguen/clo
    udstack-ec2-configuration
• Euca Tools, Boto, etc. should work with
  CloudStack
CloudMonkey
• New ASF CloudStack CLI
• Python code, built using Marvin
• https://cwiki.apache.org/CLOUDSTACK/clouds
  tack-cloudmonkey-cli.html
• Available from CloudStack source or pypi:
  – http://pypi.python.org/pypi/cloudmonkey/
Use Cases
•   Private Cloud
•   Dual-Workload Private Cloud
•   Public Cloud (ISP/Providers)
•   Hybrid Cloud
•   Small to Very, Very Large
Zynga
• Online Games
• Hybrid Cloud (Move
  workloads between
  “zCloud” and public
  cloud) 80/20 split
• North of 30K Nodes
Datapipe
• Public Cloud
• Geo-distributed:
   –   U.S. (NJ & San Jose, CA)
   –   Hong Kong
   –   Shanghai
   –   London
   –   Iceland (w/in 90 days)
• Smaller (< 100 Hosts) but
  massively distributed
• See:
  http://is.gd/datapipe_cs
ISWest
• Hosted IaaS Clouds
  (Private Environment)
  from Dedicated Servers
• Most Customers are
  Small (< 15 VMs)
• Mix of Hypervisors
• Functioning Cloud in “a
  little over a month.”
Trying CloudStack
DevCloud
• DevCloud is a VirtualBox image w/nested virt.
• Grab the DevCloud image from:
http://wiki.cloudstack.org/display/COMM/DevCloud
• Log in via the GUI:
http://localhost:8080/client
• SSH to DevCloud:
ssh -p 2222 root@localhost
Username: admin            Password: password
• DevCloud KVM – effort to run DevCloud on a KVM host
CloudStack Runbook
• Minimal install (1 server)
• Written by David Nalley w/fixes from the
  community
• http://people.apache.org/~ke4qqq/runbook/
• Focuses on CentOS w/KVM – other runbooks
  in process for Ubuntu w/Xen or KVM.
Direction
• Currently on a Four-Month Release Cycle
• 4.1.0 Expected Early April, 4.2.0 in August
• 4.0.2 “Any Day Now”
• Releases Supported Until Next Major Feature
  Release (e.g., 4.0.0, 4.0.x until 4.1.0)
• Last Major Release Will Receive Support for 12
  Months (hasn’t happened yet)
Expected in 4.1.0
• AutoScale: Work with loadbalancers (like
  NetScaler) to scale up/down resources.
• Resize Volumes for Instances
• OpenVSwitch Support for KVM
• API Request Throttling
• AWS-like Regions
• Persistent Networks without Running
  Instances
Get Involved
• Main Site: CloudStack.org
• IRC: #cloudstack and #cloudstack-dev
• Follow @cloudstack on Twitter
• Lots of Presos:
  http://slideshare.net/cloudstack
• Mailing Lists:
  http://cloudstack.org/discuss/mailing-
  lists.html
Contact Me
Email: jzb@apache.org


Phone: +1 314-669-4JZB
(4592)

Blog: http://dissociatedpress.net/


Twitter:

More Related Content

What's hot (20)

PPTX
Introduction to CloudStack
CloudStack - Open Source Cloud Computing Project
 
PPTX
Ceph Performance and Sizing Guide
Jose De La Rosa
 
PDF
Red Hat OpenShift Container Platform Overview
James Falkner
 
PPT
Cloud computing
Reetesh Gupta
 
PDF
Docker Container
Seung-Hoon Baek
 
PDF
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
 
PDF
Kubernetes
Meng-Ze Lee
 
PDF
Introduction to Red Hat OpenShift 4
HngNguyn748044
 
PDF
오픈소스 네트워킹
James Ahn
 
PDF
CloudStack Best Practice in PPTV
gavin_lee
 
PDF
Anycast all the things
Maximilan Wilhelm
 
PPTX
DevOps with Kubernetes
EastBanc Tachnologies
 
PDF
Introduction to OpenStack
Edureka!
 
PDF
Kubernetes in Docker
Docker, Inc.
 
PPTX
Kubernetes Introduction
Eric Gustafson
 
PDF
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
PPTX
Nginx Reverse Proxy with Kafka.pptx
wonyong hwang
 
PDF
Openshift
Knoldus Inc.
 
PPTX
Virtual machines and containers
Patrick Pierson
 
PPTX
Introduction to NGINX web server
Md Waresul Islam
 
Ceph Performance and Sizing Guide
Jose De La Rosa
 
Red Hat OpenShift Container Platform Overview
James Falkner
 
Cloud computing
Reetesh Gupta
 
Docker Container
Seung-Hoon Baek
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
 
Kubernetes
Meng-Ze Lee
 
Introduction to Red Hat OpenShift 4
HngNguyn748044
 
오픈소스 네트워킹
James Ahn
 
CloudStack Best Practice in PPTV
gavin_lee
 
Anycast all the things
Maximilan Wilhelm
 
DevOps with Kubernetes
EastBanc Tachnologies
 
Introduction to OpenStack
Edureka!
 
Kubernetes in Docker
Docker, Inc.
 
Kubernetes Introduction
Eric Gustafson
 
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
Nginx Reverse Proxy with Kafka.pptx
wonyong hwang
 
Openshift
Knoldus Inc.
 
Virtual machines and containers
Patrick Pierson
 
Introduction to NGINX web server
Md Waresul Islam
 

Viewers also liked (13)

PPTX
Delivering IaaS with Open Source Software
Mark Hinkle
 
PPTX
Penetrating the Cloud: Opportunities & Challenges for Businesses
CompTIA
 
PDF
Can we hack open source #cloud platforms to help reduce emissions?
Tom Raftery
 
PDF
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
PPTX
Simplifying The Cloud Top 10 Questions By SMBs
Sun Digital, Inc.
 
PPTX
Avoiding Cloud Outage
Nati Shalom
 
PDF
Summer School Scale Cloud Across the Enterprise
WSO2
 
PPTX
The Inevitable Cloud Outage
Newvewm
 
PDF
2013 State of Cloud Survey SMB Results
Symantec
 
PPTX
Linthicum what is-the-true-future-of-cloud-computing
David Linthicum
 
PDF
Breaking through the Clouds
Andy Piper
 
PPTX
2013 Future of Cloud Computing - 3rd Annual Survey Results
Michael Skok
 
PDF
Intro to cloud computing — MegaCOMM 2013, Jerusalem
Reuven Lerner
 
Delivering IaaS with Open Source Software
Mark Hinkle
 
Penetrating the Cloud: Opportunities & Challenges for Businesses
CompTIA
 
Can we hack open source #cloud platforms to help reduce emissions?
Tom Raftery
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
Simplifying The Cloud Top 10 Questions By SMBs
Sun Digital, Inc.
 
Avoiding Cloud Outage
Nati Shalom
 
Summer School Scale Cloud Across the Enterprise
WSO2
 
The Inevitable Cloud Outage
Newvewm
 
2013 State of Cloud Survey SMB Results
Symantec
 
Linthicum what is-the-true-future-of-cloud-computing
David Linthicum
 
Breaking through the Clouds
Andy Piper
 
2013 Future of Cloud Computing - 3rd Annual Survey Results
Michael Skok
 
Intro to cloud computing — MegaCOMM 2013, Jerusalem
Reuven Lerner
 
Ad

Similar to Apache CloudStack from API to UI (20)

PPTX
Apache CloudStack: API to UI (STLLUG)
Joe Brockmeier
 
PPTX
Deploying Apache CloudStack from API to UI
Joe Brockmeier
 
PDF
Txlf2012
Joe Brockmeier
 
PPTX
Getting Started with Apache CloudStack
Joe Brockmeier
 
PDF
CloudStack - LinuxFest NorthWest
ke4qqq
 
PDF
Hacking apache cloud stack
Nitin Mehta
 
PDF
CloudStack-Developer-Day
Kimihiko Kitase
 
PPTX
Cloud stack overview
howie YU
 
PDF
CloudStack In Production
Clayton Weise
 
PPTX
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
CloudStack - Open Source Cloud Computing Project
 
PDF
Cloudstack for beginners
Joseph Amirani
 
PPTX
CloudStack Build A Cloud Day (SCaLE 2013)
Clayton Weise
 
PDF
Cloud stack for_beginners
Radhika Puthiyetath
 
PDF
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
tcloudcomputing-tw
 
PDF
Topic 13: Cloud Stacks
Zubair Nabi
 
PPTX
Taking the open cloud to 11
Joe Brockmeier
 
PDF
Automating CloudStack with Puppet - David Nalley
Puppet
 
PPTX
What is cloud computing
Brian Bullard
 
PPTX
What is cloud computing
Brian Bullard
 
PPTX
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Apache CloudStack: API to UI (STLLUG)
Joe Brockmeier
 
Deploying Apache CloudStack from API to UI
Joe Brockmeier
 
Txlf2012
Joe Brockmeier
 
Getting Started with Apache CloudStack
Joe Brockmeier
 
CloudStack - LinuxFest NorthWest
ke4qqq
 
Hacking apache cloud stack
Nitin Mehta
 
CloudStack-Developer-Day
Kimihiko Kitase
 
Cloud stack overview
howie YU
 
CloudStack In Production
Clayton Weise
 
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
CloudStack - Open Source Cloud Computing Project
 
Cloudstack for beginners
Joseph Amirani
 
CloudStack Build A Cloud Day (SCaLE 2013)
Clayton Weise
 
Cloud stack for_beginners
Radhika Puthiyetath
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
tcloudcomputing-tw
 
Topic 13: Cloud Stacks
Zubair Nabi
 
Taking the open cloud to 11
Joe Brockmeier
 
Automating CloudStack with Puppet - David Nalley
Puppet
 
What is cloud computing
Brian Bullard
 
What is cloud computing
Brian Bullard
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Ad

More from CloudStack - Open Source Cloud Computing Project (20)

PDF
CloudStack Hyderabad Meetup: How the Apache community works
CloudStack - Open Source Cloud Computing Project
 
PDF
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
PPTX
CloudStack technical overview
CloudStack - Open Source Cloud Computing Project
 
PPTX
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
CloudStack - Open Source Cloud Computing Project
 
PDF
vBACD July 2012 - Apache Hadoop, Now and Beyond
CloudStack - Open Source Cloud Computing Project
 
PDF
vBACD July 2012 - Scaling Storage with Ceph
CloudStack - Open Source Cloud Computing Project
 
PPTX
vBACD July 2012 - Deploying Private PaaS with ActiveState Stackato
CloudStack - Open Source Cloud Computing Project
 
PPTX
vBACD July 2012 - Xen Cloud Platform
CloudStack - Open Source Cloud Computing Project
 
PPTX
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
CloudStack - Open Source Cloud Computing Project
 
PPTX
Virtualization in the cloud
CloudStack - Open Source Cloud Computing Project
 
PDF
Build a Cloud Day San Francisco - Ubuntu Cloud
CloudStack - Open Source Cloud Computing Project
 
PPTX
Cloudstack UI Customization
CloudStack - Open Source Cloud Computing Project
 
PPTX
Management server internals
CloudStack - Open Source Cloud Computing Project
 
PPT
vBACD - Introduction to Puppet, Configuration Management and IT Automation So...
CloudStack - Open Source Cloud Computing Project
 
PDF
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
CloudStack - Open Source Cloud Computing Project
 
PPTX
vBACD - Crash Course in Open Source Cloud Computing - 2/28
CloudStack - Open Source Cloud Computing Project
 
PPT
vBACD - Introduction to Opscode Chef - 2/29
CloudStack - Open Source Cloud Computing Project
 
CloudStack Hyderabad Meetup: How the Apache community works
CloudStack - Open Source Cloud Computing Project
 
CloudStack Hyderabad Meetup: Migrating applications to IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack - Open Source Cloud Computing Project
 
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
CloudStack - Open Source Cloud Computing Project
 
vBACD July 2012 - Apache Hadoop, Now and Beyond
CloudStack - Open Source Cloud Computing Project
 
vBACD July 2012 - Scaling Storage with Ceph
CloudStack - Open Source Cloud Computing Project
 
vBACD July 2012 - Deploying Private PaaS with ActiveState Stackato
CloudStack - Open Source Cloud Computing Project
 
vBACD July 2012 - Xen Cloud Platform
CloudStack - Open Source Cloud Computing Project
 
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
CloudStack - Open Source Cloud Computing Project
 
Build a Cloud Day San Francisco - Ubuntu Cloud
CloudStack - Open Source Cloud Computing Project
 
vBACD - Introduction to Puppet, Configuration Management and IT Automation So...
CloudStack - Open Source Cloud Computing Project
 
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
CloudStack - Open Source Cloud Computing Project
 
vBACD - Crash Course in Open Source Cloud Computing - 2/28
CloudStack - Open Source Cloud Computing Project
 
vBACD - Introduction to Opscode Chef - 2/29
CloudStack - Open Source Cloud Computing Project
 

Apache CloudStack from API to UI

  • 1. Apache CloudStack: From API to UI Joe Brockmeier PMC Member Apache CloudStack [email protected] Twitter: @jzb | Freenode: jzb
  • 2. Five Six Characteristics of Clouds • On-Demand Self-Service • Broad Network Access • Resource Pooling • Rapid Elasticity • Measured Service • API Access
  • 3. Cloud Service Models USER CLOUD a.k.a. SOFTWARE AS A SERVICE Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features. Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE Application developer model, Application deployed to an elastic service that autoscales, low administrative overhead. No concept of virtual machines or operating system. Code it and deploy it. Examples: VMware CloudFoundry, Google AppEngine, Windows Azure, Rackspace Sites, Red Hat OpenShift, Active State Stackato, Appfog SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE Servers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, OpenNebula
  • 5. What is Apache CloudStack? • Open Source (Apache-Licensed) IaaS • Community of Users and Providers • Written in Java* • Provides a Turn-Key “Stack” for Running Public, Private, or Hybrid Clouds • Hypervisor Agnostic* • Time-Based Releases
  • 6. In the beginning… • Started as VMOps Cloud Stack (2008) • Became Cloud.com in 2010 • Released CloudStack under GPLv3 – but Open Core (May 2010) • Acquired by Citrix (July 2011) • Entirely Open Source (August 2011)
  • 7. Going to Apache • Relicensed & Proposed to Apache (April 3, 2012) • Accepted as an Incubating Project (April 16, 2012) • First Major Release, 4.0.0-incubating (November 6, 2012) • First Minor Release, 4.0.1-incubating (February 12, 2013)
  • 8. Why Apache? • Known and Proven Governance Model • Active Mentoring of New Projects • 100% Community-Driven • More than 3,000 Developers • Many Successful Projects: Apache HTTPD, Tomcat, Hadoop, Cassandra, Lucene, etc.
  • 9. Apache Process • 100% Community-Driven • “If It Didn’t Happen on the Mailing List…” • Clear Governance (PPMC, Committer, Contributor, etc.) • Community Over Code • Rigorous Attention to Licenses • Can Seem Bureaucratic
  • 12. Hypervisor Support • KVM • XenServer • Xen Cloud Platform • VMware via vCenter • Bare Metal via IPMI
  • 13. CloudStack Terminology • Zone: Availability zone, aka Regions. Could be worldwide. Different data centers • Pods: Racks or aisles in a data center • Clusters: Group of machines with a common type of Hypervisor • Host: A Single server • Primary Storage: Shared storage across a cluster • Secondary Storage: Shared storage in a single Zone
  • 14. CloudStack Architecture Internet  Hypervisor is the basic unit of CloudStack Management scale. Server Zone 1  Cluster consists of one ore more hosts of same hypervisor L3 core  All hosts in cluster have access to shared (primary) storage Pod 1 Access Layer Pod N Secondary  Pod is one or more clusters, …. Storage usually with L2 switches. Cluster N  Availability Zone has one or more pods, has access to …. secondary storage.  One or more zones represent Cluster 1 cloud Host 1 Primary Storage Host 2
  • 15. CloudStack Storage • Primary Storage: – Anything that can be mounted on the node of a cluster. – Cluster LVM…iSCSI… – Holds disk images of running VMs – Support for CEPH with KVM hypervisors • Secondary Storage: – Available across the zone – Holds snapshots and templates (image repo) – Can use OpenStack swift or any object store (Gluster FS…) – New support for Caringo • Can use NFS for both to start • Storage abstraction refactoring underway in 4.1.0 and 4.2.0
  • 16. Networking • Extremely flexible to: – Provide isolation with VLANs – Provide isolation at L3 with shared L2 (scalability) – Support hardware devices that exposes API – Deployed on existing networking infrastructure – Support new networking paradigm (SDN) • Support for Nicira Virtual P • Extensive use of Open VSwitch
  • 17. Management Server • All UI functionality is available as an API call • Restful API – Unauthenticated API on 8096 for localhost (disabled by default) – Authenticated on port 8080 – Responses in XML or JSON
  • 18. Highly Scalable • Up to 10K resources managed per management server node • Internal testing w/software simulators shows up to 30K physical resources and 30K VMs managed by 4 management server nodes. • Real production deployments of tens of thousands of resources • See Alex Huang’s presentation: http://is.gd/alexh_scale
  • 19. CloudStack Allocation • How are VMs placed, storage allocated, etc.? • CloudStack has several defaults – First fit – Fill first – Disperse • Don’t like those? Create your own! • Allows over-provsioning • OS Preference
  • 20. High Availability • RFMTTR – “really fast mean time to recovery.” • CloudStack is not (alone) a magical HA solution. • Watches HA-enabled VMs to ensure they’re up, and that the hypervisor it’s on is up. Will restart on another if the hypervisor goes down. • Redundant router.
  • 21. Load Balancing • Uses HA Proxy • CloudStack supports load-balancing for distributing traffic to its instances • Choose between round-robin, source, or least connections • Choose stickiness policy (source, lbcookie, appcookie)
  • 22. Snapshots • CloudStack allows you to take snapshots manually or set up recurring snapshots. • Snapshots can be managed automagically (keep N number) and manually (delete snapshot manually). • Can be turned into templates or volumes to be used by other instances.
  • 23. CloudStack Networking • CloudStack manages – DHCP – VLAN allocation – Firewall – NAT/Port forwarding – Routing – VPN – Load Balancing • CloudStack can manage physical network hardware (F5-Big IP, NetScaler, Juniper SRX)
  • 24. CloudStack Networking Types • CloudStack offers Basic and Advanced Networking – Basic: Easy, can only be one physical network • Every host, system VM, and guest instance has a unique IP – Advanced: Allows multiple physical networks • Each account has a public IP, assigned to virtual router, guest IP range (e.g. 10.0.1.10/24), and VLAN ID for the isolated guest network • Guests communicate via their own dedicated VLAN
  • 25. CloudStack Networks • Management Network: Used by hypervisors and management server to communicate • Private Network: Default network for system VMs (virtual router, secondary storage VM, console proxy VM) • Public Network: Public-facing (e.g. the Internet) • Guest Network: Network VMs are provisioned on • Link-local Network: Network used for communication between hypervisor and system VMs. (RFC 3927)
  • 26. Security Groups • Traditional isolation has been via VLAN • VLANs provide isolation, but at the cost of scaling – Standard limit is 4,096 VLANs – Hardware that supports upper limit is expensive – What happens with 4,097? • Amazon and others use Layer 3 isolation (Security Groups)
  • 27. Security Groups • Assumes a quasi-trusted Layer 2 network • Filtering/isolation happens at the bridge level (think ebtables) • Deny by default
  • 28. Accounts, Domains, and Projects • CloudStack has a top-level domain called ROOT • You can create sub-domains • You can create 3 types of accounts, admins, domain-admins, or users • Projects can be used to hold resources for time- limited projects • Supports LDAP integration • CloudStack’s account system is very simple – don’t make it more complicated!
  • 29. Usage Accounting • Provides stats that can be used for billing (but is not a billing solution) • Usage stats show: VM count, CPU usage, disk allocation and use, network usage over time. • Integration howtos for importing to Excel, Ubersmith, Amysta, and Cloud Portal.
  • 30. APIs • Root Admin, Domain Admin, User • Set of methods available over HTTP(S) • Authenticated on 8080 w/Keys • Unauthenticated on 8096 (off by default) • Python + Ruby clients available
  • 32. AWS EC2 and S3 Compatibility • Includes an EC2/S3 compatibility layer • See: – http://wiki.cloudstack.org/display/RelOps/EC2+AP I+support+in+CloudStack – http://www.slideshare.net/sebastiengoasguen/clo udstack-ec2-configuration • Euca Tools, Boto, etc. should work with CloudStack
  • 33. CloudMonkey • New ASF CloudStack CLI • Python code, built using Marvin • https://cwiki.apache.org/CLOUDSTACK/clouds tack-cloudmonkey-cli.html • Available from CloudStack source or pypi: – http://pypi.python.org/pypi/cloudmonkey/
  • 34. Use Cases • Private Cloud • Dual-Workload Private Cloud • Public Cloud (ISP/Providers) • Hybrid Cloud • Small to Very, Very Large
  • 35. Zynga • Online Games • Hybrid Cloud (Move workloads between “zCloud” and public cloud) 80/20 split • North of 30K Nodes
  • 36. Datapipe • Public Cloud • Geo-distributed: – U.S. (NJ & San Jose, CA) – Hong Kong – Shanghai – London – Iceland (w/in 90 days) • Smaller (< 100 Hosts) but massively distributed • See: http://is.gd/datapipe_cs
  • 37. ISWest • Hosted IaaS Clouds (Private Environment) from Dedicated Servers • Most Customers are Small (< 15 VMs) • Mix of Hypervisors • Functioning Cloud in “a little over a month.”
  • 39. DevCloud • DevCloud is a VirtualBox image w/nested virt. • Grab the DevCloud image from: http://wiki.cloudstack.org/display/COMM/DevCloud • Log in via the GUI: http://localhost:8080/client • SSH to DevCloud: ssh -p 2222 root@localhost Username: admin Password: password • DevCloud KVM – effort to run DevCloud on a KVM host
  • 40. CloudStack Runbook • Minimal install (1 server) • Written by David Nalley w/fixes from the community • http://people.apache.org/~ke4qqq/runbook/ • Focuses on CentOS w/KVM – other runbooks in process for Ubuntu w/Xen or KVM.
  • 41. Direction • Currently on a Four-Month Release Cycle • 4.1.0 Expected Early April, 4.2.0 in August • 4.0.2 “Any Day Now” • Releases Supported Until Next Major Feature Release (e.g., 4.0.0, 4.0.x until 4.1.0) • Last Major Release Will Receive Support for 12 Months (hasn’t happened yet)
  • 42. Expected in 4.1.0 • AutoScale: Work with loadbalancers (like NetScaler) to scale up/down resources. • Resize Volumes for Instances • OpenVSwitch Support for KVM • API Request Throttling • AWS-like Regions • Persistent Networks without Running Instances
  • 43. Get Involved • Main Site: CloudStack.org • IRC: #cloudstack and #cloudstack-dev • Follow @cloudstack on Twitter • Lots of Presos: http://slideshare.net/cloudstack • Mailing Lists: http://cloudstack.org/discuss/mailing- lists.html
  • 44. Contact Me Email: [email protected] Phone: +1 314-669-4JZB (4592) Blog: http://dissociatedpress.net/ Twitter:

Editor's Notes

  • #9: Also mention business focus, lifecycle (incubator to attic), ability to change (modulo some difficulty).
  • #11: We now have more than 160 people who’ve submitted patches that have been included into master or a release according to gitshortlog. Also a larger community that has participated in writing documentation on the wiki, helping other users in IRC, and created integrations, etc.
  • #29: A user can belong to only one Account, .ie. the same User cannot belong to multiple Accounts.Whenever creating an account at any domain level it can be of two types - Admin or user. If account == Admin then he will be domain admin of that domain and if created with type=user he will be a regular account under that domain.Admin created at ROOT level is called ROOT admin and since ROOT is the top domain he has privileges to act on all the resources.Username is unique in a Domain across Accounts in that Domain. The same username can exist in other domains, including subdomains.Account name is unique in a domain. The same Account name can exist in other domains, including subdomains.Domain name can repeat as long as the full pathname from ROOT is unique. For ex, you can have ROOT/d1, as well as ROOT/foo/d1, and ROOT/bar/d1.Resources belong to an Account, not individual users in that account. Billing, resource limits etc are maintained by Account, not usernames.CloudStack allows to create 3 different types of accounts --&gt; admin/domain-admin or user account. All the roles (admin, domain admins and user) are attached at account level.Under the account all the users have the same privileges. There are no role based users in one account.We can have multiple admins for the same domain.All the domains get created under the ROOT domain.