SlideShare a Scribd company logo
1 of 41
Building FOSS Clouds

    Sebastien Goasguen, Kris Buytaert
          LinuxCon EU, Nov 6th
             Barcelona, Spain

Slides at: slideshare.net/sebastiengoasguen
Speakers…
• Joe stayed home to deal with the release,




• Kris Buytaert stepped in:
Tutorial Outline
• 10:10 – 10:45 FOSS Clouds and CloudStack
  intro

• 10:45 – 11:00 DevCloud demo

• 11:00 – 11:50 FOSS Cloud Automation,
  DevOps configuration and monitoring tools
Define:tutorial
• A tutorial is a method of transferring
  knowledge and may be used as a part of a
  learning process. More interactive and specific
  than a book or a lecture…<snip>

• Therefore:
DevCloud
• A CloudStack sandbox
  – Pass the USB keys around and get the Vbox appliance
    devcloud.ova file


• Import the appliance in VirtualBox
  – Play with CloudStack
  – http://wiki.cloudstack.org/display/COMM/DevCloud
  – https://cwiki.apache.org/confluence/display/CLOUDSTA
    CK/CloudStack+devcloud+environment+setup
Objectives
•   Learn the basic architecture of a cloud
•   Learn a few new tools
•   Explore CloudStack via its sandbox
•   Discover some concepts of automation
•   Get home with some ideas to try out
•   Mileage may vary
NIST Definition of Cloud

• "cloud computing is a model for enabling
  ubiquitous, convenient, on-demand network
  access to a shared pool of configurable
  computing resources (e.g., networks, servers,
  storage, applications and services) that can be
  rapidly provisioned and released with
  minimal management effort or service
  provider interaction.“ – NIST
NIST Service/Deployment Models
• Service Models:
  • IaaS (e.g EC2, rackspace)
  • PaaS (e.g GAE, Azure)
  • SaaS (e.g Gapps)
• Deployment model:
  • Private cloud
  • Public cloud
  • Hybrid cloud (Private than can use Public)
NIST Key Characteristics of Cloud
• Elasticity
   • Expands and Shrinks as needed
   • E.g Elastic Load Balancing, Elastic Map Reduce
• Measured Service
   • Utility Pricing. You pay for what you use
   • E.g $0.08 for one hour of small instance
• On-demand
   • You get it when you ask for it
   • E.g One api call and you get your machine, ~no
     queue
“Guidelines”
• Virtualization and automation are key
  enablers of the cloud characteristics
• Build your infrastructure to enable on-
  demand elastic provisioning of –servers,
  storage, network –
• Setup a PaaS that suits you and your
  applications
• Then move to continuous delivery of
  applications …
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…
Let’s make Red Hat happy
Announcing Apache CloudStack 4.0
Coming at 12:00 EST
• Apache CloudStack 4.0
• Check out the testing procedure:
  – https://cwiki.apache.org/CLOUDSTACK/cloudstack
    -40-test-procedure.html
• Or watch my amazing screencast:
  – http://vimeo.com/52150218
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 (ACS 4.0) release expected now
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
Contributions
           Examples:

           Sungard: Announced that
           6 developers were joining
           the Apache project
           Schuberg Philis: Big
           contribution in
           building/packaging and
           Nicira support
           Go Daddy: Early proto of
           Maven building
           Caringo: Support for own
           object store
           Basho: Devcloud
           packaging
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


• Collaboration Conference, Nov 30th -Dec 2nd
  – http://collab12.cloudstack.org/
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
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
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
•   Cloudmonkey CLI
•   Other clouds client support the API
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
DevCloud
• Several use cases:
  – Try CloudStack in an isolated sandbox. Runs within
    the appliance
  – Develop CloudStack on own machine, build locally
    and deploy new version in DevCloud (Build and
    test)
  – Develop and Run locally, use DevCloud as Xen
    hosts
DevCloud: self-contained
CloudStack runs in the appliance
Testing “4.0” code in DevCloud
• Deploy new CloudStack code in self-contained
  DevCloud:
• mvn –P deps
• ant rdeploy
• ant rdeploydb
  – Wipes database of mgt server, you will need to
    reconfigure the “data center”
• ant rdebug
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
Demo time
• http://vimeo.com/52150218
Info
•   Apache incubator project
•   http://www.cloudstack.org
•   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 !

More Related Content

What's hot

