Automating hard things may 2015

Post on 16-Aug-2015

138 views 4 download

Transcript of Automating hard things may 2015

NYC OpenStack meet

Mark BakerOpenStack Product Group @ Canonical

Automating hard things

The promise of OpenStack

1. Do things faster2. Maybe do them cheaper

Both of these are really hard to achieve without automation

Hard things to automate

1. Hardware2. Deploying OpenStack3. Deploying OpenStack from Source with

code from $your_source

Hard things to automate

1. Hardware2. Deploying OpenStack3. Deploying OpenStack from Source with

code from $your_source

Deploy from source - demo

Why did cloud succeed?

Why did cloud succeed?

1. Re-introduced the concept of pay-as-you-go computing infrastructure

2. Solved a very common use case in a spectacular way

Developer Bob says:Give me a new server to run this

thing I'm working on

Bob's Use Case

1. Give me a new server machine(with this much CPU, RAM, disk)

2. Install my chosen operating system

3. With the drives configured like this

4. On this specific network

5. With my credentials on it

Developer Bob says:Can it be this week? Ah, OK.Well, can it be this month?

Wouldn't it great if bare metal..

was just like the cloud?

Any OSWindows

Custom images

“Please provide a machine with 24 GB RAM, a root

disk of 300GB and at least 6 more 3TB disks, and an

nVidia GPGPU”

Story

Ubuntu, Red Hat, SUSE

MAASMachine configuration

Service orchestration

Manual setup

“Please provide a machine with 24 GB RAM, a root

disk of 300GB and at least 6 more 3TB disks, with an

nVidia GPGPU”

Story

What can MAAS do?

● Discover new hardware● Configure disks● Configure networking● Install an operating system● Set up admin credentials● Configure devops automation

Chef & MAAS● Fully-supported devops automation

● Manage bare metal kit with knife & Chef provisioning

How does MAAS do it?● Packs in a lot of functionality

DHCP, DNS, TFTP, iSCSI, HTTP

IPMI, iLO, DRAC, UCS, AMT

● Probes and configures BMCs and PDUs & remotely controls machine power state

● Unique image-based installer

● Detects hardware component details & auto-tags machines based on capabilities

● Models L2 & L3 networks & interfaces

● Secure decommission

Cloud-style RESTful API● Find me a node

POST /api/1.0/nodes/?op=acquire

[cpu_count, mem, arch, tags, name]

● Install OS & boot

POST /api/1.0/nodes/{id}/?op=start

● Get node hardware & LLDP details

GET /api/1.0/nodes/{id}/?op=details

● Discover servers in a chassis

POST /api/1.0/nodegroups/{id}/?op=probe

What should I use MAAS for?● Managing bare-metal at scale

OpenStack, Web, Storage, Hadoop & more

● Replacing homegrown provisioners

Fully supported PXE & OS install

● Building your own bare-metal cloud

Embedding MAAS is easy

● Keeping your ops team happy

Abstract your bare-metal complexity

Region Controller

- highly available- users and groups- resource allocation- central postgres db- machine inventory

Machine allocation, status, workflows, web UI. Needs low bandwidth to many clusters.

Handles 100,000 machines.

Cluster Controller

- close to machines- typically in-rack- large-file cache

Provides PXE boot and OS delivery for installation.

Has high bandwidth to a few servers - the cluster.

Cluster Controller

Cluster Controller

Cluster Controller

Cluster Controller...

serverserver…typically x 10-200serverserver

… serverserverserver…

1x HA 2000x 100,000xStory

Automating Deployment of OpenStackThe OpenStack Autopilot

1

2

3

4

5

Reality meets design

Autopilot deploys OpenStack

1

2

3

4

5

Reality meets design

Autopilot deploys OpenStack

Autopilot monitors cloud state

1

2

3

4

5

Reality meets design

Autopilot deploys OpenStack

Autopilot monitors cloud state

Administrator allocates additional resources

1

2

3

4

5

Reality meets design

Autopilot deploys OpenStack

Autopilot monitors cloud state

Administrator allocates additional resources

Autopilot calculates delta between current state and desired state

1

2

3

4

5

Reality meets design

Autopilot deploys OpenStack

Autopilot monitors cloud state

Administrator allocates additional resources

Autopilot calculates delta between current state and desired state

Autopilot orchestrates service models until reality meets design

Demo!

Coming soon…..More choices, more flexibility, more OpenStack

More choices

Hypervisor Storage

SwiftLXD Containers Ceth

Networking

1

2

3

4

5

More intelligence

Hardware roles

Hardware quotas

Node maintenance

Controlled cloud reboot

Architecture optimisations

1

2

3

4

5

More intelligence

Hardware roles

Resource quotas

Node maintenance

Controlled cloud reboot

Architecture optimisations

1

2

3

4

5

More intelligence

Hardware roles

Resource quotas

Node maintenance

Controlled cloud reboot

Architecture optimisations

1

2

3

4

5

More intelligence

Hardware roles

Resource quotas

Node maintenance

Controlled cloud reboot

Architecture optimisations

1

2

3

4

5

More intelligence

Hardware roles

Resource quotas

Node maintenance

Controlled cloud reboot

Architecture optimisations

OpenStack upgrades: Kilo -> Liberty

Canonical’s OpenStack CI-as-a-Service

● Validate code with upstream git tip or stable● Validate new vendor code against upstream git tip or stable● Validate enterprise branches against upstream git tip or stable

● Run CI tests in “real-world” multi-node scenarios● Build a cloud of arbitrary scale and complexity from tip● Deploy to metal, cloud, or virtualized environment● Verify deployed cloud with Tempest, Rally, or other tests

MAAS Juju OpenStack Jenkins OILTesting

What’s supported from source?

Questions?

Demo Backup