What is OpenStack? OpenStack is a community of open source developers, participating organizations and users who are building and running the open source cloud operating system.Another definition … “OpenStack is a Cloud Operating System, that takes resources such as compute, storage, network, virtualization technologies and controls those resources at a data center level”
OpenStack, A Kernel of the Cloud OS Connects to apps via APIs Self-service Portals for users USERS ADMINS APPS CLOUD OPERATING SYSTEM Control & Automates Efficiently allocate resources Pools of ResourcesCompute Pool Storage Pool Network Pool Virtualized Virtualized Virtualized Servers Storage Networks
Open Source Apache 2.0 license, NO ‘enterprise’ version Open Design Open Design SummitOpen Development Anyone can involve development process Open development management via Launchpad & Github Open Community OpenStack Foundation in 2012
e-commerce / 8th Largest in the World 6000 VMs in Production Sony Entertainment America OpenStack Private Cloud OpenStack-based Cloud Service Currently, Private Beta Private Cloud based on OpenStack Public Cloud Service based on OpenStackRunning Commercial Service based on OpenStack Swift Public Cloud Service based on OpenStack
Core ProjectsCompute (code-named “Nova”) -open source software and standards for large-scale deployments of automatically provisioned virtual compute instances.Object Storage (code-named “Swift”) -open source software and standards for large-scale, redundant storage of static objectsImage Service (code-named “Glance”) -provides discovery, registration, and delivery services for virtual disk images.
OpenStack Incubated ProjectsOpenStack Identity (code-named Keystone) -The OpenStack Identity Service provides unified authentication across all OpenStack projects and integrates with existing authentication systemsOpenStack Dashboard -Dashboard enables administrators and users to access and provision cloud- based resources through a self-service portal.
Nova (OpenStack Compute) 1. REST-based API4. Hypervisor agnostic:support for Xen ,CitrixXenServer, Microsoft Hyper-V, 2. Horizontally and massivelyKVM, UML, LXC and ESX scalable 3. Hardware agnostic: supports a variety of standard hardware
Nova Structure (Shared-Nothing, Message-based) nova- local method Auth Volume manage Manager Controller Providing block storage to VM local method Network Network Controller management API Server local method CloudOpenStack API Controller EC2 호환 API Node Scheduler Scheduler Selection / Scheduling REST HTTP to assign VM Object Compute Euca2ools Store Controller Image / Template VM instance management Store
Feature Benefit Programmatically allocate IPs and VLANs VLANs Manage Local Area Networks (LAN) Flexible networking models to suit needs of each - Flat, Flat DHCP, VLAN DHCP, IPv6 application and/or user group API with rate limiting and authentication Designed for automation and securityDistributed and asynchronous architecture Massively scalable and highly available system Live VM management (Instance) Increase productivity with lifecycle management Run, reboot, suspend, resize, terminate instancesCreate and manage Instance Types (Flavors) Build a menu of options for users to select from Define sizes of VMs for CPU, RAM & Disk Flavors make it easy to size VMs for workloads iSCSI storage volume management Enables data to be managed separate from VMs for fault- Create, delete, attach and transfer volumes tolerance and added flexibility Live migration of instances Minimize downtime with planned maintenance Floating IP addresses Keep IPs & DNS correct when managing VMs Flexibility to assign and control access to VM instances by Security Groups creating separation between resource pools Role Based Access Control (RBAC) Ensure security by user, role and project
Example Architecture (Flat, Flat DHCP) nova-api LB DB nova-api (mysql) nova nova nova nova Object network scheduler volume store Storage (Image, Instance) AMQP (Rabbitmq) Internet External nova-compute Internal VM VM WEB UI Center SERVER Controller (User Portal)
Example Architecture (vlan) nova-api LB nova-api DB (mysql) nova nova nova Object scheduler volume store Storage AMQP (Rabbitmq) (Image, nova Instance) nova network nova network Internet nova network network External nova-compute Internal VM VM WEB UI Center SERVER Controller (User Portal)
Swift (OpenStack Object Storage)• Object Storage• Simple storage service (GET, PUT, DELETE, COPY)• Highly available, distributed, eventually consistent object/blob store• RESTful interface• No object size limit• 3+ replication factor in separate “zones”• Scales horizontally, No central index.• Stable and deployed in production
Glance (OpenStack Image Service)• VM images and associated metadata• Discover, register and retrieve• Multiple disk formats : raw, VHD, vmdk, vdi, qcow2, aki, ari, ami• Multiple container formats: ovf, bare, aki, ari, ami
Glance Structure1. Store & retrieve VM images 2. REST-based API 3. Compatible with all common 4. Storage agnostic: image formatsStore images locally, or useOpenStack Object Storage, HTTP, or S3
Keystone (OpenStack Identity)• Unified tenants / accounts for all services
Dashboard (OpenStack Web UI)• Reference UI implementation• Django module to build web UIs
Quantum (OpenStack Network-aaS) Nova : virtual server Quantum : virtual networkBoth:- Expose a logical API for automated provisioning by cloud tenants.- Manage physical devices in the data center to implement the logical model.- Provide a “plugin” architecture to leverage support using different back-end technologies.
Example Architecture Dashboard / Automation Tools Tenant Tenant API API Quantum Quantum API Nova Service Service nova-scheduler nova-api Quantum Plugin Internal nova CommunicationTwo Plugins Available: nova-compute- Open vSwitch- Cisco UCS/Nexus vswitch XenServer #1 Internal Plugin Communication Hypervisor
Want to deploy “large” scale cloud? Manually? Really? You need better way to deploy.
Bare Metal Provisioning Software Hardware Setting OS Setting Setting cleanhardware Available Hardware Physical Setting MAC MAC or IP IP ↓ ↓ ↓ IP OS Image Role Kickstart
Crowbar (https://github.com/dellcloudedge/crowbar)Crowbar hasscripts that installthe componentsof OpenStack in aproven patternthat can becustomized afterthe fact.
Crowbar Stage of Deployment APIs, User Access, Includes all the components required to implement & Ecosystem an entire cloud infrastructure including ecosystems Partners partnersOps Management Pluggable components deploy cloud infrastructure. Dell “Crowbar” Cloud Allow for addition of Dell IP and expansion by the Infrastructure & Dell IP Extensions community services and customers Can integrate with Dell existing products Core Components & Delivers basic data center services and required Operating Systems cloud infrastructure. Provision bare-metal servers from box to cloud WITHOUT user intervention (other than Physical Resources racking/cabling and some minimal configuration questions) NOT EXCLUSIVE TO DELL HARDWARE