27
Xen Orchestra Building a Cloud on top of Xen 1 / 27

XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Julien Fontanet, Vates

Embed Size (px)

Citation preview

Xen Orchestra

Building a Cloud on top of Xen

1 / 27

Introduction

At first

an easy to use administration tool (10s of VMs)

Today

still an administration tool (100s to 1000s of VMs) ;)self service portalbackup solutionbasic load balancer

Tomorrow

more and more a simple cloud solutioneasy-to-use API to manage Xen Serversadvanced load balancer

2 / 27

3 / 27

History

2009

Initially created by Olivier as a student for personal useBased on xendStatic pages generated by PHP

2013

Still no nice and easy Web UIs for XenServerRestarted in 2013 for internal useStill generating much interest from the communityInitial server written in PHP

4 / 27

History (2)

Mid 2013

Server rewritten using NodeInitial single-page web application (based on Backbone.js then Angular.js)

2014

Not as much things as we wanted because not much time dedicated to theproject!

→ Need to focus!

5 / 27

History (3)

2015

We are working exclusively on XO!

2016

UI entirely rewritten for performance and ease of use for big infrastructures(2000+ VMs)

6 / 27

7 / 27

8 / 27

9 / 27

10 / 27

Architecture

Above pools

11 / 27

Architecture (2)

Centralized server

less connectionscached datashared authenticationno Xen Servers directly exposed

12 / 27

13 / 27

14 / 27

You said Cloud?

Bring people a way to enjoy cloud-like features with their own hardware,without complexity:

no complicated stuff to install on hosts (stay agent-less)leverage our current XO architecture (no need to rewrite everything)bottom to top approach, ie start small and add features step by step(opposite of OpenStack)

Features

ACLs (users/groups permissions)Self ServiceCloudInit

15 / 27

ACLs

First step toward the cloud: permissions!

Let users/devs make actions on their VMs:can only see VM state (viewer)power cycle (operator)remove (admin)

avoid devs to ask for things they can do themselvessell your ressources to your customers

16 / 27

17 / 27

Self service: going further

Create a set of resources (max CPUs, RAM, disks, etc.)Assign this set to a group/userLet them play with it

18 / 27

19 / 27

Cloud-Init (1)

Cloud-init is the defacto multi-distribution package that handles earlyinitialization of a cloud instance.

https://cloudinit.readthedocs.io/en/latest/

How to?

1. Create a template where you install Cloud-init software(apt/yum/whatever)

2. Remove all root/user password3. Transform your VM into a template

20 / 27

Cloud-Init (2)

VM creation for Cloud-init templates

During next boot, Cloud-init will:

read the configuration passed by XOAapply it

21 / 27

Cloud-Init (3)

Possibities

deploy SSH keys and host nameinstall software on boot (Apache, MySQL...)inject software configurationadd extra repo, certificates, execute commands on boot, phone homewhen ready...mount pointsextend root partition size (if disk bigger than current FS)

XO + Cloud-Init allows you to deploy generic but versatile templates inless than 20 secs

22 / 27

Quick recap (1)

Before

As an admin, everytime:

1. Install a VM (OS install, VM settings)2. SSH into it with root/sudoer3. Create basic configuration (automated or not)4. Give your developer an IP address to SSH on

As a developer:

1. Break your VM2. Call your sysadmin3. Wait for a manual operation (reboot/reinstall/whatever)4. Go back to 1

23 / 27

Quick recap (2)

Now

As an admin, after creating a set of ressource and the right templates:

1. Nothing

As a developer:

1. Break your VM2. Remove it and recreate it in 20 secs

24 / 27

Future possibilities

IP (manual) management with VIF locking (almost done)expose CloudInit templates directly in XO (with a public registry?)DHCP/DNS connectors (network automation)integrate XO with CI services (eg Jenkins) or Vagrant for devs

25 / 27

Conclusion

XO architecture and Xen + XAPI allows powerful featurescombining XO Cloud features turns your own Xen hardware into a privatecloudstill some improvements possible

In real life:

Current usage for XO in a "local Cloud":VPS vendors (selling resources)companies with various devs teams (especially when Dockerinvolved)

26 / 27

Thank you!

Questions?

Twitter: @xenorchestra

IRC: #xen-orchestra (FreeNode)

27 / 27