Upload
oscon-byrum
View
1.234
Download
0
Tags:
Embed Size (px)
DESCRIPTION
The flexibility of OpenStack is a dual-edged sword, giving you unprecedented control over your infrastructure, but potentially becoming a nightmare for the indecisive manager, architect or sysadmin! In this presentation, Tom Fifield – co-author of the OpenStack Operations Guide, and Community Manager at the OpenStack Foundation – takes you through some of the decisions you will face when planning your OpenStack cloud. In addition to a brief introduction on OpenStack and advice on how to interact with the community, he will cover topics such as: How to approach your deployment, ranging from DIY to a turn-key solution from the ecosystem Storage and networking decisions, including plugin options Automating deployment and configuration with popular tools like Puppet and Chef Through discussion of the ecosystem, customization and scaling, you’ll walk away with an understanding of ‘what it takes’ to build your OpenStack cloud.
Citation preview
225.07.13
Introduction
Software Engineering → Particle Physics → Building Clouds → OpenStack Community Manager
Much of this presentation is based on the “OpenStack Operations Guide”
325.07.13
What is OpenStack?
425.07.13
What is OpenStack? Technology Platform
Compute Provision and manage large pools of on-demand computing resources
Object Storage Petabytes of reliable storage on standard gear
Block Storage Volumes on commodity storage gear, and drivers for more vendor systems
Networking Software defined networking automation with pluggable backends
Dashboard Self-service, role-based web interface for users and administrators
Shared Services Multi-tenant authentication system that ties to existing stores (e.g. LDAP), Image Service
525.07.13
Choose your level
DIY
Training
Systems Integration
Appliance
Software
Support
Public Cloud
POC
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
625.07.13
Choose your level
DIY
Training
Systems Integration
Appliance
Software
Support
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
725.07.13
Choose your level
DIY
Training
Systems Integration
Software
Support
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
Appliance
825.07.13
Choose your level
DIY
Training
Systems Integration
Support
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
Appliance
Software
925.07.13
Choose your level
DIY
Training
Support
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
Appliance
Software
Systems Integration
1025.07.13
Choose your level
DIY
Training
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
Appliance
Software
Systems Integration
Support
1125.07.13
Choose your level
DIY
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
Appliance
Systems Integration
Support
Software
Training
1225.07.13
Choose your level
Buy a box. Unwrap it. Plug in power and network. Have cloud.
Purchase hardware. Purchase software. Install. Have cloud.
Please add feature X. Make it work with my billing system.
Where did we go wrong?
Train Staff. …. Have Cloud
It’s just another software product, right?
Swipe creditcard. Have cloud.
Make a new VM, cd devstack && ./stack.sh
Public Cloud
POC
DIY
Appliance
Software
Systems Integration
Support
Training
1325.07.13
1425.07.13
You have selected ….
It’s just another software product, right?DIY
1525.07.13
StorageEphemeral storage Block storage Object storage
Used to… Run operating system and scratch space
Add additional persistent storage to a virtual machine (VM)
Store data, including VM images
Accessed through…
A file system A block device that can be partitioned, formatted and mounted (such as, /dev/vdc)
REST API
Accessible from…
Within a VM Within a VM Anywhere
Managed by…
OpenStack Compute (Nova)
OpenStack Block Storage (Cinder)
OpenStack Object Storage (Swift)
Persists until…
VM is terminated Deleted by user Deleted by user
Sizing determined by…
Administrator configures size settings, known as flavors
Specified by user in initial request
Amount of available physical storage
Example of usage…
10 GB first disk, 30GB second disk
1 TB disk 10s of TBs of dataset storage
want this?which plugin?
1625.07.13
Network
Nova-network vs Neutron How many networks? Addressing? Open vSwitch, CISCO Nexus, Linux Bridge, Nicira NCP, Ryu,
NEC, Big Switch, Hyper-V, MidoNet, Brocade, PLUMGrid, Extreme, Ruijiu, Mellanix or Juniper?
1725.07.13
Cloud ‘controller’ design ...Consideration Ramification
How many instances will run at once?
Size your database server accordingly, and scale out beyond one cloud controller if many instances will report status at the same time and scheduling where a new instance starts up needs computing power.
How many compute nodes will run at once?
Ensure that your messaging queue handles requests successfully and size accordingly.
How many users will access the API?
If many users will make multiple requests, make sure that the CPU load for the cloud controller can handle. it.
How many users will access the dashboard?
The dashboard makes many requests, even more than the API access, so add even more CPU if your dashboard is the main interface for your users.
How many nova-api to run?
You need to size the controller with a core per service.
How long does a single instance run?
Starting instances and deleting instances is demanding on the compute node but also demanding on the controller node because of all the API queries and scheduling needs.
Does your auth system also verify externally?
Ensure network connectivity between the cloud controller and external authentication system are good and that the cloud controller has the CPU power to keep up with requests.
1825.07.13
Automated Deployment
An automated deployment system installs and configures operating systems on new servers, without intervention, after the absolute minimum amount of manual work. However, consider disk partitioning and network
configuration Many ways of doing this – see what is working for your distro Remote management
1925.07.13
Automated Configuration
Establish and maintain the consistency of a system with no human intervention.
Change managers love this – can test and roll back Plan your configuration items Puppet, Chef, Ansible, SaltStack recipes provided by the
community
2125.07.13
Scaling UpCells Regions Availability
ZonesHost Aggregates
Use when you need
A single API endpoint for compute, or you require a second level of scheduling.
Discrete regions with separate API endpoints and no coordination between regions.
Logical separation within your nova deployment for physical isolation or redundancy.
To schedule a group of hosts with common features.
Example A cloud with multiple sites where you can schedule VMs "anywhere" or on a particular site.
A cloud with multiple sites, where you schedule VMs to a particular site and you want a shared infrastructure.
A single site cloud with equipment fed by separate power supplies.
Scheduling to hosts with trusted hardware support.
Overhead A new service, nova-cellsEach cell has a full nova installation except nova-api
A different API endpoint for every region. Each region has a full nova installation.
Configuration changes to nova.conf
Configuration changes to nova.conf
Shared services
Keystonenova-api
Keystone KeystoneAll nova services
KeystoneAll nova services
Not pictured: Object Storage, which scales very easily by adding machines as needed, or through global clusters
2325.07.13
Customisation
OpenStack doesn’t quite do what you need? Add it, but contribute back if possible
Many things are pluggable Eg Object Storage middleware pipeline Eg Compute Scheduler Eg Dashboard
Get a DevStack running and play!
2425.07.13
Interacting with the Community
All development is Open Etherpad →Blueprint → Coded → Reviewed → Released
Collaboratively design features Competitors working together Every line of code reviewed by at least two people An extensive continuous integration and testing infrastructure
Documentation, Translation, Infrastructure is all collaborative
2525.07.13
When it fails “Oh, it was just the firewall to the queue server again.”
Check
out
Tales
Fro
m th
e
Cryp^
H^H^H
^H C
loud!
2625.07.13
When it fails: you are not alone
Ask OpenStack! (http://ask.openstack.org) https://wiki.openstack.org/wiki/MailingLists https://wiki.openstack.org/IRC Your local user group The comments section on that almost-related blog
2725.07.13
Recap
Choose a level Look at your Storage options Plan your network Get some metrics to design your cloud controller Automate, Automate, Automate Scale up Customise Join the community!
What you get: Software
Lines of code (ohloh)
What you get: Developers
Contributors per month (ohloh)
What you get: BackupParticipating Companies
Launch Austin Bexar Cactus Diablo Essex 2-year anniversary Grizzly0
50
100
150
200
250
3125.07.13
See you in Hong Kong
November 5-8, register now! Call for speakers closes July 31st
Design Sessions: not a classic track with speakers and presentations - generally an open brainstorming discussion on a given subject
Conference Sessions: Keynotes, Case Studies, Ecosystem, Operations, Strategy, Workshops
openstack.org/summit
3225.07.13
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "OpenStack" is a registered trademark and respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the brand policy.
Thank you …
… for supporting OpenStack!Ask Questions at ask.openstack.org