#6162 - How to Build and Operate Your Private Cloud with on IBM Power Systems and OpenPOWER

Ivan Doboš, Solutions Architect, IHV team

Think Conference March 2018 Delivering the economics and agility of hyperscale innovators to enterprises globally

Developer productivity | Infrastructure economics

2

IBM / Canonical Power Relationship

● 14.04 LTS first release (April 2014)

● First commercial to support: ■ POWER8 LE ■ CAPI ■ KVM, PowerKVM ■ Docker, LXC, LXD ■ Cloud Foundry

● Canonical is Platinum OpenPower Member ○ Robbie Williamson - Chairman of the Board) ○ Ivan Doboš - Technical Steering Committee

● Ubuntu Source ecosystem available for Power; IBM charms available now Why cloud?

● (Hyper)scale

● Flexibility

● Efficiency ==> better economics

● Successful cloud – Hosting applications – Growing (scaling out) – Providing new features (Regular upgrades) – minimizing operational costs by Automation From bare metal to containers ...

● Hardware (compute, network, storage)

● Applications

● Containers ● Applications ● Containers * ● Applications

● Virtual Machines ● Operating System ● Applications ● Containers ● Application

* nested containers, Docker under LXD example Cloud Solution Stack: Enabling Operations at Scale

Landscape: Systems management & patching Juju: Cloud deployment, integration, scaling, upgrading LXD: Pure-container VMs - Containers Containers (Docker) hypervisor KVM (LXD)

Ubuntu OpenStack: Canonical-produced Kubernetes: optimized and interop OpenStack Kubernetes Docker Container tested openstack e coordination p

packages a Enterprise-class, s d hyperscale server n Ubuntu Server operating system a L

MAAS: Metal-as-a- MAAS Service for bare-metal provisioning

6 Cloud Edge

Elastic hybrid cloud Transactional Edge ( IoT )

Public Public Clouds Clouds

Bulk compute data center First things first – Bare metal

maas.io Key to Private DC Economics is Automation

MAAS Feature Matrix SDDC User Interfaces Disk layout BMC protocols

● IPAM, DNS and DHCP ● Web ● Partitioned ● IPMI ● Dynamic allocation ● REST API ● Raw ● AMT * ● Availability Zones ● CLI ● RAID ● Redfish ● Python ● LVM Chassis support ● Operating Systems ● SSH & BMC credential setup ● Cisco UCS Host NIC config ● Microsoft OCS ● Auto-enlistment via PXE ● CentOS 6, 7 ● Seamicro 15K ● Hardware inventory ● RHEL 6,7 ● Raw ● HP Moonshot ● Auto-tagging ● Ubuntu ● Tagged VLAN ● Custom commissioning ● Windows 2003, 2010 ● Bonded VM Controllers ● Post-install configuration ● Custom ● Bridged* ● KVM Virsh ● PowerKVM ● vSphere Time from request to VM Cloud Metal

Request Procure >>> from boto import ec2 >>> c = ec2.connect('us-west-2') Rack >>> r = c.run_instances( Firmware min_count=3, Configure aws_image_id, Install OS instance_type='c1.xlarge') Launch Credentials Automation The devil in the details

Node Network Discovery PXE & TFTP DNS, NTP & more bind, ntpd HW inventory lshw Topology & addressing IPAM BMC freeipmi L2 & L3 config DHCP BIOS & firmware fwupd Boot process BIOS & UEFI Infrastructure OS Deployment curtin DCIM Diskless / Ephemeral iSCSI PDUs OpenFlow Storage & Networking cloud-init Switches & routers SNMP MIBs Decommissioning NIST-wipe Storage appliances Vendor stuf MAAS The bare metal API

Inventory. Commission. Deploy.

IP, DHCP, DNS, PXE, IPMI ready to roll 1 Automated physical provisioning

2 Dynamic allocation to workloads

3 IP Address Management (IPAM)

4 Web interface and REST API

5 Windows, Linux OS install Ubuntu, RHEL, SUSE

Windows

Custom images Application modeling

Machine MAAS configuration

“Please give me up a machine of ppc64el architecture, with 24 GB RAM, a root disk of 300GB and at least 6 more 3TB Operator setup disks, with an nVidia GPGPU running Ubuntu.” MAAS 2.0 Changes the provisioning game 100k servers in a Region

HA Region Controller (1-3 servers)

- highly available - users and groups Rack Controller Rack Controller - resource allocation - central postgres db * ideally on switch - machine inventory * typically in-rack Server * cache of images Single view of server status, API * backup for adjacent racks Server endpoint, web UI. Provides PXE boot and local OS image delivery for installation. Server

Server Server

Server Server

Server Server

Server Server

Server Server High Availability for Region & Rack services ○ Region HA Region Region ○ Rack HA

Rack 1 Rack 2 Rack 3 ubuntu.com/lxd .com/lxc linuxcontainers.org LXC 2.0 adds the LXD container hypervisor LXD provides machine containers Virtual Linux Machines Containers Machine containers

Physical Machines LXD is Canonical’s container hypervisor

➢ Ultra fast “vm-lite” guests (bare metal speed) ➢ Anylxc distribution of Linuxlxc - e.g. Ubuntu, CentOSlxc lxc machine ➢machineStarts in less than machine1 second machine machine ➢ 15x density of KVM or ESX for idle workloads kernel lxd kernel lxd kernel lxd kernel lxd kernel lxd

host A host B host C host D host ...

LXD REST API

nova-lxd lxc cli other restful apps LXD – benefits for Cloud

● Lift and shift for existing applications

● Collocation of different workloads on the same node – Hyper-converged architecture as a default for Canonical OpenStack

● More efficient way of using instances in cloud – typically an instance in Cloud = VM – Run containers inside an instance

● Instances in cloud implemented as LXC containers – LXD as a supported hypervisor for OpenStack – 14x greater density with LXD than with VMs (tested on x86), lower latency Operate big software at scale on any cloud

jujucharms.com the phase change of modern software scarcity has shifted from code to ops

(Are you ready to operate a SW you don’t understand?)

How to fix it?

● Imagine ‘open source operations’ – Free, downloadable, driven by the community and/or SW vendors – Reflecting the release changes of the applications to operate – Providing functions like: ● installation/uninstallation ● upgrades ● configuration management ● scale ● integration between applications ● ‘must to have’ generic and also application specific actions: backup, restore, pause/restart, ... – ? – reuse operations code in completely different architectures

Reuse across clouds

developer laptop gce / azure / oracle (lxd containers)

your app test and dev vm’s aws

vmware bare metal openstack Ubuntu OpenStack

65% of large production OpenStack deployments run Ubuntu Canonical OpenStack Management & Infrastructure Automation Services

Nova Horizon

Landscape Ceilometer Keystone Neutron /Telemetry

Swift Cinder Glance

Juju Ubuntu 16.04 LTS

MAAS 14 OpenStack Architecture example

MySQL/0 MySQL/1 MySQL/2 rabbit/0 rabbit/1 rabbit/2 keystone/0 keystone/1 keystone/2 horizon/0 horizon/1 horizon2 Swift Swift Swift Neutron/0 Neutron/1 Neutron/2 Ceph Ceph pgsql/0 pgsql/1 pgsql/2 cinder/0 cinder/1 cinder/2 MongoDB0 MongoDB1 MongoDB2 Ceilo/0 Ceilo/1 Ceilo/2 glance/0 glance/1 glance/2 juju 0 juju 1 juju3 MAAS 1 LDS0 LDS1 LDS2 Nova-KVM Nova-LXD

Baremetal

Virtual Machine

Linux Container (LXC) OpenStack Archive Upgrade Guarantee

14.04 14.10 15.04 15.10 16.04 16.10 17.04 17.10 18.04 18.10 19.04 Queens LTS

Ubuntu 18.04 LTS 5 years Queens LTS Pike 18 months

Ocata 18 months extra 18 months for customers Newton 18 months

Mitaka LTS 5 years

Ubuntu 16.04 LTS 5 years

Mitaka LTS 5 years Liberty 18 months Kilo 18 months extra 18 months for customers Juno 18 months Icehouse LTS 5 years Ubuntu 14.04 LTS 5 years Canonical’s distribution of Kubernetes easy, stable, latest release of upstream any CPU architecture

x86 s390x extensible by design

NFS rich accessory ecosystem Why Canonical?

Most popular cloud and Launch partner as a KCSP container operating system Why Canonical Kubernetes?

Pure upstream, latest & greatest versions

Operates on AWS, Azure, GCE, OpenStack, VMWare

Bare metal operations with MAAS

100% compatible with Google’s Kubernetes

Secured. TLS, Kernel Live patching, confinement

Upgradable between each Kubernetes Release

Cost efective at scale Support for GPUs

● Automated GPU Discovery

● Live GPU adjustments

● Automated configuration of applications LXD, Kubernetes & GPUs

* Conclusion

Hardware Cloud ARM64

Single Host Bare Metal Cluster Cloud Cluster Single Host Cloud Cluster

Juju + helm, sudo give me Artificial Intelligence: check!

*coming soon to IBM Power In Summary

➢ Ubuntu #1 Linux for Cloud, ScaleOut, Dev Ops

– >65% Production OpenStack clouds are Ubuntu – Juju and related cloud tooling supports DevOps speed

➢ Operating on premise with the efficiency and flexibility of a public cloud

– Combine maas, LXD, Juju and OpenStack as needed

➢ Ubuntu on IBM Systems: great Ubuntu experience on IBM Power and IBM Z/LinuxONE

– Global Partnership with IBM

* Canonical & Open Source

* Thank You! [email protected]