SlideShare une entreprise Scribd logo
1  sur  40
Apache CloudStack

    Sebastien Goasguen
AlpesJUG, January 30th 2013
     Grenoble, France
Info
•   Apache incubator project
•   http://incubator.apache.org/cloudstack/
•   #cloudstack on irc.freenode.net
•   @cloudstack on Twitter
•   http://www.slideshare.net/cloudstack
•   http://cloudstack.org/discuss/mailing-lists.html

Welcoming contributions and feedback, Join the fun !
OSS SaaS…and more
OSS PaaS…
OSS IaaS…
IaaS challenges
• Not out of the box by itself.
• Need a farm of hypervisors
  – Xen, KVM, Vmware…
• Need storage
  – For image catalogue
  – For volume/snapshot management
• Need flexible network that can be configured
  on-demand
  – VLANS, no VLANS, existing net infra, SDN…
French Use Cases
•   INRIA service national d’integration continue
•   Grid5000 , iKoula
•   Usharesoft, BtrCloud, Activeeon Integration
•   Appalia integrator
A bit of History
• Original company VMOPs (2008)
    – Founded by Sheng Liang former lead dev on JVM
• Open source (GPLv3) as CloudStack
• Acquired by Citrix (July 2011)
• Relicensed under ASL v2 April 3, 2012
• Accepted as Apache Incubating Project April
  16, 2012
• First Apache release ACS 4.0 in November
  2012
Apache Software Foundation
Apache Process
• 100% community driven
• New ideas, decisions only taken on mailing lists.
  Votes taken by community
• Project led by Project Management Committee
  (PMC):
  – http://www.apache.org/dev/pmc.html
  – http://incubator.apache.org/guides/committer.html
• Non committers get invited as committers:
  – http://community.apache.org/newcommitter.html
Apache Processes
What the ASF did to CloudStack ?
Releases
• Apache CloudStack 4.0 released in November
• Check out the testing procedure:
  – https://cwiki.apache.org/CLOUDSTACK/cloudstack
    -40-test-procedure.html
• Or watch my amazing screencast:
  – http://vimeo.com/54610161
  – Apache CloudStack 4.1 planned for March 22nd.
    Feature Freeze tomorrow...
Contributions
           Examples:

           Sungard: Announced that
           6 developers were joining
           the Apache project
           Schuberg Philis: Big
           contribution in
           building/packaging and
           Nicira support
           PCextreme: RBD/Ceph
           support
           Caringo: Support for own
           object store
           Basho: Devcloud
           packaging, S3 integration
What Does it do ?
• Open source Infrastructure as a Service (IaaS)
  platform.
• Data Center orchestrator
• Hypervisor agnostic (with addition of bare
  metal provisioning)
• Support complex enterprise networking (e.g
  Firewall, load balancer, VPN, VPC…)
• Multi-tenant
A Very Flexible IaaS Platform
Compute     Hypervisor




Storage     Block & Object



                          Primary Storage                        Secondary Storage


Network     Network & Network Services




  http://www.slideshare.net/cloudstack/cloudstack-architecture
Architecture / Language
• Java application
• Tomcat6, Axis2, Maven build + ant
  – Ant going away in 4.1
• Moving towards a plugin architecture
• Collaboration Conference, Nov 30th -Dec 2nd
  – http://collab12.cloudstack.org/
  – http://www.youtube.com/diycloudcomputing
Build and Run in 4.1
• git clone https://git-wip-
  us.apache.org/repos/asf/incubat
  or-cloudstack.git
• mvn clean
• mvn install
• mvn –P developer –pl developer
  –Ddeploydb
• mvn –pl :cloud-client-ui
  jetty:run
