Who am I?

Distinguished Engineer

IBM Cloud

Who am I?

Technical Committee

Foundation Board of Directors

Developer Infrastructure Core Team

What are we going to talk about?

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

10 Cloud Regions in 7 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

15 Million Tests in a month

18 Terabytes of Log Data in six months

Our VMs are everywhere

Public Clouds

Private Clouds

We also have servers

Infra Cloud

Architecture

image

Gerrit

Fun Numbers

nodepool

How do we do this?

Control plane

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

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:
  vexxhost:
     profile: vexxhost
     auth:
       project_name: d8af8a8f-a573-48e6-898a-af333b970a2d
       username: 0b8c435b-cc4d-4e05-8a47-a2ada0539af1
       password: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     region_name: ca-ymq-1
  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: hp-mordred
    name: mordred
    public_key_file: ~/.ssh/id_rsa.pub
- os_image:
    cloud: hp-mordred
    name: Monty Ubuntu
    file: ubuntu.vhd
- os_server:
    cloud: hp-mordred
    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:
    - vexxhost
    - rackspace
    - ovh
      

Ansible Role Cloud Launcher

http://git.openstack.org/cgit/openstack/ansible-role-cloud-launcher

profiles:
  - name: admin-clouds
    flavors:
      - name: aoclcompany.xlarge
        ram: 128
        vcpus: 1
  - name: ops
    images:
      - name: ubuntu-trusty
        filename: /home/ubuntu/trusty-server-cloudimg-amd64-disk1.img
  - name: bootstrap-keypair
    keypairs:
      - name: bootstrap-key
        public_key_file: /home/ubuntu/.ssh/id_rsa.pub
clouds:
  - name: awesomecloud
    profiles:
      - admin-clouds
      - bootstrap-keypair
  - name: yaycloud-ops
    oscc_cloud: yaycloud-opsuser
    profiles:
      - bootstrap-keypair
      - ops
      

nodepool

OpenStack Works!

Why should you care?

Three Benefits to OpenStack

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

Hybrid cloud is everything

Do Business with who you want

Want to do business with someone who throws chairs in business meetings?

Me either.

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?

OpenStack is over 400 companies

European Public Clouds

OVH: France

CityCloud: Sweden, UK

Elastx: Sweden

Datacentred: UK

Enter Cloud Suite: Italy, Germany, Frankfurt

Internap: Netherlands, US

Ultimum: Czech Republic

Zetta: Norway

Managed Private Cloud

Bluebox: an IBM Company

Private Cloud Distro

Not listing them - I can't possibly remember them all

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