Cloudstack vs Openstack
Cloudstack vs OpenstackCloudstack vs Openstack
Cloudstack vs OpenstackHuzefa Husain
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Madhuri Kumari
 
Cloudstack at Spotify
Cloudstack at SpotifyCloudstack at Spotify
Cloudstack at SpotifyNoa Resare
 
Building clouds with apache cloudstack apache roadshow 2018
Building clouds with apache cloudstack   apache roadshow 2018Building clouds with apache cloudstack   apache roadshow 2018
Building clouds with apache cloudstack apache roadshow 2018ShapeBlue
 
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 UIJoe Brockmeier
 
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 Comparisonbizalgo
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)Mirantis
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioningbuildacloud
 
How to Design a Scalable Private Cloud
How to Design a Scalable Private CloudHow to Design a Scalable Private Cloud
How to Design a Scalable Private CloudAFCOM
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppetbuildacloud
 
Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Tim Mackey
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVgavin_lee
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture FutureKimihiko Kitase
 
Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinderopenstackindia
 
Open stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupOpen stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupGene Dubensky
 

What's hot (20)

CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Cloudstack vs Openstack
Cloudstack vs OpenstackCloudstack vs Openstack
Cloudstack vs Openstack
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 
Cloudstack at Spotify
Cloudstack at SpotifyCloudstack at Spotify
Cloudstack at Spotify
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack
Introduction to CloudStack
 
Building clouds with apache cloudstack apache roadshow 2018
Building clouds with apache cloudstack   apache roadshow 2018Building clouds with apache cloudstack   apache roadshow 2018
Building clouds with apache cloudstack apache roadshow 2018
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
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 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
 
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
2 Day Bootcamp for OpenStack--Cloud Training by Mirantis (Preview)
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
 
How to Design a Scalable Private Cloud
How to Design a Scalable Private CloudHow to Design a Scalable Private Cloud
How to Design a Scalable Private Cloud
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
 
Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTV
 
CloudStack Architecture Future
CloudStack Architecture FutureCloudStack Architecture Future
CloudStack Architecture Future
 
CloudStack vs Openstack
CloudStack vs OpenstackCloudStack vs Openstack
CloudStack vs Openstack
 
OpenStack Report
OpenStack ReportOpenStack Report
OpenStack Report
 
Storage as a service and OpenStack Cinder
Storage as a service and OpenStack CinderStorage as a service and OpenStack Cinder
Storage as a service and OpenStack Cinder
 
Open stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetupOpen stack solidfire-mavenspire-meetup
Open stack solidfire-mavenspire-meetup
 

Viewers also liked

Open Stack vs .NET Stack - For Startups
Open Stack vs .NET Stack - For StartupsOpen Stack vs .NET Stack - For Startups
Open Stack vs .NET Stack - For StartupsBryan Starbuck
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerDavinder Kohli
 
Hybrid Cloud with IBM Bluemix, Docker and Open Stack
Hybrid Cloud with IBM Bluemix, Docker and Open StackHybrid Cloud with IBM Bluemix, Docker and Open Stack
Hybrid Cloud with IBM Bluemix, Docker and Open Stackgjuljo
 
Understanding the Cloud Stack
Understanding the Cloud StackUnderstanding the Cloud Stack
Understanding the Cloud StackRapidScale
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateAnimesh Singh
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 

Viewers also liked (11)

CloudStack S3
CloudStack S3CloudStack S3
CloudStack S3
 
Open Stack vs .NET Stack - For Startups
Open Stack vs .NET Stack - For StartupsOpen Stack vs .NET Stack - For Startups
Open Stack vs .NET Stack - For Startups
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
 
Hybrid Cloud with IBM Bluemix, Docker and Open Stack
Hybrid Cloud with IBM Bluemix, Docker and Open StackHybrid Cloud with IBM Bluemix, Docker and Open Stack
Hybrid Cloud with IBM Bluemix, Docker and Open Stack
 
Understanding the Cloud Stack
Understanding the Cloud StackUnderstanding the Cloud Stack
Understanding the Cloud Stack
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 

Similar to Building FOSS Clouds with Apache CloudStack 4.0

CloudStack for Java User Group
CloudStack for Java User GroupCloudStack for Java User Group
CloudStack for Java User GroupSebastien Goasguen
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia Jaesuk Ahn
 