Cloud Interactions                                                                    OVM Cluster        Primary
                                                                                                                                          Storage

                                                                                                     Ap   i
                                                                                                 Xen               vcenter
                                                                                                                     vcenter


  Monitoring                                                                                                                            Primary
                                           CS API                     Clu                                    I
                                                                          ste                             AP           vSphere Cluster
                                                                                                                                    Storage
                                                                              r   M                 n ter
    End
      End
                                                                                   gm            vCe
                                                                                     t
   User UI
    User UI
                                                                                                                                         Primary
                                                                                                                        XS Cluster       Storage
   Admin
    Admin                                                    Clustered
                                                              Clustered
                                                        CloudStack                           XAPI
     UI
      UI                                                 CloudStack
   Domain
    Domain
                            CS Admin &                    CloudStack
                                                            CloudStack
                                                           CloudStack
                                                             CloudStack
                            End-user API                                                                                                 Primary
   Admin
    Admin
     UI
      UI
                                                          Management
                                                           Management                            JSON                   KVM Cluster Storage
                                                               Server
                                                                Server                                  NetConf
                                                                                                                           Juniper SRX
Cloud user                                                                                         Nitro API
{API client (Fog/etc)}                                                                                                                                 VNC
                                                                                            JSON
                  ec2 API                                                                 JSON                                          Netscaler

  Cloud user                                                                                                       Console
                                                                                                                    Console
                                                                                                                      Console
  {ec2 API client }                                                                                               ProxyConsole
                                                                                                                        VM
                                                                                                                   Proxy VM
                                                                                                                     Proxy VM
                                                                                                                      Proxy VM                NFS
                                                    MySQL
                                                    MySQL                                                                                     Server
                                                                                                                   Sec. Storage
                                                                                                                    Sec. Storage NFS                     NFS
                                                                           {Proxied} SSH                            Sec. VM
                                                                                                                         Storage
                                                                                                                     Sec. Storage
                                                                                                                        VM
                Ajax
                 Ajax                           HTTPS                                                                    VM
                                                                                                                          VM
               Console
                Console                                                           Router VM
                                                                                   Router VM                                      HTTP (Template Download)
                                                                                    Router VM
                                                                                      Router VM                                  HTTP (Template Copy)
                                                                                       Router VM
                                                                                         Router VM
    Cloud user                                                                                                                 HTTP (Swift)
               http://www.slideshare.net/cloudstack/cloudstack-architecture
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 Cloud Architecture
                                   Internet
                                    Internet                Hypervisor is the basic unit of
   CloudStack
  Management                                                 scale.
     Server
Zone 1                                                      Cluster consists of one ore
                                                             more hosts of same
                       L3 core
                        L3 core                              hypervisor
                                                            All hosts in cluster have access
Pod 1 Access Layer
       Access Layer               Pod N                      to shared (primary) storage
                                               Secondary
                           ….                   Storage     Pod is one or more clusters,
  Cluster N                                                  usually with L2 switches.
                                                            Availability Zone has one or
       ….                                                    more pods, has access to
                                                             secondary storage.
  Cluster 1
                                                            One or more zones represent
   Host 11
    Host                                                     cloud
                 Primary
                 Storage
    Host 22
     Host
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
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
Layer-2 Guest Virtual Network
   CS Virtual Router provides Network Services                       External Devices provide Network Services
                                                                     Network Hardware exposing API can be controlled

                                  Guest Virtual Network 10.1.1.1/8                                     Guest Virtual Network 10.1.1.1/8
                                  VLAN 100                                                             VLAN 100

Public                                                                  Public
Network/Inter                                                           Network/Inter
net                                                      Guest          net                                                  Guest
                                                                                                                              Guest
                                                          Guest                                  Private IP
                                                         VM 11         Public IP                                10.1.1.1     VM 11
                                            10.1.1.1      VM                                     10.1.1.111                   VM
                            Gateway                                    65.37.141.11 Juniper
                                                                                      Juniper
Public IP                                                              1              SRX
                                                                                        SRX
                            address
