#6162 - How to Build and Operate Your Private Cloud with Ubuntu on IBM Power Systems and OpenPOWER
Ivan Doboš, Solutions Architect, IHV team Canonical
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 Linux 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 Open Source ecosystem available for Power; IBM software 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
● Hypervisor ● 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 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 c 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 ● bcache 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 github.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) lxc ➢ 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 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]