• Save
Deploying Apache CloudStack from API to UI
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Deploying Apache CloudStack from API to UI

on

  • 8,875 views

For most organizations with a large computing footprint, it's not a matter of if you'll need a private cloud - it's when, and what kind. One of the most mature and widely deployed options is Apache ...

For most organizations with a large computing footprint, it's not a matter of if you'll need a private cloud - it's when, and what kind. One of the most mature and widely deployed options is Apache CloudStack, a robust, turnkey cloud that includes everything you need to set up a private, public, or hybrid cloud. We'll cover Apache CloudStack from API to UI, and a little of everything in between.

Statistics

Views

Total Views
8,875
Views on SlideShare
4,222
Embed Views
4,653

Actions

Likes
3
Downloads
0
Comments
0

25 Embeds 4,653

http://www.aarondelp.com 4015
http://www.dissociatedpress.net 281
http://dissociatedpress.net 226
http://feeds.feedburner.com 47
http://abtasty.com 26
http://r.pi.gs 10
http://newsblur.com 6
http://joebrockmeier.net 6
http://joebrockmeier.org 6
http://dev.newsblur.com 4
http://www.joebrockmeier.com 3
http://joebrockmeier.com 3
http://www.newsblur.com 3
http://prlog.ru 2
http://aarondelp.com.netzcheck.com 2
http://ursamedia.net 2
http://xianguo.com 2
http://1841626496323335774_5e166178daf2b5943f7efa25b91ea9570a151c44.blogspot.com 2
http://www.joebrockmeier.org 1
http://webcache.googleusercontent.com 1
http://www.joebrockmeier.net 1
http://inoreader.com 1
http://www.feedspot.com 1
http://feedly.com 1
http://www.ursamedia.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • User-driven solutions to real problemsLower barrier to participationLarger user base of users helping users Aggressive release cycles stay current with the state-of-the-artChoice of infrastructureControl of data and securityAvoid lock-inOpen data, open standards, open APIs
  • A user can belong to only one Account, .ie. the same User cannot belong to multiple Accounts.Whenever creating an account at any domain level it can be of two types - Admin or user. If account == Admin then he will be domain admin of that domain and if created with type=user he will be a regular account under that domain.Admin created at ROOT level is called ROOT admin and since ROOT is the top domain he has privileges to act on all the resources.Username is unique in a Domain across Accounts in that Domain. The same username can exist in other domains, including subdomains.Account name is unique in a domain. The same Account name can exist in other domains, including subdomains.Domain name can repeat as long as the full pathname from ROOT is unique. For ex, you can have ROOT/d1, as well as ROOT/foo/d1, and ROOT/bar/d1.Resources belong to an Account, not individual users in that account. Billing, resource limits etc are maintained by Account, not usernames.CloudStack allows to create 3 different types of accounts --> admin/domain-admin or user account. All the roles (admin, domain admins and user) are attached at account level.Under the account all the users have the same privileges. There are no role based users in one account.We can have multiple admins for the same domain.All the domains get created under the ROOT domain.