Openstack in action2 Rackspace- state of the openstack union 31-05-12
Openstack in action2   Rackspace- state of the openstack union 31-05-12Openstack in action2   Rackspace- state of the openstack union 31-05-12
Openstack in action2 Rackspace- state of the openstack union 31-05-12eNovance
 
OpenStack Day Italy: openATTC as an open storage platform for OpenStack
OpenStack Day Italy: openATTC as an open storage platform for OpenStackOpenStack Day Italy: openATTC as an open storage platform for OpenStack
OpenStack Day Italy: openATTC as an open storage platform for OpenStackit-novum
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sinaHui Cheng
 
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 ComputingMark Hinkle
 
Building an open source cloud storage platform for OpenStack - openATTIC
Building an open source cloud storage platform for OpenStack - openATTICBuilding an open source cloud storage platform for OpenStack - openATTIC
Building an open source cloud storage platform for OpenStack - openATTICit-novum
 
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 CloudStackRightScale
 
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Raul Leite
 
Workshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationWorkshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationJayaprakash R
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamBeny Raja
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnHui Cheng
 
Shannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyPuppet
 

Similar to Building FOSS Clouds with Apache CloudStack 4.0 (20)

CloudStack for Java User Group
CloudStack for Java User GroupCloudStack for Java User Group
CloudStack for Java User Group
 
Intro to Cloudstack
Intro to CloudstackIntro to Cloudstack
Intro to Cloudstack
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
Openstack in action2 Rackspace- state of the openstack union 31-05-12
Openstack in action2   Rackspace- state of the openstack union 31-05-12Openstack in action2   Rackspace- state of the openstack union 31-05-12
Openstack in action2 Rackspace- state of the openstack union 31-05-12
 
OpenStack Day Italy: openATTC as an open storage platform for OpenStack
OpenStack Day Italy: openATTC as an open storage platform for OpenStackOpenStack Day Italy: openATTC as an open storage platform for OpenStack
OpenStack Day Italy: openATTC as an open storage platform for OpenStack
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
OpenStack Momentum
OpenStack  MomentumOpenStack  Momentum
OpenStack Momentum
 
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
 
Building an open source cloud storage platform for OpenStack - openATTIC
Building an open source cloud storage platform for OpenStack - openATTICBuilding an open source cloud storage platform for OpenStack - openATTIC
Building an open source cloud storage platform for OpenStack - openATTIC
 
OpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open cloudsOpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open clouds
 
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
 
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
Visão Técnica - RHOS (Red Hat Enterprise Linux OpenStack)
 
Workshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, VirtualizationWorkshop - Openstack, Cloud Computing, Virtualization
Workshop - Openstack, Cloud Computing, Virtualization
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ Kalasalingam
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
KT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk AhnKT ucloud storage, by Jaesuk Ahn
KT ucloud storage, by Jaesuk Ahn
 
Am 02 osac_kt_swift
Am 02 osac_kt_swiftAm 02 osac_kt_swift
Am 02 osac_kt_swift
 
Shannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco IntroShannon McFarland OpenStack/Cisco Intro
Shannon McFarland OpenStack/Cisco Intro
 
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECSWeaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
Weaveworks at AWS re:Invent 2016: Operations Management with Amazon ECS
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David Nalley
 

More from Sebastien Goasguen

Kubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessKubernetes Native Serverless solution: Kubeless
Kubernetes Native Serverless solution: KubelessSebastien Goasguen
 
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 CERNSebastien Goasguen
 
Kubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSKubernetes on CloudStack with coreOS
Kubernetes on CloudStack with coreOSSebastien 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 DocsSebastien Goasguen
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSebastien Goasguen
 
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 AmsterdamSebastien Goasguen
 
Apache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeApache CloudStack Google Summer of Code
Apache CloudStack Google Summer of CodeSebastien Goasguen
 
Cloud Standards and CloudStack
Cloud Standards and CloudStackCloud Standards and CloudStack
Cloud Standards and CloudStackSebastien Goasguen
 

More from 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
 
Git 101 for CloudStack
Git 101 for CloudStackGit 101 for CloudStack
Git 101 for CloudStack
 
Avoiding cloud lock-in
Avoiding cloud lock-inAvoiding cloud lock-in
Avoiding cloud lock-in
 
Cloud Standards and CloudStack
Cloud Standards and CloudStackCloud Standards and CloudStack
Cloud Standards and CloudStack
 

