openstack best practices and considerations - terasky tech day

40
Arthur Berezin, Sr. Technical Product Manager, Red Hat OpenStack In The Enterprise Best practices for deploying enterprise-grade OpenStack implementations TeraSky Tech Day 24/3/2015

Upload: arthur-berezin

Post on 17-Jul-2015

1.908 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: OpenStack Best Practices and Considerations  - terasky tech day

Arthur Berezin,Sr. Technical Product Manager,Red Hat

OpenStack In The EnterpriseBest practices for deploying enterprise-grade OpenStack implementations

TeraSky Tech Day 24/3/2015

Page 2: OpenStack Best Practices and Considerations  - terasky tech day

● Introduction to OpenStack● OpenStack Architecture● Best Practices and Considerations for Production

environments:- Layout- High Availability- Compute- Storage- Network

Agenda

Page 3: OpenStack Best Practices and Considerations  - terasky tech day

Why does the world need OpenStack?

Page 4: OpenStack Best Practices and Considerations  - terasky tech day

Why does the world need OpenStack?● Cloud is widely seen as the next-generation IT model

○ Agile and flexible○ On demand consumption○ Self service

● Applications are being written differently○ More tolerant of a failure○ Making use of scale-out architecture

● Not all organizations are ready for public clouds

Page 5: OpenStack Best Practices and Considerations  - terasky tech day

What is OpenStack?● Fully open-source cloud “operating system”

● Comprised of several open source sub-projects

● Provides building blocks to create an IaaS cloud

● Governed by the vendor agnostic OpenStack Foundation

● Enormous market momentum

Page 6: OpenStack Best Practices and Considerations  - terasky tech day

How does OpenStack fit in?● A cloud-like IaaS platform

○ Internal private cloud○ Test and Dev environments ○ Cloud Service Provider for compute, storage, and network

● Scale-out platform for cloud-enabled workloads○ Web-scale applications (e.g., NetFlix)○ Academic, research or pharma workloads

● Platform of choice for Network Functions Virtualization (NFV)

Page 7: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Architecture

Page 8: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Architecture

● Made up of individual autonomous components● A framework, relies on drivers and plugins● Heavily dependant on Linux

Page 9: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Identity (Keystone)

● Common authentication and authorization store● Responsible for users and to which projects they belong to ● All OpenStack services rely on Keystone to verify user requests

Page 10: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Compute (Nova)

● Responsible for the lifecycle of running instances ● Manages multiple hypervisor types via drivers

○ e.g., Red Hat Enterprise Linux with KVM

Page 11: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Image (Glance)

● Storage and retrieval of disk images/templates ● Supports a large variety of image formats (e.g., qcow2, vmdk)● Different backend storage options (e.g., NFS, Ceph)

Page 12: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Object Store (Swift)

● Storage and retrieval of arbitrary unstructured data ● Provides object based interface via REST API● Replication, self-healing and load-balancing

Page 13: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Networking (Neutron)

● Everything networking to instances running within OpenStack● API for defining, configuring, and using networks ● Relies on a plugin/driver architecture for implementation

Page 14: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Volume (Cinder)

● Block storage to instances running within OpenStack● Used for providing persistent and/or additional storage ● Relies on a plugin/driver architecture for implementation

Page 15: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Orchestration (Heat)

● Facilitates the creation of ‘application stacks’● Stacks are imported as descriptive template language ● Allows for dynamic scaling based on configurable metrics

Page 16: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Telemetry (Ceilometer)

● Central collection of metering and monitoring data● Consume data from the other components● Primarily used for chargeback of resource usage

Page 17: OpenStack Best Practices and Considerations  - terasky tech day

OpenStack Dashboard (Horizon)

● OpenStack’s web-based self service portal● Sits on top of all other components via API interaction● Provides a subset of underlying functionality

Page 18: OpenStack Best Practices and Considerations  - terasky tech day

Best Practices and Considerations

Page 19: OpenStack Best Practices and Considerations  - terasky tech day

Disclaimer

OpenStack is an Engine, You build the car based on needs.

Lego, if you’re not a car person

Page 20: OpenStack Best Practices and Considerations  - terasky tech day

LayoutHigh Availability

ComputeStorage

Networking

Page 21: OpenStack Best Practices and Considerations  - terasky tech day

Layout

OpenStack Architecture:● OpenStack services are implemented

via several stateless Linux services● Messaging bus(RabbitMQ) for service

intercommunication● Database for persistent Data

Page 22: OpenStack Best Practices and Considerations  - terasky tech day

