DevCloud and CloudMonkey in Apache CloudStack Sebastien Goasguen @sebgoa.

Post on 28-Dec-2015

224 views 5 download

Tags:

Transcript of DevCloud and CloudMonkey in Apache CloudStack Sebastien Goasguen @sebgoa.

DevCloud and CloudMonkeyin Apache CloudStack

Sebastien Goasguen@sebgoa

IaaS…

IaaS challenges

• Not out of the box by itself• Need a farm of hypervisors

– Xen, KVM, VMware…

• Need storage– For image catalogue– For volume/snapshot management

• Need flexible network that can be configured on-demand– VLANS, no VLANS, existing net infra, SDN…

IaaS is really:

• A Data Center Orchestrator– Data storage– Data movement– Data processing

• That can:– Handle failures– Support large scale– Be programmed

DevOps

• Bring your developers closer to the operations• Make your sys admins develop the apps• Move to Software Defined Data Center,

Automate everythingDev:

JavaIDE

Ops: Shell CLI

What the ASF did to CloudStack ?

• “A little bit about the internals”

A Very Flexible IaaS Platform

Compute Hypervisor

Storage Block & Object

Network Network & Network Services

Primary Storage Secondary Storage

http://www.slideshare.net/cloudstack/cloudstack-architecture

Architecture / Language

• Java application• Tomcat6, Axis2, Maven build + ant

– Ant going away in 4.1

• Moving towards a plugin architecture

Releases

• Apache CloudStack 4.0 released in November

• Time based releases– Rather slip features but guarantee release

• Apache CloudStack 4.1 planned for March 22nd. 4.2 most likely in July

Pod 1

….

Cluster N

Access LayerAccess Layer

Host 2Host 2

Cluster 1

CloudStack Cloud Architecture

Host 1Host 1

Hypervisor is the basic unit of scale.

Cluster consists of one ore more hosts of same hypervisor

All hosts in cluster have access to shared (primary) storage

Pod is one or more clusters, usually with L2 switches.

Availability Zone has one or more pods, has access to secondary storage.

One or more zones represent cloud

PrimaryStorage

Zone 1

….

L3 coreL3 core

SecondaryStorage

Pod N

CloudStack Management

Server

InternetInternet

Cloud Interactions

CloudStackCloudStack

Cloud user{API client (Fog/etc)}

End User UI

End User UI

Admin UI

Admin UI

MySQLMySQL

CloudStackCloudStackClustered

CloudStackManagement

Server

ClusteredCloudStack

ManagementServer

Domain Admin

UI

Domain Admin

UI

CS Admin & End-user API

Cloud user{ec2 API client }

ec2 API

Monitoring CS API vSphere ClusterPrimaryStorage

vcentervcenter

Cluster Mgmt

XS ClusterPrimaryStorage

vCenter API

XAPI

KVM ClusterPrimaryStorageJSON

OVM Cluster PrimaryStorage

XenApi

NetConf

Nitro APIJuniper SRX

Netscaler

Console Proxy VMConsole

Proxy VMConsole Proxy VMConsole

Proxy VM

JSON

Cloud user

HTTPSAjax Console

Ajax Console

VNC

Sec. StorageVM

Sec. StorageVM

NFS Server

NFSSec. Storage

VMSec. Storage

VM

HTTP (Template Download)

HTTP (Template Copy)

HTTP (Swift)

NFS

Router VMRouter VMRouter VMRouter VM

Router VMRouter VM

JSON

{Proxied} SSH

http://www.slideshare.net/cloudstack/cloudstack-architecture

“To get your feet wet…”

DevCloud

• A Virtual box appliance packaged to provide a working CloudStack environment.

• Aimed at developers but has other use cases:– Xen PV hosts gives nested virtualization– Local EC2/S3 Cloud on your laptop– Networking experiments ?

Self-Contained

DevCloud: as HostRun CloudStack on local machineUse DevCloud to setup hosts

CloudMonkey

• The CloudStack CLI, developed by Rohit Yadav• ~600 lines of Python• pip install cloudmonkey

• Lots of features:– Auto-completion– Tabular output– Help , scriptable, interactive shell…

Intro• $ cloudmonkey• ☁ Apache CloudStack cloudmonkey 4.0.0. Type 🐵

help or ? to list commands.

• 🙉 cloudmonkey> set apikey plgWJfZK4gyS3mOMTVmjUVg-X-jlWlnfaUJ9GAbBbf9EdM-kAYMmAiLqzzq1ElZLYq_u38zCm0bewzGUdP66mg

• 🙉 cloudmonkey> set secretkey VDaACYb0LV9eNjTetIOElcVQkvJck_J_QljX_FcHRj87ZKiy0z0ty0ZsYBkoXkY9b7eq1EhwJaw7FF3akA3KBQ

• 🙉 cloudmonkey> list users• 🙉 cloudmonkey> list virtualmachines• 🙉 cloudmonkey> help list templates• 🙉 cloudmonkey> deploy virtualmachine –help• 🙉 cloudmonkey> list templates templatefilter=all

• 🙉 cloudmonkey> list serviceofferings | grep id• 🙉 cloudmonkey> stop virtualmachine id=2c650856-a080-4766-a8b3-4166042ccec7

Info• Apache incubator project• http://incubator.apache.org/cloudstack• #cloudstack and #cloudstack-dev on irc.freenode.net• @CloudStack on Twitter• http://www.slideshare.net/cloudstack• http://incubator.apache.org/cloudstack/mailing-lists.html• Collaboration Conference, Nov 30th -Dec 2nd

– http://collab12.cloudstack.org/– http://www.youtube.com/diycloudcomputing

Welcoming contributions and feedback, Join the fun !

“Time for a Demo ?”