65.37.141.11       CS                                                                Firewall
                                                                                      Firewall
                     CS     10.1.1.1                     Guest
                                                          Guest                                                              Guest
                                                                                                                              Guest
                 Virtual
                  Virtual
                                            10.1.1.3     VM 22
                                                          VM                                                    10.1.1.3     VM 22
                                                                                                                              VM
                 Router
                  Router
                                                                        Public IP               Private IP
               DHCP, DNS                                                65.37.141.    NetScaler 10.1.1.112
                                                                                     NetScaler
               NAT                                       Guest          112           Load                                   Guest
                                                          Guest                         Load                                  Guest
               Load Balancing               10.1.1.4     VM 33                       Blancer                                 VM 33
                                                          VM                          Blancer                   10.1.1.4      VM
               VPN


                                                         Guest
                                                          Guest                                                              Guest
                                                                                                                              Guest
                                             10.1.1.5    VM 44
                                                          VM                                                    10.1.1.5     VM 44
                                                                                                                              VM

                                                                                                               CS
                                                                                                                CS
                                                                                                     DHCP, Virtual
                                                                                                            Virtual
                                                                                                           Router
                                                                                                            Router
                                                                                                     DNS

Slide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
L3 isolation
• To go beyond the limitation of VLANs (4096
  vlans per switch)
• Move to L3 isolation
  – Shared L2
  – Manage one firewall per VM


• Potential use of GRE tunnels to create single
  L2 overlay
• GRE in tech preview for site to site VPN.
L3 isolation with distributed firewalls
                                                                  Tenant   10.1.0.2
Public     Public IP address
                                                                  1 VM 1
Internet   65.37.141.11
           65.37.141.24
           65.37.141.36                          10.1.0.1
                                      Pod 1 L2                    Tenant   10.1.0.3
           65.37.141.80                Switch                     2 VM 1


                                                                  Tenant   10.1.0.4
                                                                  1 VM 2

                           L3 Core
                                      Pod 2 L2
                                       Switch
                                                 10.1.8.1
                                                             …
                                                                  Tenant   10.1.16.12
                                                 10.1.16.1        2 VM 2
                             Load     Pod 3 L2
                           Balancer    Switch
                                                                  Tenant
                                                                  2 VM 3   10.1.16.21



                                       …                          Tenant
                                                                  1 VM 3
                                                                           10.1.16.47


                                                                  Tenant
                                                                           10.1.16.85
                                                                  1 VM 4


                                                                 Slide from Chiradeep Vittal
A customizable GUI
    AJAX + API
A very extensive API
API
•   Not really REST
•   A set of methods available over http(s)
•   Unauthenticated on integration port
•   Authenticated on 8080 using Access and
    Secret Key
•   Python/Ruby clients available
•   Internal Marvin client
•   CLI under development
•   Other clouds client support the API
EC2 /S3 compatibility
• Significant development work happening to make
  Cloudstack highly compatible with EC2 /S3 API.
• http://wiki.cloudstack.org/display/RelOps/EC2+API
  +support+in+CloudStack
• http://www.slideshare.net/sebastiengoasguen/clou
  dstack-ec2-configuration
• Euca tools, boto etc…should work with cloudstack.
Enabling EC2 and S3
• Via the GUI




• Via API call on integration API port 8096
  http://localhost:8096/client/api?
  command=updateConfiguration&name=enable.s3.api&value=true
  http://localhost:8096/client/api?
  command=updateConfiguration&name=enable.ec2.api&value=true
Highly Scalable
• See:
  – http://www.slideshare.net/cloudstack/scalability-
    12819428
  – From Alex Huang. 10k “resources” managed per
    Mgt server. 30k resources with 30k VM in
    simulation.
• Management server can be setup in a multi-
  node configuration with a load-balancer and
  replicated MySQL.
SandBox: DevCloud
• A Virtual box appliance packaged to provide a
  working CloudStack environment.
• Aimed at developers but has other use cases:
  – Xen PV hosts gives nested virtualization
  – Local EC2/S3 Cloud on your laptop
  – Networking experiments ?
• http://wiki.cloudstack.org/display/comm/Dev
  Cloud
