Managing Openstack in a cloud-native way Marcel Haerry Alberto - - PowerPoint PPT Presentation

managing openstack in a cloud native way marcel haerry
SMART_READER_LITE
LIVE PREVIEW

Managing Openstack in a cloud-native way Marcel Haerry Alberto - - PowerPoint PPT Presentation

Managing Openstack in a cloud-native way Marcel Haerry Alberto Garca Leading the Architecture of Swisscoms Red Hat Cloud Architect ElasticStack and PaaS Over 5 years helping companies to Member of CloudFoundrys


slide-1
SLIDE 1

Managing Openstack in a cloud-native way

slide-2
SLIDE 2
  • Red Hat Cloud Architect
  • Over 5 years helping companies to

adopt emerging technologies

  • Network engineer in a previous life

Alberto García

  • Leading the Architecture of Swisscom’s

ElasticStack and PaaS

  • Member of CloudFoundry’s Technical

Advisory Board

  • Automate all the things!
  • Background in SystemEngineering and

Software Development

Marcel Haerry

slide-3
SLIDE 3

Our motivation

slide-4
SLIDE 4

Use Cases

https://developer.swisscom.com

https://www.mycloud.ch

slide-5
SLIDE 5

Modern IT philosophy at Swisscom

rapid release cycles to iterate quickly on new features and bugfixes Promoting a devops culture through the teams High availability and scalability as you grow fault tolerant and secure deployments and lifecycle Building platforms for the next generation workload Strong and thorough CI/CD approach. Highly automated and tested before promotion through stages.

slide-6
SLIDE 6

Is it doable?

slide-7
SLIDE 7

Openstack control plane

  • Components are decoupled: load balancer,

messaging bus

  • State is in the database
  • Allows dynamic topologies: Can be scaled

in/out based on control plane load due to workload usage

  • Control plane services can be virtualized
  • Openstack dedicated projects for deployment

automation

slide-8
SLIDE 8

The pacemaker HA approach

  • All in one deployment doesn’t scale as it is

(rabbitmq, galera)

  • Big VMs doesn’t fit well in virtual environments
  • Life cycle of baremetal is slow
  • CI/CD is more complex -> How to iterate on

individual components?

  • Clustering software is stateful
  • Binding control plane to infrastructure
slide-9
SLIDE 9

HAProxy/Keepalived HA approach

  • Based on Javier Peña’s architecture

https://github.com/beekhof/osp-ha-deploy/blob/master/HA-keepalived.md

  • Pacemaker free architecture
  • Distributed control plane fits well in this model
  • Virtualization is feasible thanks to flexibility in

the services layout design

  • Does not bind application to infrastructure
slide-10
SLIDE 10

Seems doable, let’s design it

slide-11
SLIDE 11

Distributed & virtualized control plane

  • Pulling the pieces apart towards a

distributed architecture

  • Horizontal scalable services (wherever

possible)

  • virtualized control-plane
  • Isolate shared state

(Galera & RabbitMQ)

slide-12
SLIDE 12

(Double) Highly Available Architecture

Component HA model Web Services HAProxy HAProxy Keepalived Mysql Galera Mongo Replica-set Rabbitmq Rabbitmq native clustering Redis Sentinel Non-API components Resiliency in the application

Application Level Infrastructure Level

slide-13
SLIDE 13

Control Plane

  • Hyperconverged
  • High density hardware
  • Network isolation of storage,

control & data

  • Network HA with bonding
  • Part of a layer 3 spine-leaf

design

  • Local ephemeral storage
  • Simple networking, one network

for everything

  • Grouping services per major

component

  • Including lightweight supporting

services in the role

  • Small sized virtual machines

Compute

Modeling the components

Control Plane

slide-14
SLIDE 14

Lifecycle

  • CI/CD Framework

Multiple stages to gain confidence in changes Clear separation between code and configuration

  • Puppet & Deployment Orchestrator for Puppet

Virtual Machines & Storage described in code ScaleOut purely through API Calls

slide-15
SLIDE 15

Storage

  • Hyperconverged compute nodes
  • Cinder with Scaleio

scales with the amount of disks & so servers

  • ObjectStore

completely externally (Atmos)

  • Glance

using external S3 Backend caching of images in the control plane

slide-16
SLIDE 16

distributed network services for SDN

slide-17
SLIDE 17

Big picture

slide-18
SLIDE 18
  • ur journey
slide-19
SLIDE 19

Active-Active HA support in Openstack components

http://gorka.eguileor.com/simpler-road-to-cinder-active-active/

slide-20
SLIDE 20

Bootstrapping clusters

slide-21
SLIDE 21
  • Monitor health
  • automate simple

remediations

NO MAGICAL RECOVERY

slide-22
SLIDE 22

Benefits & drawbacks

slide-23
SLIDE 23

Cloud like architecture

  • Control services can be treated as stateless applications
  • Operation of Openstack control plane similar to cloud

workloads

  • Dynamic and agile control plane for Openstack
  • Cost effective solution (thanks to virtualization)
  • Openstack control plane does not depend on

infrastructure

slide-24
SLIDE 24

Cloud like day 2 operations

  • Measurable & scalable per component
  • On-boarding new services -> deploy new roles
  • Parallel deployment of Control Plane for upgrades
  • Backup only the stateful services, restage

everything else

  • Redeployment of nodes in case of failure /

problems

slide-25
SLIDE 25

Drawbacks

  • Not fully A/A ready: Cinder-volume & Galera
  • RabbitMQ/MariaDB don’t scale horizontally
  • No magical recovery
  • Network partitions & keepalived
  • Horizon needs sticky sessions -> RRDNS does not

work

slide-26
SLIDE 26

Future work

  • OpenStack components

Build services A/A from the beginning Built-in health-endpoints in services (e.g. query from HAProxy or monitoring)

  • Deployment

Packaging deployment as containers (Kolla?!)

  • Architecture

Decoupling storage from compute?

slide-27
SLIDE 27

THANK YOU