Deploying Apache CloudStack from API to UI Presentation Transcript

  • 1. Deploying Apache CloudStack: From API to UI Joe Brockmeier PPMC Member Apache CloudStack jzb@apache.org
  • 2. UGLY SLIDES AHEAD
  • 3. What This Talk is About• What a Cloud Is and Challenges for IaaS• History and Overview of CloudStack• CloudStack’s Features and Capabilities• 60 minutes (maybe more)
  • 4. Five Six Characteristics of Clouds• On-Demand Self-Service• Broad Network Access• Resource Pooling• Rapid Elasticity• Measured Service• API Access
  • 5. Cloud Service Models USER CLOUD a.k.a. SOFTWARE AS A SERVICE Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features. Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE Application developer model, Application deployed to an elastic service that autoscales, low administrative overhead. No concept of virtual machines or operating system. Code it and deploy it. Examples: VMware CloudFoundry, Google AppEngine, Windows Azure, Rackspace Sites, Red Hat OpenShift, Active State Stackato, Appfog SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE Servers and storage are made available in a scalable way over a network. Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack, Eucalyptus, OpenNebula
  • 6. Deployment Models
  • 7. Why Open Source?
  • 8. History and more…UNDERSTANDING CLOUDSTACK
  • 9. What is Apache CloudStack?Apache CloudStack is an open source IaaS that supports multiple hypervisors, high availability, complexnetworking, firewall, load balancer, and VPNconfigurations in a multi-tenant environment.
  • 10. Specifically…CloudStack is a set of applications that:• Provides separation between tenants• Handle allocating compute resources (inc. custom allocators)• Let users provision compute resources• Manages High Availability• Massively scalable (thousands of nodes)• Resource usage accounting
  • 11. CloudStack History• CloudStack began as VMOps (2008) later became Cloud.com.• Cloud.com released as CloudStack under GPLv3 (May 2010)• Cloud.com acquired by Citrix (July 2011)• Entirely open source (August 2011)• Relicensed & proposed to Apache (April 3, 2012)• Accepted as incubating project (April 16, 2012)• First release (4.0.0-incubating) (November 6, 2012)• First minor release (4.0.1-incubating) (February 12, 2013)
  • 12. CloudStack UI• Reference Implementation of the API• Built with HTML 4, CSS, and jQuery• Uses Java Server Pages for localization• Three types of customizations – Minor (logo, minor CSS) – Major (adding/changing tabs, additional links) – Rewrite using API
  • 13. Or Visually…
  • 14. Architectural Overview (Basic)
  • 15. Hypervisor Support• KVM• XenServer• Xen Cloud Platform• VMware via vCenter• Bare Metal via IPMI
  • 16. CloudStack Terminology • Zone: Availability zone, aka Regions. Could be worldwide. Different data centers • Pods: Racks or aisles in a data center • Clusters: Group of machines with a common type of Hypervisor • Host: A Single server • Primary Storage: Shared storage across a cluster • Secondary Storage: Shared storage in a single Zone
  • 17. CloudStack Architecture Internet  Hypervisor is the basic unit CloudStack Management of scale. ServerZone 1  Cluster consists of one ore more hosts of same L3 core hypervisor  All hosts in cluster havePod 1 Access Layer Pod N access to shared (primary) Secondary storage …. Storage Cluster N  Pod is one or more clusters, usually with L2 switches. ….  Availability Zone has one or more pods, has access to Cluster 1 secondary storage. Host 1  One or more zones Primary represent cloud Storage Host 2
  • 18. CloudStack Storage• Primary Storage: – Anything that can be mounted on the node of a cluster. – Cluster LVM…iSCSI… – Holds disk images of running VMs – Support for CEPH with KVM hypervisors• Secondary Storage: – Available across the zone – Holds snapshots and templates (image repo) – Can use OpenStack swift or any object store (Gluster FS…) – New support for Caringo• Can use NFS for both to start• Storage abstraction refactoring underway in 4.1.0 and 4.2.0
  • 19. 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
  • 20. Management Server• UI/API bits are stateless (state is stored in a MySQL database)• All UI functionality is available as an API call• Restful API – Unauthenticated API on 8096 for localhost (disabled by default) – Authenticated on port 8080 – Responses in XML or JSON
  • 21. Highly Scalable• Up to 10K resources managed per management server node• Internal testing w/software simulators shows up to 30K physical resources and 30K VMs managed by 4 management server nodes.• Real production deployments of tens of thousands of resources• See Alex Huang’s presentation: http://is.gd/alexh_scale
  • 22. CloudStack Allocation• How are VMs placed, storage allocated, etc.?• CloudStack has several defaults – First fit – Fill first – Disperse• Don’t like those? Create your own!• Allows over-provsioning• OS Preference
  • 23. High Availability• RFMTTR – “really fast mean time to recovery.”• CloudStack is not (alone) a magical HA solution.• Watches HA-enabled VMs to ensure they’re up, and that the hypervisor it’s on is up. Will restart on another if the hypervisor goes down.• Redundant router.
  • 24. Load Balancing• Uses HA Proxy• CloudStack supports load-balancing for distributing traffic to its instances• Choose between round-robin, source, or least connections• Choose stickiness policy (source, lbcookie, appcookie)
  • 25. Snapshots• CloudStack allows you to take snapshots manually or set up recurring snapshots.• Snapshots can be managed automagically (keep N number) and manually (delete snapshot manually).• Can be turned into templates or volumes to be used by other instances.
  • 26. CloudStack Networking• CloudStack manages – DHCP – VLAN allocation – Firewall – NAT/Port forwarding – Routing – VPN – Load Balancing• CloudStack can manage physical network hardware (F5-Big IP, NetScaler, Juniper SRX)
  • 27. CloudStack Networking Types• CloudStack offers Basic and Advanced Networking – Basic: Easy, can only be one physical network • Every host, system VM, and guest instance has a unique IP – Advanced: Allows multiple physical networks • Each account has a public IP, assigned to virtual router, guest IP range (e.g. 10.0.1.10/24), and VLAN ID for the isolated guest network • Guests communicate via their own dedicated VLAN
  • 28. CloudStack Networks• Management Network: Used by hypervisors and management server to communicate• Private Network: Default network for system VMs (virtual router, secondary storage VM, console proxy VM)• Public Network: Public-facing (e.g. the Internet)• Guest Network: Network VMs are provisioned on• Link-local Network: Network used for communication between hypervisor and system VMs. (RFC 3927)
  • 29. Security Groups• Traditional isolation has been via VLAN• VLANs provide isolation, but at the cost of scaling – Standard limit is 4,096 VLANs – Hardware that supports upper limit is expensive – What happens with 4,097?• Amazon and others use Layer 3 isolation (Security Groups)
  • 30. Security Groups• Assumes a quasi-trusted Layer 2 network• Filtering/isolation happens at the bridge level (think ebtables)• Deny by default
  • 31. Accounts, Domains, and Projects• CloudStack has a top-level domain called ROOT• You can create sub-domains• You can create 3 types of accounts, admins, domain-admins, or users• Projects can be used to hold resources for time-limited projects• Supports LDAP integration• CloudStack’s account system is very simple – don’t make it more complicated!
  • 32. Usage Accounting• Provides stats that can be used for billing (but is not a billing solution)• Usage stats show: VM count, CPU usage, disk allocation and use, network usage over time.• Integration howtos for importing to Excel, Ubersmith, Amysta, and Cloud Portal.
  • 33. APIs• Root Admin, Domain Admin, User• Set of methods available over HTTP(S)• Authenticated on 8080 w/Keys• Unauthenticated on 8096 (off by default)• Python + Ruby clients available
  • 34. AWS EC2 and S3 Compatibility• Includes an EC2/S3 compatibility layer• See: – http://wiki.cloudstack.org/display/RelOps/EC2+AP I+support+in+CloudStack – http://www.slideshare.net/sebastiengoasguen/clo udstack-ec2-configuration• Euca Tools, Boto, etc. should work with CloudStack
  • 35. CloudMonkey• New ASF CloudStack CLI• Python code, built using Marvin• https://cwiki.apache.org/CLOUDSTACK/cl oudstack-cloudmonkey-cli.html• Available from CloudStack source or pypi: – http://pypi.python.org/pypi/cloudmonkey/
  • 36. Trying CloudStack
  • 37. DevCloud• DevCloud is a VirtualBox image w/nested virt.• Grab the DevCloud image from:http://wiki.cloudstack.org/display/COMM/DevCloud• Log in via the GUI:http://localhost:8080/client• SSH to DevCloud:ssh -p 2222 root@localhostUsername: admin Password: password• DevCloud KVM – effort to run DevCloud on a KVM host
  • 38. CloudStack Runbook• Minimal install (1 server)• Written by David Nalley w/fixes from the community• http://people.apache.org/~ke4qqq/runbook /• Focuses on CentOS w/KVM – other runbooks in process for Ubuntu w/Xen or KVM.
  • 39. Get Involved• Main Site: CloudStack.org• IRC: #cloudstack and #cloudstack-dev• Follow @cloudstack on Twitter• Lots of Presos: http://slideshare.net/cloudstack• Mailing Lists: http://cloudstack.org/discuss/mailing- lists.html
  • 40. Contact MeEmail: jzb@apache.orgPhone: +1 314-669-4JZB(4592)Blog: http://dissociatedpress.net/Twitter: