Office of Technology
Zuul
Ansible
Technical Committee
Foundation Board of Directors
Developer Infrastructure Core Team
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.
10-20k VMs per-day
12 Cloud Regions in 8 clouds
Only using OpenStack APIs
Every commit is fully integration tested (twice) before landing
This is that "cloud scale out" part
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
~/.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
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
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
multi-cloud support
- os_keypair: cloud: "{{ item }" name: mordred public_key_file: ~/.ssh/id_rsa.pub with-items: - citycloud - elastx - zetta
Why should you care?
Cloud-native 12-factor application
Traditional Java web application
Kerberos Server
Baremetal for hardware enabled transcoding
CityCloud: Sweden, UK
Datacentred: UK
Elastx: Sweden
Enter Cloud Suite: Italy, Germany, Frankfurt
Internap: Netherlands, US
OVH: France
Ultimum: Czech Republic
Zetta: Norway
UnitedStack
Huawei
UMCloud
EasyStack
99 Cloud