DevCloud: self-contained
CloudStack runs in the appliance
DevCloud: as Host
Run CloudStack on local machine
Use DevCloud to setup hosts
DevCloud to test 4.1 branch
• mvn -P developer clean
• mvn -P developer install
• mvn -P developer -pl developer –Ddeploydb
• mvn -P developer -pl tools/devcloud –
  Ddeploydb
• mvn -pl :cloud-client-ui jetty:run


Configure infrastructure:
• mvn -P developer,deploysvr -pl
  tools/devcloud -Ddeploysvr
Testing Framework –for the PyUG 
                            [environment]

• Marvin is a Python        dns=10.147.28.6
                            mshost=10.147.39.69
  based framework to run    mysql.host=10.147.39.69

  tests against a
                            [cloudstack]
                            private.gateway=10.147.40.1

  CloudStack install        private.pod.startip=10.147.41.121
                            private.pod.endip=10.147.41.160

• Could be used as a        private.netmask=255.255.254.0
                            public.gateway=10.147.40.1
  simulator of a            public.vlan.startip=10.147.41.162

  datacenter
                            public.vlan.endip=10.147.41.200
                            public.netmask=255.255.254.0

• Used to configure an
                            hypervisor=XenServer
                            host=10.147.40.10

  infrastructure on a mgt   host.password=password
                            #storage pools
  server                    primary.pool=nfs://10.147.28.7:/expo
                            rt/home/automation/sadhu/primary
                            secondary.pool=nfs://10.147.28.6:/ex
                            port/home/automation/sadhu/secondary
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/
Build A Cloud Events
• http://www.buildacloud.org
• @build_cloud or @sebgoa on twitter
• Upcoming events in Europe in 2013:
  – BACD Ghent Belgium February 1st
  – FOSDEM February 2-3, Brussels
  – Probable LinuxTag, Berlin, May
  – Probable Summer: RMLL 6-11 July, Brussels
  – Probable in Fall: Linuxcon Europe, OWF Paris,
Info
•   Apache incubator project
•   http://incubator.apache.org/cloudstack
•   #cloudstack and #cloudstack-dev on irc.freenode.net
•   @CloudStack on Twitter
•   http://www.slideshare.net/cloudstack
•   http://cloudstack.org/discuss/mailing-lists.html

Welcoming contributions and feedback, Join the fun !

Contenu connexe

Tendances

Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
buildacloud
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
buildacloud
 

Tendances (20)

CloudStack technical overview
CloudStack technical overviewCloudStack technical overview
CloudStack technical overview
 
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS cloudsCloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
 
BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform BACD July 2012 : The Xen Cloud Platform
BACD July 2012 : The Xen Cloud Platform
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
 
Apache CloudStack from API to UI
Apache CloudStack from API to UIApache CloudStack from API to UI
Apache CloudStack from API to UI
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-Day
 
Management server internals
Management server internalsManagement server internals
Management server internals
 
Supporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via DeltacloudSupporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
Supporting and Using EC2/CIMI on top of Cloud Environments via Deltacloud
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture Future
 
Scalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache HadoopScalable Object Storage with Apache CloudStack and Apache Hadoop
Scalable Object Storage with Apache CloudStack and Apache Hadoop
 
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...
 
Deploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UIDeploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UI
 
CloudStack Networking
CloudStack NetworkingCloudStack Networking
CloudStack Networking
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack
Introduction to CloudStack
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-12012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Xen and Apache cloudstack
Xen and Apache cloudstack  Xen and Apache cloudstack
Xen and Apache cloudstack
 

En vedette

En vedette (8)

Cloud Standards and CloudStack
Cloud Standards and CloudStackCloud Standards and CloudStack
Cloud Standards and CloudStack
 
6 Months In: What I've Learned about Apache Projects
6 Months In: What I've Learned about Apache Projects6 Months In: What I've Learned about Apache Projects
6 Months In: What I've Learned about Apache Projects
 
CloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesCloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use Cases
 
Git 101 for CloudStack
Git 101 for CloudStackGit 101 for CloudStack
Git 101 for CloudStack
 
