Post on 15-Jan-2017
Embed Size (px)
Apache CloudStackSanthosh Kumar Edukulla
AgendaOverview of CloudStackFew numbers, Users, Introduction etc.CloudStack Overview and Architecture.Demo of CloudStackCloudStack Use Cases, Community and Getting InvolvedQ&A
What is Apache CloudStack?
Apache CloudStack is a scalable, multi-tenant, open source, purpose-built, cloud orchestration platform for delivering turnkey Infrastructure-as-a-Service clouds. the most mature, most scalable, most proven IaaS platform available today.
Characteristics of CloudsOn-Demand Self-Service
Broad Network Access
Cloud Service Models
USER CLOUD a.k.a. SOFTWARE AS A SERVICE
Single application, multi-tenancy, network-based, one-to-many delivery of applications, all users have same access to features.
Examples: Salesforce.com, Google Docs
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
CloudStack History2008 Vmops launches (rebrands Cloud.com)April 2010 Cloud.com Releases CloudStack under GPLv3July 2011 - Citrix acquires CloudStackApril 2012 - CloudStack donated to Apache Software FoundationNovember 2012 First Apache CloudStack Release (4.0)March 2013 - CloudStack becomes a top-level Apache project2014 Majority of committers are not from Citrix
Few Salient notes:
Open Source (Apache-Licensed) IaaSVast Community of Users and ProvidersWritten in Java*Hypervisor AgnosticTime-Based ReleasesProven productStrong Apache governance model26 k commitsPeaked at 2.5 Million lines of code24k unique IPs download our packages in last 12 months200 active code contributors 81 project committers32 PMC members (20 organizations)Over 100 people working on translation2500 mailing list msgs per month
CloudStack Layered viewCommodity computeStorageNetworking HypervisorCMP - Orchestration layerorchestration APIeCommerce PlatformChoice of Hypervisor (KVM, VMWare, Xen, hyper-V)Apache CloudStackEcommerce platformCloudStack APIBillingConfig ManagementNetworkingcomputeStoragePaaSDeveloper toolingMulti-cloud management
CloudStack Deployment View
Pod 1.Cluster NAccess Layer
Host 2Cluster 1Simple view of CloudStack ArchitectureHost 1Hypervisor is the basic unit of scale. Cluster consists of one ore more hosts of same hypervisor All hosts in cluster have access to shared (primary) storagePod is one or more clusters, usually with L2 switches. Availability Zone has one or more pods, has access to secondary storage. One or more zones represent cloud
SecondaryStoragePod NCloudStack Management ServerInternet
What CloudStack Provides
Feature HighlightsEasy InstallationSimple to configure and use in minutes.Broad Hypervisor support(KVM, XenServer, Xen Cloud Platform, VMware via vCenter, Bare Metal via IPMI)Easy plugin modelAWS API fidelityScalability, High Availability, Load BalancingBroad vendor hardware for networking, storage supportChoice of interfaces Web UI, command line, REST-based APIDeveloper friendly, easy to get started, add, refactor, contribute..(We will see in demo..)
Its the heart of the CloudStack system. Manages the assignment of guest VMs to particular hosts. Uses algorithms like First fit, Disperse, Fill first etc, supports overprovisioning.Manages the assignment of public and private IP addresses to particular accountsManages the allocation of storage to guests as virtual disks.Manages snapshots, templates, and ISO images, possibly replicating them across data centersThe Management Server
ComputeCloudStack ProvidesOn-demand Access toInfrastructure Through a Self-Service PortalCitrix Confidential - Do Not Distribute
CloudStack provides an API that gives programmatic access to all the management features available in the UIThe API enables the creation of command line tools and new user interfaces to suit particular needsAuthenticated on 8080 w/KeysUnauthenticated on 8096 (off by default)Python + Ruby clients availableResponses in XML or JSON
API and Extensibility
Virtual Machine Management
Console AccessCPU UtilizedNetwork ReadNetwork Writes
Change Service Offering
2 CPUs1 GB RAM20 GB20Mbps
4 CPUs4 GB RAM200 GB100Mbps
Volume & Snapshot Management
Add / Delete Volumes
Create Templates from Volumes
View Snapshot History
.12/2/2012 7.30 am
2/2/2012 7.30 am
Open Platform to Suit Customer Needs
SwiftBlock & Object
VPNNetwork & Network Services
Multi-tenancy & Account Management
Domain is a unit of isolation that represents a customer org, business unit or a resellerDomain can have arbitrary levels of sub- domainsA Domain can have one or more accountsAn Account represents one or more users and is the basic unit of isolationAdmin can limit resources at the Account or Domain
CloudDomain Org AAdminDomain Reseller A
Sub-Domain Org CAdmin
ResourcesVMs, IPs,SnapshotsResourcesVMs, IPs,Snapshots
Primary:Primary storage is associated with a clusterStores the disk volumes for all the VMs running on hosts in a clusterSecondary:Secondary storage is associated with a zone and is available to all hosts in that zone.
Stores Templates - OS images used to create VMs, ISO, Disk volume snapshots (saved copies of VM data)
Cloud Infrastructure Storage
One or more hosts groupedinto a clusterOne or more clustersgrouped into a podOne or more pods grouped into a zoneOne or more zones controlled by one management server Cloud Infrastructure - Summary
CloudStack Management Server
CloudStack NetworkingNetwork Services: CloudStack manages various network services viz., DHCP, VLAN allocation, Firewall, NAT/Port forwarding, routing, VPN, Load Balancing, supported by various network hardware vendors.
Traffic Types: Management network, guest network, private network, public network, link local network.
Network Modes: Basic and Advanced
192.168.1.55192.168.1.56192.168.1.57 192.168.1.58192.168.1.59 192.168.1.60
VM 3All zone tenants share a single flat public networkTenant isolation provided by Security GroupsHypervisor level firewall IP Address filteringLayer 3 IsolationScales much better than VLANsCloudStack virtual system provides dhcp, dns services etc.
Multiple VLANs for isolationL2TP-based VPNVirtual router is gatewayLoad balancer available1:1 NATMetering dataOne virtual router per accountDoes not scale as wellAdvanced Networking:
Physica l Router
VMVMVMPublic NetworkCustomer PrivateNetworks23Customer 123Customer 2VLAN 100VLAN 200
Cloud Infrastructure Large-ScaleRedundant NetworkSecondary Storage Servers
Pod 1Pod 2
Layer-3 switches with firewall modulesLayer-2 switches
Managemen t Server ClusterPrimary Storage Servers
Lets Build Our Cloud
Requirements and configuration
CloudStack European User Group Geneva CloudStack User GroupCloudStack - RomaniaAustralian CloudStack User GroupCloudStack Brazil User GroupVancouver CloudStack MeetupJapan CloudStack User GroupCloudStack India Bangalore Chapter CloudStack India Hyderabad ChapterCloudStack Pune MeetupCloudStack SF Bay Area Users Group CloudStack NYC User Group CloudStack Boston User GroupCloudStack DC and NoVA User Group
CloudStack Collaboration Conferences
Tooling and Support SystemMarvinCloudMonkeySimulatorDevCloudAnsible RecipesVagrant SupportDockerized CS
Use Cases(Many)Private CloudDual-Workload Private CloudPublic Cloud (ISP/Providers)Hybrid CloudSmall to Very, Very LargeDevOps AWS insourcing