Layout

Cinder Services:Cinder-APICinder-SchedulerCinder-VolumeCinder-backup

Page 23: OpenStack Best Practices and Considerations  - terasky tech day

Layout

● This design allows building custom layouts● Separating or Segregating

○ Controller Node ○ API/Horizon Dashboard ○ Networking Control Plane○ Cinder and Glance Storage

● Co-locating Ceph OSD with nova-compute○ Is this a good idea? Depends on workloads

Page 24: OpenStack Best Practices and Considerations  - terasky tech day

Layout

API/ Horizon Dashboard

GlanceCinder Nova-ComputeDatabase

MQ Messaging Nova-ComputeNova-Compute

StorageInternet

APIStorageTenantInternet Service Internal

Neutron Networking

Page 25: OpenStack Best Practices and Considerations  - terasky tech day

LayoutHigh Availability

ComputeStorage

Networking

Page 26: OpenStack Best Practices and Considerations  - terasky tech day

High Availability Architecture

● 3 Controllers

Page 27: OpenStack Best Practices and Considerations  - terasky tech day

High Availability Architecture

● 3 Controllers● Database

○ Galera Multi-Master replication

○ MariaDB A/P Cluster● Message Bus

○ RabbitMQ MirroredQueues

Page 28: OpenStack Best Practices and Considerations  - terasky tech day

High Availability Architecture

Cinder ServiceArchitecture:● Cinder-API● Cinder-Scheduler● Cinder-Volume● Cinder-backup

Page 29: OpenStack Best Practices and Considerations  - terasky tech day

High Availability Architecture● LoadBalance

Incoming Traffic With HAProxy

● Clustered Services With Pacemaker

● Some services are still A/P(cinder-volume)

● Other implement A/A HA Internally(Neutron VRRP, DVR)

Page 30: OpenStack Best Practices and Considerations  - terasky tech day

LayoutHigh Availability

ComputeStorage

Networking

Page 31: OpenStack Best Practices and Considerations  - terasky tech day

Compute● Backend Virtualization Driver Choice

○ KVM○ VMWare (Limited to NSX)○ Others (HyperV, Xen)

● Ephemeral Disks○ Local or Shared○ Live Migration

● Co-Locating Ceph OSD with nova-compute

Page 32: OpenStack Best Practices and Considerations  - terasky tech day

Compute● Overcommitting CPU / Memory

○ Default CPU overcommit ratio - 16○ Default memory overcommit ratio - 1.5

● Docker Docker Docker○ Can live within VM Instances○ nova-docker driver is still out-of-tree in Kilo release○ Project Magnum was just introduced

■ Docker and Kubernetes -aaS

Page 33: OpenStack Best Practices and Considerations  - terasky tech day

LayoutHigh Availability

ComputeStorage

Networking

Page 34: OpenStack Best Practices and Considerations  - terasky tech day

Storage

Glance● Backends:

● Local, NFS, Ceph RBD, Swift● Glance Supports Multiple backends● Stick to those that you already know● Use Image Caching

Page 35: OpenStack Best Practices and Considerations  - terasky tech day

Cinder● Backends:

○ Local LVM with iscsi, but no High Availability ○ Ceph RADOS Block Device○ NetApp, EMC, SolidFire and many others

● Cinder Supports Multiple backends● Periodic Cinder snapshots ● Optionally Boot from Cinder Volumes

Storage

Page 36: OpenStack Best Practices and Considerations  - terasky tech day

LayoutHigh Availability

ComputeStorage

Networking

Page 37: OpenStack Best Practices and Considerations  - terasky tech day

Networking

● Various design choices:○ Neutron or nova-network○ Provider network or Tenant network○ Overlays(VXLAN, GRE) or VLANs○ SDN, dedicated network controller○ Open source or commercial solution

Page 38: OpenStack Best Practices and Considerations  - terasky tech day

Networking

● A lot of FUD out there...● But also some great innovation, especially in

open source communities● Define your business needs● Analyze your application requirements

○ East/west vs south/north traffic● Plan for future growth

Page 39: OpenStack Best Practices and Considerations  - terasky tech day

Networking Neutron plugins

● Default ML2/Open vSwitch● Other open source solutions

○ e.g., OpenContrail, OpenDaylight, MidoNet● Commercial hardware agnostic

○ e.g., PLUMgrid, NSX● Commercial hardware specific

○ e.g., Nuage, Cisco ACI

Try the Default First

Page 40: OpenStack Best Practices and Considerations  - terasky tech day

Thank you