Cloudstack at Spotify
Cloudstack at SpotifyCloudstack at Spotify
Cloudstack at Spotify
 
Scale11x : Virtualization with Xen and XCP
Scale11x : Virtualization with Xen and XCP Scale11x : Virtualization with Xen and XCP
Scale11x : Virtualization with Xen and XCP
 
The kvm virtualization way
The kvm virtualization wayThe kvm virtualization way
The kvm virtualization way
 
Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)Networking in the Cloud Age (LISA 2012 Tutorial)
Networking in the Cloud Age (LISA 2012 Tutorial)
 

Similaire à Apache CloudStack AlpesJUG

CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
bizalgo
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
Jaesuk Ahn
 
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
OpenCity Community
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
Open Stack
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
Ram Chinta
 
Mirantis Folsom Meetup Intro
Mirantis Folsom Meetup IntroMirantis Folsom Meetup Intro
Mirantis Folsom Meetup Intro
Mirantis
 

Similaire à Apache CloudStack AlpesJUG (20)

CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practice
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
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
 
Citrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStack
Citrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStackCitrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStack
Citrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStack
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud Computing
 
3 Networking CloudStack Developer Day
3  Networking CloudStack Developer Day 3  Networking CloudStack Developer Day
3 Networking CloudStack Developer Day
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
V fabric overview
V fabric overviewV fabric overview
V fabric overview
 
OpenStack Momentum
OpenStack  MomentumOpenStack  Momentum
OpenStack Momentum
 
Open nebula froscon
Open nebula frosconOpen nebula froscon
Open nebula froscon
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
Dell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-publicDell web monsters-oct2011-v6-public
Dell web monsters-oct2011-v6-public
 
Quantum Networks
Quantum NetworksQuantum Networks
Quantum Networks
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
 
Mirantis Folsom Meetup Intro
Mirantis Folsom Meetup IntroMirantis Folsom Meetup Intro
Mirantis Folsom Meetup Intro
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-2
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-22012 CloudStack Design Camp in Taiwan--- CloudStack Overview-2
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-2
 
RunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfRunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdf
 

Plus de Sebastien Goasguen

Moving from Publican to Read The Docs
Moving from Publican to Read The DocsMoving from Publican to Read The Docs
Moving from Publican to Read The Docs
Sebastien Goasguen
 
CloudStack and BigData
CloudStack and BigDataCloudStack and BigData
CloudStack and BigData
Sebastien Goasguen
 

Plus de Sebastien Goasguen (20)

Kubernetes Sealed secrets
Kubernetes Sealed secretsKubernetes Sealed secrets
Kubernetes Sealed secrets
 
Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: Kubeless
 
Serverless on Kubernetes
Serverless on KubernetesServerless on Kubernetes
Serverless on Kubernetes
 
Kubernetes kubecon-roundup
Kubernetes kubecon-roundupKubernetes kubecon-roundup
Kubernetes kubecon-roundup
 
Docker and CloudStack
Docker and CloudStackDocker and CloudStack
Docker and CloudStack
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOS
 
Apache Libcloud
Apache LibcloudApache Libcloud
Apache Libcloud
 
Moving from Publican to Read The Docs
Moving from Publican to Read The DocsMoving from Publican to Read The Docs
Moving from Publican to Read The Docs
 
Cloud and Big Data trends
Cloud and Big Data trendsCloud and Big Data trends
Cloud and Big Data trends
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the Cloud
 
Build a Cloud Day Paris
Build a Cloud Day ParisBuild a Cloud Day Paris
Build a Cloud Day Paris
 
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamCloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps Amsterdam
 
CloudStack Clients and Tools
CloudStack Clients and ToolsCloudStack Clients and Tools
CloudStack Clients and Tools
 
CloudMonkey
CloudMonkeyCloudMonkey
CloudMonkey
 
Intro to CloudStack API
Intro to CloudStack APIIntro to CloudStack API
Intro to CloudStack API
 
