OpenStack works ... who cares?

Monty Taylor

http://inaugust.com/talks/who-cares.html

twitter: @e_monty

Who am I?

Office of Technology

Zuul

Ansible

Who am I?

Technical Committee

Foundation Board of Directors

Developer Infrastructure Core Team

What are we going to talk about?

  • OpenStack
  • My application
  • Your applications
OpenStack

As an application developer,
I want to deploy and run an application on the internet so that my customers all over the world can consume it.

As an operator,
I want to deploy the application across multiple clouds so that my service survives issues in any one of them.

As a compliance officer,
I want to deploy and run an application in a location of my choosing so that I can comply with regulatory demands.

THIS WORKS

I'm doing it myself as we speak

10-20k VMs per-day

12 Cloud Regions in 8 clouds

Only using OpenStack APIs

OpenStack Infra

Tooling, Automation and CI for OpenStack Project

2000 Developers

Gated Commits

Every commit is fully integration tested (twice) before landing

Each Test Runs on a Single Use Cloud Slave

This is that "cloud scale out" part

1.7 Million Test Jobs in the last 6 Months

2 kjph

2 klo jobs per hour

Our VMs are everywhere

Public Clouds

  • Rackspace: Dallas, Chicago, DC
  • Internap: New Jersey, Montreal
  • OVH: Strassbourg, Gravelines

Managed Private Clouds

  • OpenStack Innovation Center: San Antonio
  • Blue Box: San Jose
  • Red Hat TripleO: Phoenix

Private Cloud

Infra Cloud

  • Hardware donated by HPE: Houston
  • Community run cloud using OpenStack Puppet
  • Bare Metal managed with Bifrost/Ironic

image

Gerrit

  • Traditional 'Enterprise' Java Application
  • Single Nova VM, Cinder Volume
  • Scale out farm of git replicas

nodepool

  • Cloud Native
  • Purpose built in Python
  • Keeps a pool of ready to go nodes
  • Multi-cloud
  • Fully elastic - responds to demand

How do we do this?

Control plane

http://git.openstack.org/cgit/openstack-infra/system-config

  • All server config management in git
  • Puppet manages the servers: puppet apply
  • Ansible runs puppet: ansible puppet module
  • Ansible OpenStack Dynamic Inventory
  • Only thing not public are keys and secrets

os-client-config

http://git.openstack.org/cgit/openstack/os-client-config

A library to handle config information for openstack clients

Tracks differences in vendors that can't be discovered

In use in python-openstackclient and ansible

os-client-config

~/.config/openstack/clouds.yaml

clouds:
  citycloud:
     profile: citycloud
     auth:
      username: mordred
      password: XXXXXXXXXXXXXXXXXXXXX
      project_id: 65222a4d09ea4c68934fa1028c77f394
      user_domain_id: d0919bd5e8d74e49adf0e145807ffc38
      project_domain_id: d0919bd5e8d74e49adf0e145807ffc38
    regions:
      - Kna1
      - Sto2
      - Lon1
  dreamcompute:
    profile: dreamhost
    auth:
      username: montay6
      project_name: dhc2111978
      password: XXXXXXXXXXXXX
    region_name: RegionOne
      

shade

http://git.openstack.org/cgit/openstack-infra/shade

A library to wrap business logic around client libraries

cloud.create_image('image-name', filename='image-filename.qcow2')
cloud.create_server('my-server', image='immage-name', auto_ip=True)
      

In use in Infra Nodepool and ansible

ansible

Brand new modules, based on shade

Part of 2.0 release

- os_keypair:
    cloud: citycloud
    name: mordred
    public_key_file: ~/.ssh/id_rsa.pub
- os_image:
    cloud: citycloud
    name: Monty Ubuntu
    file: ubuntu.vhd
- os_server:
    cloud: citycloud
    name: my-server
    flavor_ram: 1024
    image: Monty Ubuntu
      

ansible

multi-cloud support

- os_keypair:
    cloud: "{{ item }"
    name: mordred
    public_key_file: ~/.ssh/id_rsa.pub
    with-items:
    - citycloud
    - elastx
    - zetta
      

nodepool

  • Use shade to treat all cloud regions as one giant cloud
  • diskimage-builder makes identical base images for each
  • Pre-cache network artifacts in disk images
  • glean instead of cloud-init to handle no-DHCP on Rackspace
  • Pre-spins warm pool - always keep min-ready number of nodes

OpenStack Works!

Why should you care?

Three Benefits to OpenStack

  • Run what you want
  • Run it where you want
  • Do business with who you want

Run what you want

Cloud-native 12-factor application

Traditional Java web application

Kerberos Server

Baremetal for hardware enabled transcoding

Run it where you want

  • Geography
  • Delivery Model

Geography

  • Put it near your users
  • Don't put it in an NSA data center
  • Locality Requirements
  • What if you have customers in Sweden?

Delivery Model

  • Public
  • Hosted Private
  • Managed Private On-Premise
  • Run your own

Hybrid cloud is everything

Do Business with who you want

Prefer to work with someone wth a local presence?

Maybe someone with a global reach?

Who cares about your business being successful?

All of those things?

European Public OpenStack

CityCloud: Sweden, UK

Datacentred: UK

Elastx: Sweden

Enter Cloud Suite: Italy, Germany, Frankfurt

Internap: Netherlands, US

OVH: France

Ultimum: Czech Republic

Zetta: Norway

Chinese OpenStack

UnitedStack

Huawei

UMCloud

EasyStack

99 Cloud

OpenStack gives you the power to make the choices that are right for you and for your business

Thank you!

http://inaugust.com/talks/who-cares.html

twitter: @e_monty