+ All Categories
Home > Technology > Cloud Architect Alliance #15: Openstack

Cloud Architect Alliance #15: Openstack

Date post: 15-Jul-2015
Category:
Upload: red-hat
View: 229 times
Download: 1 times
Share this document with a friend
Popular Tags:
54
Openstack: Quod nubes est?
Transcript

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.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

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 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?

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!


Recommended