Apache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeApache CloudStack Google Summer of Code
Apache CloudStack Google Summer of Code
 
Avoiding cloud lock-in
Avoiding cloud lock-inAvoiding cloud lock-in
Avoiding cloud lock-in
 
MyCloud for $100k
MyCloud for $100kMyCloud for $100k
MyCloud for $100k
 
CloudStack and BigData
CloudStack and BigDataCloudStack and BigData
CloudStack and BigData
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Apache CloudStack AlpesJUG

  • 1. Apache CloudStack Sebastien Goasguen AlpesJUG, January 30th 2013 Grenoble, France
  • 2. Info • Apache incubator project • http://incubator.apache.org/cloudstack/ • #cloudstack on irc.freenode.net • @cloudstack on Twitter • http://www.slideshare.net/cloudstack • http://cloudstack.org/discuss/mailing-lists.html Welcoming contributions and feedback, Join the fun !
  • 6. IaaS challenges • Not out of the box by itself. • Need a farm of hypervisors – Xen, KVM, Vmware… • Need storage – For image catalogue – For volume/snapshot management • Need flexible network that can be configured on-demand – VLANS, no VLANS, existing net infra, SDN…
  • 7. French Use Cases • INRIA service national d’integration continue • Grid5000 , iKoula • Usharesoft, BtrCloud, Activeeon Integration • Appalia integrator
  • 8. A bit of History • Original company VMOPs (2008) – Founded by Sheng Liang former lead dev on JVM • Open source (GPLv3) as CloudStack • Acquired by Citrix (July 2011) • Relicensed under ASL v2 April 3, 2012 • Accepted as Apache Incubating Project April 16, 2012 • First Apache release ACS 4.0 in November 2012
  • 10. Apache Process • 100% community driven • New ideas, decisions only taken on mailing lists. Votes taken by community • Project led by Project Management Committee (PMC): – http://www.apache.org/dev/pmc.html – http://incubator.apache.org/guides/committer.html • Non committers get invited as committers: – http://community.apache.org/newcommitter.html
  • 12. What the ASF did to CloudStack ?
  • 13. Releases • Apache CloudStack 4.0 released in November • Check out the testing procedure: – https://cwiki.apache.org/CLOUDSTACK/cloudstack -40-test-procedure.html • Or watch my amazing screencast: – http://vimeo.com/54610161 – Apache CloudStack 4.1 planned for March 22nd. Feature Freeze tomorrow...
  • 14. Contributions Examples: Sungard: Announced that 6 developers were joining the Apache project Schuberg Philis: Big contribution in building/packaging and Nicira support PCextreme: RBD/Ceph support Caringo: Support for own object store Basho: Devcloud packaging, S3 integration
  • 15. What Does it do ? • Open source Infrastructure as a Service (IaaS) platform. • Data Center orchestrator • Hypervisor agnostic (with addition of bare metal provisioning) • Support complex enterprise networking (e.g Firewall, load balancer, VPN, VPC…) • Multi-tenant
  • 16. A Very Flexible IaaS Platform Compute Hypervisor Storage Block & Object Primary Storage Secondary Storage Network Network & Network Services http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 17. Architecture / Language • Java application • Tomcat6, Axis2, Maven build + ant – Ant going away in 4.1 • Moving towards a plugin architecture • Collaboration Conference, Nov 30th -Dec 2nd – http://collab12.cloudstack.org/ – http://www.youtube.com/diycloudcomputing
  • 18. Build and Run in 4.1 • git clone https://git-wip- us.apache.org/repos/asf/incubat or-cloudstack.git • mvn clean • mvn install • mvn –P developer –pl developer –Ddeploydb • mvn –pl :cloud-client-ui jetty:run
  • 19. Cloud Interactions OVM Cluster Primary Storage Ap i Xen vcenter vcenter Monitoring Primary CS API Clu I ste AP vSphere Cluster Storage r M n ter End End gm vCe t User UI User UI Primary XS Cluster Storage Admin Admin Clustered Clustered CloudStack XAPI UI UI CloudStack Domain Domain CS Admin & CloudStack CloudStack CloudStack CloudStack End-user API Primary Admin Admin UI UI Management Management JSON KVM Cluster Storage Server Server NetConf Juniper SRX Cloud user Nitro API {API client (Fog/etc)} VNC JSON ec2 API JSON Netscaler Cloud user Console Console Console {ec2 API client } ProxyConsole VM Proxy VM Proxy VM Proxy VM NFS MySQL MySQL Server Sec. Storage Sec. Storage NFS NFS {Proxied} SSH Sec. VM Storage Sec. Storage VM Ajax Ajax HTTPS VM VM Console Console Router VM Router VM HTTP (Template Download) Router VM Router VM HTTP (Template Copy) Router VM Router VM Cloud user HTTP (Swift) http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 20. 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
  • 21. CloudStack Cloud Architecture Internet Internet  Hypervisor is the basic unit of CloudStack Management scale. Server Zone 1  Cluster consists of one ore more hosts of same L3 core L3 core hypervisor  All hosts in cluster have access Pod 1 Access Layer Access Layer Pod N to shared (primary) storage Secondary …. Storage  Pod is one or more clusters, Cluster N usually with L2 switches.  Availability Zone has one or …. more pods, has access to secondary storage. Cluster 1  One or more zones represent Host 11 Host cloud Primary Storage Host 22 Host
  • 22. 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
  • 23. 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
  • 24. Layer-2 Guest Virtual Network CS Virtual Router provides Network Services External Devices provide Network Services Network Hardware exposing API can be controlled Guest Virtual Network 10.1.1.1/8 Guest Virtual Network 10.1.1.1/8 VLAN 100 VLAN 100 Public Public Network/Inter Network/Inter net Guest net Guest Guest Guest Private IP VM 11 Public IP 10.1.1.1 VM 11 10.1.1.1 VM 10.1.1.111 VM Gateway 65.37.141.11 Juniper Juniper Public IP 1 SRX SRX address 65.37.141.11 CS Firewall Firewall CS 10.1.1.1 Guest Guest Guest Guest Virtual Virtual 10.1.1.3 VM 22 VM 10.1.1.3 VM 22 VM Router Router Public IP Private IP DHCP, DNS 65.37.141. NetScaler 10.1.1.112 NetScaler NAT Guest 112 Load Guest Guest Load Guest Load Balancing 10.1.1.4 VM 33 Blancer VM 33 VM Blancer 10.1.1.4 VM VPN Guest Guest Guest Guest 10.1.1.5 VM 44 VM 10.1.1.5 VM 44 VM CS CS DHCP, Virtual Virtual Router Router DNS Slide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • 25. L3 isolation • To go beyond the limitation of VLANs (4096 vlans per switch) • Move to L3 isolation – Shared L2 – Manage one firewall per VM • Potential use of GRE tunnels to create single L2 overlay • GRE in tech preview for site to site VPN.
  • 26. L3 isolation with distributed firewalls Tenant 10.1.0.2 Public Public IP address 1 VM 1 Internet 65.37.141.11 65.37.141.24 65.37.141.36 10.1.0.1 Pod 1 L2 Tenant 10.1.0.3 65.37.141.80 Switch 2 VM 1 Tenant 10.1.0.4 1 VM 2 L3 Core Pod 2 L2 Switch 10.1.8.1 … Tenant 10.1.16.12 10.1.16.1 2 VM 2 Load Pod 3 L2 Balancer Switch Tenant 2 VM 3 10.1.16.21 … Tenant 1 VM 3 10.1.16.47 Tenant 10.1.16.85 1 VM 4 Slide from Chiradeep Vittal
  • 27. A customizable GUI AJAX + API
  • 29. API • Not really REST • A set of methods available over http(s) • Unauthenticated on integration port • Authenticated on 8080 using Access and Secret Key • Python/Ruby clients available • Internal Marvin client • CLI under development • Other clouds client support the API
  • 30. EC2 /S3 compatibility • Significant development work happening to make Cloudstack highly compatible with EC2 /S3 API. • http://wiki.cloudstack.org/display/RelOps/EC2+API +support+in+CloudStack • http://www.slideshare.net/sebastiengoasguen/clou dstack-ec2-configuration • Euca tools, boto etc…should work with cloudstack.
  • 31. Enabling EC2 and S3 • Via the GUI • Via API call on integration API port 8096 http://localhost:8096/client/api? command=updateConfiguration&name=enable.s3.api&value=true http://localhost:8096/client/api? command=updateConfiguration&name=enable.ec2.api&value=true
  • 32. Highly Scalable • See: – http://www.slideshare.net/cloudstack/scalability- 12819428 – From Alex Huang. 10k “resources” managed per Mgt server. 30k resources with 30k VM in simulation. • Management server can be setup in a multi- node configuration with a load-balancer and replicated MySQL.
  • 33. SandBox: DevCloud • A Virtual box appliance packaged to provide a working CloudStack environment. • Aimed at developers but has other use cases: – Xen PV hosts gives nested virtualization – Local EC2/S3 Cloud on your laptop – Networking experiments ? • http://wiki.cloudstack.org/display/comm/Dev Cloud
  • 35. DevCloud: as Host Run CloudStack on local machine Use DevCloud to setup hosts
  • 36. DevCloud to test 4.1 branch • mvn -P developer clean • mvn -P developer install • mvn -P developer -pl developer –Ddeploydb • mvn -P developer -pl tools/devcloud – Ddeploydb • mvn -pl :cloud-client-ui jetty:run Configure infrastructure: • mvn -P developer,deploysvr -pl tools/devcloud -Ddeploysvr
  • 37. Testing Framework –for the PyUG  [environment] • Marvin is a Python dns=10.147.28.6 mshost=10.147.39.69 based framework to run mysql.host=10.147.39.69 tests against a [cloudstack] private.gateway=10.147.40.1 CloudStack install private.pod.startip=10.147.41.121 private.pod.endip=10.147.41.160 • Could be used as a private.netmask=255.255.254.0 public.gateway=10.147.40.1 simulator of a public.vlan.startip=10.147.41.162 datacenter public.vlan.endip=10.147.41.200 public.netmask=255.255.254.0 • Used to configure an hypervisor=XenServer host=10.147.40.10 infrastructure on a mgt host.password=password #storage pools server primary.pool=nfs://10.147.28.7:/expo rt/home/automation/sadhu/primary secondary.pool=nfs://10.147.28.6:/ex port/home/automation/sadhu/secondary
  • 38. 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/
  • 39. Build A Cloud Events • http://www.buildacloud.org • @build_cloud or @sebgoa on twitter • Upcoming events in Europe in 2013: – BACD Ghent Belgium February 1st – FOSDEM February 2-3, Brussels – Probable LinuxTag, Berlin, May – Probable Summer: RMLL 6-11 July, Brussels – Probable in Fall: Linuxcon Europe, OWF Paris,
  • 40. Info • Apache incubator project • http://incubator.apache.org/cloudstack • #cloudstack and #cloudstack-dev on irc.freenode.net • @CloudStack on Twitter • http://www.slideshare.net/cloudstack • http://cloudstack.org/discuss/mailing-lists.html Welcoming contributions and feedback, Join the fun !

Notes de l'éditeur

  1. Caveat: A contributor is identified by sending a single email on the –dev or –users mailing list. This graphs plots the number of unique email addresses
  2. Even though this does not really makes sense because companies don’t have a standing with ASF, individuals do.
  3. https://cwiki.apache.org/CLOUDSTACK/building-with-maven.html
  4. As vms get created and destroyed, CloudStack has to ensure the configuration of the host-based firewalls (iptables) is consistent with the security group rules programmed by the cloud user
  5. http://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root_Admin.html
  6. https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+devcloud+environment+setup
  7. https://cwiki.apache.org/confluence/display/CLOUDSTACK/Testing+with+Python