Manages images, flavors,instances, keypairs, security groupsNetworking: Manages networks, subnets,routers, ports, floating IPsStorage: Manages volumes, snapshotsCompute: Manages compute nodes,instances, live migration, high availabilityImage Service: Manages imagesObject Storage: Manages object storageIdentity Service: Manages users, tenants,roles, projectsDashboard: Web-based user interfaceCLI: Command line interfaceAPI: RESTful APIDatabase: Stores state and metadataMessage Queue: Asynchronous commsFriday, January 21, 2011 21 OpenStack Compute ArchitectureFriday
1. OpenStack - Towards an Open Cloud
AIIT InfoTalk #26 2011
Adam Johnson
Twitter: @adjohn
Friday, January 21, 2011 1
2. Application Platforms Undergoing A Major Shift
Applications are quickly moving to the cloud
•#1 priority is virtualization
•#2 is cloud computing
[Based on a Gartner Study]
2
Friday, January 21, 2011 2
3. Midokura Overview
• Founded in January 2010
• Based in Tokyo
• 9 employees (and growing)
• Former Google, Amazon engineers
• Developing “Cloud enabling technologies”
• Virtualized networking
• Cloud storage
• Distributed architecture and management
• We think - OpenStack is going to be HUGE
3
Friday, January 21, 2011 3
5. OpenStack: The Mission
Provision virtual machines on
standard hardware at massive scale
creating open source software to
build public and private clouds
Software to reliably store billions of
objects distributed across standard
hardware
5
Friday, January 21, 2011 5
6. OpenStack: The Mission
"To produce the ubiquitous Open Source
cloud computing platform that will meet
the needs of public and private cloud
providers regardless of size, by being
simple to implement and massively
scalable."
6
Friday, January 21, 2011 6
8. OpenStack History
2005 2010
March May June July
Rackspace Rackspace decides NASA Open OpenStack formed First design
Cloud to Open Source Sources Nebula b/w Rackspace and Summit in
developed Cloud Software Platform NASA Austin, TX
8
Friday, January 21, 2011 8
9. OpenStack History
2011
July October November February
OpenStack First ʻAustinʼ code First public Design Second ʻBexarʼ code
launches with 25+ release with 35+ Summit in San release planned
partners partners Antonio
9
Friday, January 21, 2011 9
10. OpenStack Founding Principles
•Apache 2.0 license (OSI), open development process
•Open design process, 2x year public Design Summits
•Publicly available open source code repository
•Open community processes documented and transparent
•Commitment to drive and adopt open standards
•Modular design for deployment flexibility via APIs
10
Friday, January 21, 2011 10
12. OpenStack in Japan
•Japan OpenStack User Group (JOSUG)
•website: http://openstack.jp
•google group: openstack-ja
12
Friday, January 21, 2011 12
13. Why is OpenStack Important?
•Open eliminates vendor lock-in
•Working together, we all go faster
•Freedom to federate, or move between clouds
13
Friday, January 21, 2011 13
14. HOW TO: Turn Racks of
Standard Hardware Into a
Cloud with OpenStack
Friday, January 21, 2011 14
15. Start with an open, scalable platform
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
Friday, January 21, 2011 15
16. ECOSYSTEM
User Ticketing Network Monitoring Host Server
Control Panel System Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
Add 3rd party tools from the ecosystem
Friday, January 21, 2011 16
17. ECOSYSTEM
User Ticketing Network Monitoring Host Server
Control Panel System Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
Account Admin CLI Live Chat Account
Billing Tools Support Management
PUBLIC CLOUD
Friday, January 21, 2011 17
18. ECOSYSTEM
User Ticketing Network Monitoring Host Server
Control Panel System Management Systems Management
CLOUD OS
OpenStack Compute OpenStack Object Storage
OpenStack Image Service
Admin Control Dept. Accounting User Enterprise Software
Panel Chargeback Management Integration Systems
PRIVATE CLOUD
Integrate with existing enterprise systems
Friday, January 21, 2011 18
19. OpenStack Compute
Software to provision virtual machines on
standard hardware at massive scale
19
Friday, January 21, 2011 19
20. OpenStack Compute Key Features
REST-based API
Asynchronous
eventually consistent
communication
Horizontally and
massively scalable
Hypervisor agnostic:
support for Xen ,XenServer, Hyper-V,
KVM, UML and ESX is coming
Hardware agnostic:
standard hardware, RAID not required
Friday, January 21, 2011 20
21. User Manager
Cloud Controller: Global state of
system, talks to LDAP, OpenStack
Object Storage, and node/storage
workers through a queue
ATAoE / iSCSI
API: Receives HTTP requests,
converts commands to/from API
format, and sends requests to
cloud controller
Host Machines: workers
that spawn instances
Glance: HTTP + OpenStack Object
OpenStack Compute Storage for server images
Friday, January 21, 2011 21
22. Example OpenStack
Compute Hardware
Public Network (other models possible)
Server Groups
1 GigE Connectivity
Dual Quad Core
RAID 10 Drives
Private Network
(intra data center)
Management
Friday, January 21, 2011 22
23. Compute Components
•API Server: Interface module for command and control requests
•Designed to be modular to support multiple APIs
•In current release: OpenStack API, EC2 Compatibility Module
•Approved blueprint: Open Cloud Computing Interface (OCCI)
•Message Queue: Broker to handle interactions between services
•Currently based on RabbitMQ
•Metadata Storage: ORM Layer using SQLAlchemy for datastore
abstraction
•In current release: MySQL
•In development: PostgreSQL
•User Manager: Directory service to store user identities
•In current release: OpenLDAP, FakeLDAP (with Redis)
•Scheduler: Determines the placement of a new resource
requested via the API
•Modular architecture to allow for optimization
•Base schedulers included in Austin: Round-robin, Least busy
23
Friday, January 21, 2011 23
24. Compute Components
•Compute Worker: Manage compute hosts through commands
received on the Message Queue via the API
•Base features: Run, Terminate, Reboot, Attach/Detach
•Volume, Get Console Output
•Network Controller: Manage networking resources on compute
hosts through commands received on the Message Queue via the
API
•Support for multiple network models
•Fixed (Static) IP addresses
•VLAN zones with NAT
•Volume Worker: Interact with iSCSI Targets to manage volumes
•Base features: Create, Delete, Establish
•Image Store: Manage and deploy VM images to host machines
24
Friday, January 21, 2011 24
25. OpenStack Object Storage
Software to reliably store billions of objects
distributed across standard hardware
25
Friday, January 21, 2011 25
26. OpenStack Object Storage Key Features
REST-based API Data distributed evenly
throughout system
Scalable to multiple
petabytes, billions of
objects
Account/Container/Object
structure (not file system, no nesting)
plus Replication (N copies of
accounts, containers, objects)
No central
database
Hardware agnostic: standard
hardware, RAID not required
Friday, January 21, 2011 26
28. Example OpenStack
Object Storage Hardware
Public Internet
Load Balancers (SW)
5 Zones
2 Proxies per 25
Storage Nodes
10 GigE to Proxies
1 GigE to
Storage Nodes
24 x 2TB Drives
per Storage Node
Example only – many configurations possible
Friday, January 21, 2011 28
29. Object Storage Components
•The Ring: Mapping of names to entities (accounts,containers,
objects) on disk.
•Stores data based on zones, devices, partitions, and replicas
•Weights can be used to balance the distribution of partitions
•Used by the Proxy Server for many background processes
•Proxy Server: Request routing, exposes the public API
•Replication: Keep the system consistent, handle failures
•Updaters: Process failed or queued updates
•Auditors: Verify integrity of objects, containers, and accounts
29
Friday, January 21, 2011 29
30. Object Storage Components (cont)
•Account Server: Handles listing of containers, stores as SQLite DB
•Container Server: Handles listing of objects, stores as SQLite DB
•Object Server: Blob storage server, metadata kept in xattrs, data in
binary format
•Recommended to run on XFS
•Object location based on hash of name & timestamp
30
Friday, January 21, 2011 30
31. Object Storage Software Dependencies
Object Storage should work on most Linux platforms with the
following software (main build target for Austin release is Ubuntu
10.04):
•Python 2.6
•rsync 3.0
And the following python libraries:
•Eventlet 0.9.8
•WebOb 0.9.8
•Setuptools
•Simplejson
•Xattr
•Nose
•Sphinx
31
Friday, January 21, 2011 31
32. Building a Cloud
OpenStack Powered
32
Friday, January 21, 2011 32
34. Technical Prerequisites
CLOUD HAS A MINIMUM PRACTICAL SCALE
•Proof of Concept: 5+ Servers
•Pilot: 20+ Servers
•Production: 40+ Servers
DATACENTER MADE “CLOUD READY”
•Networking
•Power
EQUIPMENT BUILT FOR CLOUD
•CPUs with virtualization and power management
support
•Storage platforms with flexible workload capabilities
34
Friday, January 21, 2011 34
35. Cloud Ready Datacenter Requirements
HOMOGEOUS CONFIGURATION
INCREASED POWER DENSITY
FAT TREE / MESH NETWORKS
“LIGHTS OUT” OPERATION
35
Friday, January 21, 2011 35
37. OpenStack GUI Options
• Cappuccino Web Panel
• iOS Control Panel
• Android
• Django Based Control Panel
•SimCloud - Sim City Like GUI
• Etc..
37
Friday, January 21, 2011 37
39. OpenStack Release Process: Four Phases
Design* Development QA Release
*Design phase and Design Summit occur every other release, 2x per year
39
Friday, January 21, 2011 39
40. OpenStack Releases
Cactus:
April 2011
Bexar:
February 2011
•OpenStack Compute ready
We are
Austin: here!
for large service provider scale
deployments
October 2010
• OpenStack Compute ready
for enterprise private cloud
deployments and mid-size
service provider deployments
• OpenStack Object Storage • Enhanced documentation
production-ready • Easier to install and deploy
• OpenStack Compute
developer preview, ready for
testing and proofs of
concept
40
Friday, January 21, 2011 40
41. Openstack Compute: Austin Release
•Multi-hypervisor support: KVM, QEMU, User-Mode Linux, Xen and XenServer
•Introduces official OpenStack API, while maintaining EC2 API option
•New image registry and delivery service, called the Glance project
•Support for two network models on compute nodes: VLANs with DHCP and flat
with either static IP pools or DHCP
•Addition of base scheduling service
•Implements WSGI to create a standard API layer with reusable components
•Support for user-friendly naming
•Refactored ORM and networking code for simpler code that is easier to understand
•Addition of SQLAlchemy Database toolkit so users can leverage existing SQL
infrastructure
41
Friday, January 21, 2011 41
42. Openstack Object Storage: Austin Release
•Addition of a stats system that produces per-account hourly summaries of system
usage
•Ability for users to set ACL’s and grant public access to containers
•Support for API access to account and container metadata
•Rate limiting was extended to allow requests to be slowed down and support stair
stepped rate limits based on container size
•WSGI support was improved and pulled into middleware
42
Friday, January 21, 2011 42
43. What’s next for OpenStack?
Future releases and features in the next
versions of OpenStack
43
Friday, January 21, 2011 43
44. Openstack Compute: Bexar Release
•IPv6/IPv4 Dual Stack Support
•Sheepdog Support
•I18N Japanese messages support
•Microsoft Hyper-v support
•raw-disk images
•Web-based serial console
See all the blueprints at https://blueprints.launchpad.net/nova/bexar
44
Friday, January 21, 2011 44
45. Beyond Bexar
•Block Storage by Sheepdog
•Plugin Network Architecture
•Virtualized Networking with Midonet
45
Friday, January 21, 2011 45
46. Sheepdog
Distributed block storage for KVM
http://www.osrg.net/sheepdog/
46
Friday, January 21, 2011 46
53. Sign up for the Beta
If you want to help us build a better
cloud, you can sign up for our beta and
try our upcoming products.
http://midokura.com/beta.html
53
Friday, January 21, 2011 53
54. Want to know more?
• http://openstack.org
• Japan OpenStack User Group
• Contact the Midokura Team
•info@midokura.jp
• OpenStack Community
54
Friday, January 21, 2011 54
56. But wait there’s more!
• Free OpenStack t-shirts!
• Midokura is hiring!
• More Questions?
• Meet the Midokura team afterwards
56
Friday, January 21, 2011 56
57. Thank You!
Join the OpenStack revolution!
Special thanks to others who generously provided presentation content:
http://www.theregister.co.uk/2011/01/08/openstack/
http://www.slideshare.net/bpiatt/openstack-tutorial
http://www.slideshare.net/annegentle/openstack-overview-for-austin-cloud-user-group
http://adrianotto.com/2010/09/openstack-os-is-great-for/
57
Friday, January 21, 2011 57