Building FOSS Clouds with Apache CloudStack 4.0

  • 1. Building FOSS Clouds Sebastien Goasguen, Kris Buytaert LinuxCon EU, Nov 6th Barcelona, Spain Slides at: slideshare.net/sebastiengoasguen
  • 2. Speakers… • Joe stayed home to deal with the release, • Kris Buytaert stepped in:
  • 3. Tutorial Outline • 10:10 – 10:45 FOSS Clouds and CloudStack intro • 10:45 – 11:00 DevCloud demo • 11:00 – 11:50 FOSS Cloud Automation, DevOps configuration and monitoring tools
  • 4. Define:tutorial • A tutorial is a method of transferring knowledge and may be used as a part of a learning process. More interactive and specific than a book or a lecture…<snip> • Therefore:
  • 5. DevCloud • A CloudStack sandbox – Pass the USB keys around and get the Vbox appliance devcloud.ova file • Import the appliance in VirtualBox – Play with CloudStack – http://wiki.cloudstack.org/display/COMM/DevCloud – https://cwiki.apache.org/confluence/display/CLOUDSTA CK/CloudStack+devcloud+environment+setup
  • 6. Objectives • Learn the basic architecture of a cloud • Learn a few new tools • Explore CloudStack via its sandbox • Discover some concepts of automation • Get home with some ideas to try out • Mileage may vary
  • 7. NIST Definition of Cloud • "cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.“ – NIST
  • 8. NIST Service/Deployment Models • Service Models: • IaaS (e.g EC2, rackspace) • PaaS (e.g GAE, Azure) • SaaS (e.g Gapps) • Deployment model: • Private cloud • Public cloud • Hybrid cloud (Private than can use Public)
  • 9. NIST Key Characteristics of Cloud • Elasticity • Expands and Shrinks as needed • E.g Elastic Load Balancing, Elastic Map Reduce • Measured Service • Utility Pricing. You pay for what you use • E.g $0.08 for one hour of small instance • On-demand • You get it when you ask for it • E.g One api call and you get your machine, ~no queue
  • 10. “Guidelines” • Virtualization and automation are key enablers of the cloud characteristics • Build your infrastructure to enable on- demand elastic provisioning of –servers, storage, network – • Setup a PaaS that suits you and your applications • Then move to continuous delivery of applications …
  • 14. 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…
  • 15. Let’s make Red Hat happy
  • 17. Coming at 12:00 EST • Apache CloudStack 4.0 • Check out the testing procedure: – https://cwiki.apache.org/CLOUDSTACK/cloudstack -40-test-procedure.html • Or watch my amazing screencast: – http://vimeo.com/52150218
  • 18. 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 (ACS 4.0) release expected now
  • 20. 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
  • 22. Contributions Examples: Sungard: Announced that 6 developers were joining the Apache project Schuberg Philis: Big contribution in building/packaging and Nicira support Go Daddy: Early proto of Maven building Caringo: Support for own object store Basho: Devcloud packaging
  • 23. 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
  • 24. Architecture / Language • Java application • Tomcat6, Axis2, Maven build + ant – Ant going away in 4.1 • Collaboration Conference, Nov 30th -Dec 2nd – http://collab12.cloudstack.org/
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. A customizable GUI AJAX + API
  • 32. 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 • Cloudmonkey CLI • Other clouds client support the API
  • 33. 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
  • 34. DevCloud • Several use cases: – Try CloudStack in an isolated sandbox. Runs within the appliance – Develop CloudStack on own machine, build locally and deploy new version in DevCloud (Build and test) – Develop and Run locally, use DevCloud as Xen hosts
  • 36. Testing “4.0” code in DevCloud • Deploy new CloudStack code in self-contained DevCloud: • mvn –P deps • ant rdeploy • ant rdeploydb – Wipes database of mgt server, you will need to reconfigure the “data center” • ant rdebug
  • 37. DevCloud: as Host Run CloudStack on local machine Use DevCloud to setup hosts
  • 38. 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
  • 39. 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
  • 41. Info • Apache incubator project • http://www.cloudstack.org • 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 !

Editor's Notes

  1. https://cwiki.apache.org/CLOUDSTACK/building-with-maven.html
  2. http://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root_Admin.html
  3. https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+devcloud+environment+setup
  4. https://cwiki.apache.org/confluence/display/CLOUDSTACK/Testing+with+Python