BRKDCT-1253: Introduction to OpenStack Daneyon Hansen, Software Engineer
Agenda Background Technical Overview Demonstration Q&A 2
Looking Back Do You Remember What This Guy Did to IT? Linux 3
The Internet The Internet was built on Open Source Software How will you build your cloud? 4
Welcome to OpenStack The Cloud Needs and WILL have an Open Source operating system to achieve Internet Scale: 5
OpenStack: A Brief History NASA Launches Nebula One of the first cloud computing platforms built by the Federal Government for the Federal Government March 2010: Rackspace Open Sources Cloud Files software, aka Swift May 2010: NASA open sources compute software, aka Nova June 2010: OpenStack is formed July 2010: The inaugural Design Summit nebula.nasa.gov 6
OpenStack Community & + 160 and counting 7
Cloud Layers Overview Hosts Linux (Ubuntu, Red Hat, Fedora, etc.), Windows Host Virtualization KVM, Xen, Hyper-V, ESX Host Management: Libvirt An open source toolkit to interact with hypervisors Virtual Networking Linux Bridge, Open vswitch 8
Cloud Layers Overview Cont.. Infrastructure as a Service (IaaS) Orchestration OpenStack, Amazon EC2/S3, CloudStack Platform as a Service (PaaS) Google App Engine, AWS Beanstalk, Heroku, Cloud Foundry Application Orchestration AWS CloudFormation, OpenStack Heat (Incubation Project) System Management & Automation (aka DevOps) Puppet, Chef, Ansible, etc. 9
OpenStack Vision Public Clouds Private Clouds Seamless Cloud Interoperability Community Clouds 10
Agenda Background Technical Overview Demonstration Q&A 11
OpenStack Introduction A Cloud Operating System A collection of interrelated software components delivering capabilities to build and manage cloud infrastructure. A global community of developers devoted to innovation and openness Flexibility in deployment and features Standards for broad deployment No fear of vendor lock-in 12
OpenStack Terminology Instance- Running virtual machine Image- Non-running virtual machine, multiple formats (AMI, OVF, etc.) Application Programming Interface (API)- Interface for computer programs Message Queue- Acts as a hub for passing messages between daemons Volume- Provides persistent block storage to instances Project- aka Tenants, provides logical separation among cloud users Flavors- Pre-created bundles of compute resources Fixed IP- Associated to an instance on start-up, internal only Floating IP- Public facing IP address 13
OpenStack Core Projects OpenStack Compute (Nova) Software to provision virtual machines on standard server hardware at massive scale OpenStack Object Storage (Swift) Software to reliably store billions of objects distributed across standard server hardware OpenStack Image Service (Glance) Services for discovering, registering, and retrieving virtual machine images 14
OpenStack Core Projects Cont.. OpenStack Dashboard (Horizon) A self-service web portal to allow administrators and users to manage OpenStack resources OpenStack Identity (Keystone) Provides unified authentication across all OpenStack projects and integrates with 3 rd party authentication systems OpenStack Block Storage Service (Cinder) Intended to separate existing nova-volume service into an independent service 15
OpenStack Core Projects Cont.. OpenStack Network Service (Quantum) Provides network connectivity as a service between devices managed by other OpenStack services Many Other Incubation & Community Projects http://openstack.org/projects/ 16
Identity Service (Keystone) Introduction An authentication and authorization (AA) system Organized into a group of internal services Provides a HTTP front-end to clients (components, users, etc.) Support for multiple back-ends Allows Keystone to adapt to a wide-range of environments 17
Keystone Architecture OpenStack Nova Swift object-api Glance nova-api (EC2,, Admin) glance-api Keystone Service & Admin API s identity token Catalog Policy Service Backends (KVS, SQL, PAM, Templated) 18
Image Service (Glance) Introduction Designed to be adaptable 3 primary services- API, Registry, and Store Adapter Provides services for discovering, registering, and retrieving virtual machine images Images can be stored in a variety of locations 19
Glance Architecture OpenStack Nova Swift object-api Keystone nova-api (EC2,, Admin) Service API Glance Glance API Server (glace-api) SQL Registry Server Store Adapter S3 Store HTTP Store Swift Store Filesystem Store 20
Compute Service (Nova) Introduction Primary component of the OpenStack IaaS platform Shared-nothing and modular software architecture Services communicate using a message queue (AMQP) Uses a SQL-based database for information storage Shared by all system components 21
Nova Architecture OpenStack Nova Scheduler (nova-scheduler) Compute Worker(s) (nova-compute) Users nova-api (EC2,, Admin) Message Queue (RabbitMQ) Network Controller(s) (nova-network) Volume Worker(s) (nova-volume) Data Store Computer Programs glance-api object-api Service API Glance Swift Keystone 22
Block Storage Service (Cinder) Introduction New in Folsom Release Provides a drop-in replacement/alternative to nova-volume Utilizes the same nova-volume code and architecture Operates using the same nova client and euca2ools nova volume-create, nova volume-snapshot-create, etc. Upcoming release (Havana) will include: Additional driver support, metering, incremental snapshots w/swift integration 23
Cinder Architecture OpenStack Cinder Scheduler (cinder-scheduler) Users cinder-api (, Admin) Message Queue (RabbitMQ) Volume Worker(s) (cinder-volume) Data Store Computer Programs nova-api object-api Service API Nova Swift Keystone 24
Object Store Service (Swift) Introduction Object-based storage system NOT a block-based system like iscsi Consists of flexibly-sized data containers (objects) Distributed architecture Avoids a single point of failure Massively scalable (billions of objects and PB s of data) Server hard drives turn into a pool of storage 25
Swift Architecture OpenStack Nova Glance glance-api Keystone nova-api (EC2,, Admin) Service API Swift Proxy Server object-api Memcache swauth Storage Server Account Service Container Service Object Service 26
Swift Functionality The Ring Mapping between entities and physical location The Ring The Cluster Server 1 Device 1 Zone 1 (Replica 1) Proxy Server Ties together end users and the Swift back-end services, provides public API endpoint. P11. P25 Server 2 Device 2 Server 3 Device 3 Zone 2 (Replica 2) Zone 3 (Replica 3) Object Server Simple blob storage server to store, retrieve, and delete objects on local disk Container Server Lists objects Account Server Similar to container, but lists containers 27
Component Communication OpenStack Other OpenStack Components component-api Nova nova-api (EC2,, Admin) Glance glance-api Swift object-api 28
Component Communication OpenStack Other OpenStack Components component-api Nova nova-api (EC2,, Admin) Glance glance-api Swift object-api 29
Component Communication OpenStack Other OpenStack Components component-api Nova nova-api (EC2,, Admin) Glance glance-api Swift object-api 30
Component Communication OpenStack Other OpenStack Components component-api Nova nova-api (EC2,, Admin) Glance glance-api Swift object-api 31
OpenStack Networking Options Flat Mode All Instances are attached to a single Linux bridge. IP s are injected into image on launch FlatDHCP Mode Similar to Flat Mode, but includes a DHCP server to manage instance IP s. Instances receive an IP through a dhcpdiscover message VLAN Network Mode A VLAN, Fixed IP Subnet, and Linux bridge per tenant. Quantum Network Manager A peer OpenStack service providing network connectivity services 32
Flat & Flat DHCP Modes Public Network Private Network Compute Node Host 1 Compute Node Host N Controller Node Hypervisor Hypervisor ETH0 ETH0 ETH0 br100 br100 br100 ETH1 Bridging, NAT, DHCP TAP1 TAP2 TAP3 TAP4 TAP5 TAP6 vni C WS1 VM1 vnic App VM2 vnic WS2 VM3 vni C WS1 VM4 vnic App VM5 vnic WS2 VM6 Network Controller (i.e. Node running Nova- Network) Controller Node runs nova-network and acts as gateway to outside world Optionally, nova-network component can run on each compute node Requires nova-api on each compute node 33
VLAN Mode Public Network Private Network Compute Node Host 1 Compute Node Host N Controller Node Hypervisor ETH1 br100/ VLAN11 br101 / VLAN 22 Hypervisor ETH1 br100 / VLAN11 br101 / VLAN 22 ETH1 br100 / VLAN11 br101 / VLAN 22 ETH0 TAP0 TAP1 TAP3 TAP4 TAP5 TAP6 vni C WS1 VM1 vnic App VM2 vnic WS2 VM3 vni C WS1 VM4 vnic App VM5 vnic WS2 VM6 Network Controller (i.e. Node running Nova- Network) Default Networking Mode Switch must support 802.1q VLAN Tagging 34
Quantum Introduction Provides abstractions and functionality needed for cloud networking Why Quantum? Current networking under Nova is limited Provide tenants an API to build rich networking topologies Foster innovation through plug-ins q-router ETH1 VN-Blue-E1 VN-Red-E2 Hypervisor Provides abstractions, functions, and API for: Virtual Network (VN) Virtual port (VPT) on a VN VPT1 VIF 1 WS1 VM1 VPT2 VIF2 App VM2 VPT3 VIF3 WS2 VM3 VPT4 VIF4 App VM42 Attaching/detaching Virtual Interfaces (VIF) 35
Quantum Architecture Quantum API Quantum Service Network abstraction definition and management Device and service attachment framework Does NOT implement any abstractions API Extensions Quantum Plug-in API Vendor/User Plug-In Maps abstraction to implementation on physical and/or virtual networks Implements all the operations included in the Quantum API Can provide additional features through API extensions 36
Quantum Abstractions Virtual Networks (VN) A basic Layer-2 (L2) network A common VN realization is a VLAN Virtual Ports (VP) An attachment point for a virtual interface (VIF) to connect to a VN q-router ETH1 VN-Blue-E1 VN-Red-E2 Hypervisor Ports expose configuration and monitoring state through extensions Subnets (new in v2 API) IP Address Management (IPAM) to store subnet information and IP allocation VPT1 VIF 1 WS1 VM1 VPT2 VIF2 App VM2 VPT3 VIF3 WS2 VM3 VPT4 VIF4 App VM42 Allows the setting of gateway and host routes 37
Quantum Abstractions Cont.. Through CRUD operations, an Instance can dynamically be: Added/removed from a network Moved from one port to another on demand q-router ETH1 VN-Blue-E1 VN-Red-E2 Hypervisor VPT1 VPT2 VPT3 VPT4 VIF 1 VIF2 VIF3 VIF4 WS1 VM1 App VM2 WS2 VM3 App VM42 38
Quantum Plugins & API Extensions Plugin Implements the realization of Quantum abstractions Supports different back-end technologies and vendors Currently 1 Quantum plugin per deployment Examples: Linux Bridge, Open vswitch, Cisco, Nicira NVP q-router ETH1 VN-Blue-E1 VN-Red-E2 Hypervisor API Extensions VPT1 VPT2 VPT3 VPT4 Allows the plugin to expose additional capabilities Applications can programmatically determine what extensions are available through CRUD operations VIF 1 WS1 VM1 VIF2 App VM2 VIF3 WS2 VM3 VIF4 App VM42 Examples: Port profiles, Quality of Service, etc. 39
Quantum High-Level Flow Tenant creates a network (i.e. net1) Tenant associates a subnet with a network (i.e. subnet1-10.10.10.0/24) Tenant boots an Instance, specifying the network to connect to (i.e. nova boot nic net-id=<net1 id>) Nova contacts Quantum and creates a port1 on net1 q-router ETH1 VN-Blue-E1 VN-Red-E2 Hypervisor Quantum assigns an IP address to the Instance (through DHCP Agent) VPT1 VIF 1 VPT2 VIF2 VPT3 VIF3 VPT4 VIF4 Tenant destroys the Instance WS1 VM1 App VM2 WS2 VM3 App VM42 Nova contacts Quantum to destroy port1. Associated IP address is returned to pool. 40
Agenda Background Technical Overview Demonstration Q&A 41
Keystone Demonstration 42
Glance Demonstration 43
Nova Demonstration 44
Quantum Demonstration 45
Horizon Demonstration 46
Summary Openstack.org OpenStack is massively scalable OpenStack is production ready 47
Questions? 48
Complete Your Online Session Evaluation Give us your feedback and you could win fabulous prizes. Winners announced daily. Receive 20 Passport points for each session evaluation you complete. Complete your session evaluation online now (open a browser through our wireless network to access our portal) or visit one of the Internet stations throughout the Convention Center. Don t forget to activate your Cisco Live Virtual account for access to all session material, communities, and on-demand and live activities throughout the year. Activate your account at the Cisco booth in the World of Solutions or visit www.ciscolive.com. 49
Final Thoughts Get hands-on experience with the Walk-in Labs located in World of Solutions, booth 1042 Come see demos of many key solutions and products in the main Cisco booth 2924 Visit www.ciscolive365.com after the event for updated PDFs, ondemand session videos, networking, and more! Follow Cisco Live! using social media: Facebook: https://www.facebook.com/ciscoliveus Twitter: https://twitter.com/#!/ciscolive LinkedIn Group: http://linkd.in/ciscoli 50
51