Date post: | 15-Jul-2015 |
Category: |
Technology |
Upload: | red-hat |
View: | 229 times |
Download: | 1 times |
• 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”
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
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
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
• 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.110.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
● 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
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 x3650M46x Xeon E5-2620RAID/SAS, 10Gbit
384GB RAM ~ 10TB Disk
48 Cores
384GB RAM ~ 10TB Disk
48 Cores
384GB RAM ~ 20TB Disk
72 Cores9.600$/mo
345.600$/3years31.200$ one time83.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?
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)
A user story (Red Hat)
http://www.redhat.com/en/resources/telefónica-global-solutions-chooses-red-hat-plan-its-cloud-future
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