2. • What is Openstack
• Why is this relevant
• What Openstack can do for you
• What you can do for Openstack
• Little demo time (fingers crossed)
Agenda
3. Disclaimer(s)
• I don’t represent the Foundation
• I don’t represent my Employer (today)
• I’ll do my best to not make you miss Iko Saadhoff
• I hate the word “Architect”
8. Openstack: a definition
The OpenStack Open Source Cloud Mission: to produce the
ubiquitous
will meet the needs of
of size, by being simple to implement and
scalable
https://launchpad.net/openstack
16. Openstack use cases
A public cloud-like Infrastructure-as-a-service platform
Internal “Infrastructure on demand” - private cloud
Test and Development environments — e.g sandbox
Cloud service provider platform — reselling compute, network & storage
Building a scale-out platform for cloud-enabled workloads
Netflix(-like) applications , academia, research, media
18. OPENSTACK ARCHITECTURE
• OpenStack is made up of individual autonomous components
• All of which are designed to scale-out to accommodate throughput and availability
• OpenStack is considered more of a framework, that relies on drivers and plugins
• Largely written in Python and is heavily dependent on Linux
19. COMMON OPENSTACK ARCHITECTURE
• All Openstack components expose a RESTful API for communication
• A stateless, shared-nothing API service provides scalability and fault-tolerance
• Keystone manages a list of these API endpoints in its catalog
21. • In addition to provide API services, each component has a set of workers
• These stateless workers do the heavy lifting behind the scenes
• Workers and API services scale-out and communicate via AMQP bus, persisting
the data in a MySQL database
COMMON OPENSTACK ARCHITECTURE
22. Openstack identity service (Keystone)
• Keystone provides a common authentication and authorisation store for OpenStack
• Responsible for users, their roles, and to which project(s) they belong to
• Provides a catalogue of all other OpenStack services
• All OpenStack services typically rely on Keystone to verify a user’s request
23. Keystone: Openstack Identity Service
• Keystone issues tokens to authenticated users who cache them locally
• These tokens are used along with requests to perform a specific action
Keystone Server
Authenticate
Token Issued
Nova API
Token + Request
24. Openstack compute (Nova)
• Nova is responsible for the lifecycle of running instances within OpenStack
• Manages multiple different hypervisor types via drivers, e.g-
• Red Hat Enterprise Linux (+KVM)
• VMware vSphere
26. Openstack Compute (Nova)
Nova API
Nova Compute
Nova Compute
Nova Compute
Message Bus
Nova Conductor
Database
Nova Scheduler
27. Openstack image service (Glance)
• Glance provides a mechanism for the storage and retrieval of disk images/templates
• Supports a wide variety of image formats, including qcow2, vmdk, ami, and ovf
• Many different backend storage options for images, including Swift...
28. Openstack Image Service (Glance)
Nova ComputeGlance API
Glance Backend HTTP GET
Instance A Instance B
/var/lib/nova/instances/_base
Launch RHEL 7
/var/lib/nova/instances/<uuid>/disk
Nova API
29. Openstack object store (Swift)
• Swift provides a mechanism for storing and retrieving arbitrary unstructured data
• Provides an object based interface via a RESTful/HTTP-based API
• Highly fault-tolerant with replication, self-healing, and load-balancing
• Architected to be implemented using commodity compute and storage
30. Openstack Networking (Neutron)
• Neutron is responsible for providing networking to running instances within OpenStack
• Provides an API for defining, configuring, and using networks
• Relies on a plugin architecture for implementation of networks, examples include-
• Open vSwitch (default in Red Hat’s distribution)
• Cisco, PLUMgrid, VMware NSX, Arista, Mellanox, Brocade, etc.
31. Openstack Networking: Tenant networks
• Tenant networks aren’t typically routable from the outside
• Floating IP addresses are used to access instances on isolated tenant networks
• Neutron L3-agent has the responsibility of NAT’ing traffic between networks
• e.g. logical mapping between “172.16.0.1” and “10.0.0.1”
Tenant Network
Running InstancesNeutron L3
External Network
172.16.0.1
10.0.0.1
32. Openstack Networking: provider networks
• Administrators configure the networks and who has permission to use them
• Users don’t have the same level of control as they would in tenant networks
• External networks can be flat, or VLAN tagged.
• DHCP is optional, but external services for routing and DNS are common.
External Network
Instances from multiple tenantsNeutron DHCPExternal Services
33. Openstack Volume Service (Cinder)
• Cinder provides block storage to instances running within OpenStack
• Used for providing persistent and/or additional storage
• Relies on a plugin/driver architecture for implementation, examples include-
• Red Hat Storage (GlusterFS), IBM XIV, HP Leftland, 3PAR, etc.
34. Openstack Orchestration (Heat)
• Heat facilitates the creation of ‘application stacks’ made from multiple resources
• Stacks are imported as a descriptive template language
• Heat manages the automated orchestration of resources and their dependencies
• Allows for dynamic scaling of applications based on configurable metrics
35. Openstack Telemetry (Ceilometer)
• Ceilometer is a central collection of metering and monitoring data
• Primarily used for chargeback of resource usage
• Ceilometer consumes data from the other components - e.g. via agents
• Architecture is completely extensible - meter what you want to - expose via API
36. Openstack Dashboard (Horizon)
• Horizon is OpenStack’s web-based self-service portal
• Sits on-top of all of the other OpenStack components via API interaction
• Provides a subset of underlying functionality
• Examples include: instance creation, network configuration, block storage attachment
• Exposes an administrative extension for basic tasks, e.g. user creation
38. ● Needs to access x86 hardware resources
● Needs an operating environment, hypervisor, services
● Leverages existing code libraries for functionality
Freedom, choice, flexibility
39. TL;DR
• Openstack is a cloud application in itself
• Stateless services with central state and messaging
• RESTful API all over the place
• It runs on commodity hardware, on premise
• It’s expandable and pluggable, no one-size-fits-all
40. ● It is dependent on the underlying Linux...
LINUX
Under the hood, the heart of Linux
42. One (of many) reference architectures
MongoDB
RabbitMQ
43. Openstack vs AWS:
S3 = Swift
EC2 = Nova
EBS = Cinder
AMI = Glance
IAM = Keystone
VPC, Route53, etc = Neutron
44. Openstack vs AWS:
AWS (on demand) AWS (reserved) Private
12x High-MEM Double Extra Large
32GB 4vCores 13 ECUs 850GB
12x High-MEM Double Extra Large
32GB 4vCores 13 ECUs 850GB
4x IBM x3650M4
6x Xeon E5-2620
RAID/SAS, 10Gbit
384GB RAM
~ 10TB Disk
48 Cores
384GB RAM
~ 10TB Disk
48 Cores
384GB RAM
~ 20TB Disk
72 Cores
9.600$/mo
345.600$/3years
31.200$ one time
83.700$/3years
~40.000€
(including support)
• Training costs are similar
• TCO tends to be better for private
clouds (for large deployments)
45. Am I ready for Openstack:
• Many questions to ask yourself...
• Are your workloads mostly traditional?
• Do you have a mix of different workloads?
• How do you “bridge the gap” between traditional and cloud-enabled
workloads?
• How do you manage the mixed environment?
46. Why you want Openstack?
Openstack user survey 2014-2
47. Yes I want it! Now what?
http://www.cloudscaling.com/blog/openstack/vanilla-openstack-doesnt-exist-and-never-will/
• Identify your champions
• Think of use cases , business requirements and
• Strict scoping
• Start a pilot (5 servers)
• Stress test it and open it to internal beta-testers
• Start a PoC (possibly with a partner, 20-40 servers)
48. I love this. How can I help?
• https://wiki.openstack.org/wiki/
52. Recap
• Openstack is hard and not for everyone
• But there’s light at the end of the tunnel!
• Opensource is the game-changer
• Try it, demo it, use it. Ask help, be open
“Stay
- sort of Steve Jobs
53. Get in touch with your local communities
http://www.meetup.com/Openstack-Amsterdam
http://www.meetup.com/Openstack-Netherlands
54. QA
I f you don’t have any questions, I failed my job!