Openstack:
Quod nubes est?
• 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
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”
$ whoami
http://cloudappreciationsociety.org/
What is this really about
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
The Foundation
Openstack: in real world
Public cloud: what you need
Private cloud: what you really need
Why the world need Openstack today
Why the world need Openstack now
Traditional workloads Cloud-enabled apps
Cloud: a revolution in the making
+
+
1991:
2011:
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
Title
Openstack architecture
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
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
COMMON OPENSTACK ARCHITECTURE
• 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
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
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
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
Compute components
+ openstack-nova-cert
+ openstack-nova-consoleauth
+ openstack-nova-novncproxy
+ openstack-nova-spicehtml5proxy
+ openstack-nova-xvpvncproxy
+ nova-cells
Openstack Compute (Nova)
Nova API
Nova Compute
Nova Compute
Nova Compute
Message Bus
Nova Conductor
Database
Nova Scheduler
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...
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
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
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.
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
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
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.
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
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
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
Ecosystem of hardware and software
● Needs to access x86 hardware resources
● Needs an operating environment, hypervisor, services
● Leverages existing code libraries for functionality
Freedom, choice, flexibility
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

● It is dependent on the underlying Linux...
LINUX
Under the hood, the heart of Linux
An ever-expanding universe of components
One (of many) reference architectures
MongoDB
RabbitMQ
Openstack vs AWS:
S3 = Swift
EC2 = Nova
EBS = Cinder
AMI = Glance
IAM = Keystone
VPC, Route53, etc = Neutron
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)
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?

Why you want Openstack?
Openstack user survey 2014-2
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)
I love this. How can I help?
• https://wiki.openstack.org/wiki/
You’re not alone
A user story (Red Hat)
http://www.redhat.com/en/resources/telefónica-global-solutions-chooses-red-hat-plan-its-cloud-future
Demo time!
• https://
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
Get in touch with your local communities
http://www.meetup.com/Openstack-Amsterdam
http://www.meetup.com/Openstack-Netherlands
QA
I f you don’t have any questions, I failed my job!

Cloud Architect Alliance #15: Openstack

  • 1.
  • 2.
    • What isOpenstack • 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’trepresent 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”
  • 4.
  • 7.
    What is thisreally about
  • 8.
    Openstack: a definition TheOpenStack 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
  • 9.
  • 10.
  • 11.
  • 12.
    Private cloud: whatyou really need
  • 13.
    Why the worldneed Openstack today
  • 14.
    Why the worldneed Openstack now Traditional workloads Cloud-enabled apps
  • 15.
    Cloud: a revolutionin the making + + 1991: 2011:
  • 16.
    Openstack use cases Apublic 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
  • 17.
  • 18.
    OPENSTACK ARCHITECTURE • OpenStackis 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
  • 20.
  • 21.
    • In additionto 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 IdentityService • 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
  • 25.
    Compute components + openstack-nova-cert +openstack-nova-consoleauth + openstack-nova-novncproxy + openstack-nova-spicehtml5proxy + openstack-nova-xvpvncproxy + nova-cells
  • 26.
    Openstack Compute (Nova) NovaAPI 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: Tenantnetworks • 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: providernetworks • 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
  • 37.
  • 38.
    ● Needs toaccess x86 hardware resources ● Needs an operating environment, hypervisor, services ● Leverages existing code libraries for functionality Freedom, choice, flexibility
  • 39.
    TL;DR • Openstack isa 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 isdependent on the underlying Linux... LINUX Under the hood, the heart of Linux
  • 41.
  • 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 readyfor 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 wantOpenstack? Openstack user survey 2014-2
  • 47.
    Yes I wantit! 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/
  • 49.
  • 50.
    A user story(Red Hat) http://www.redhat.com/en/resources/telefónica-global-solutions-chooses-red-hat-plan-its-cloud-future
  • 51.
  • 52.
    Recap • Openstack ishard 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 touchwith your local communities http://www.meetup.com/Openstack-Amsterdam http://www.meetup.com/Openstack-Netherlands
  • 54.
    QA I f youdon’t have any questions, I failed my job!