View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
Building a Test/Dev Cloud withApache CloudStackDavid Nalleyke4qqq@apache.org@ke4qqq
#whoami● Sysadmin of a decade● Apache Software Foundation Member● Apache CloudStack Committer & PMC Member● Fedora Project Contributor● Employed by Citrix in the Open Source Business Office
Why use cloud?From a dev POV the process normally looks like:● Start new project● File ticket for resources....wait....wait....wait● Get resources, that arent configured....wait...● Get network access.....get permission....wait● Get things done.
Why use cloud?● What IT Operations provides is not what a developer wants.
Get rid of the waiting● Remove the constraints - developers empowered to get thingsdone.● Agility● Enforce automated process instead of manual ones
What does a dev/test cloud look like?● Self-service - developers can provision their own environments● Usage measurement - we worry about VM sprawl● Isolated networks - must not let dev/test interfere with the realworld.● Commodity - as cheap as practical● May also house production workloads
Self service● Provisioning manually doesnt add value● Can be completely automated● Do they need full control or just pushing pre-configuredenvironments?
API or Commandline?� cloudmonkey> deploy virtualmachineserviceofferingid=d8611d07-acf5-4cd4-a630-5c4d937ef043templateid=081358ff-2427-44f8-adcc-1bb002fab361zoneid=d06193b2-7980-4ad1-bd8-7b2f2eda63c3curl http://localhost:8096/client/api?command=listUsers
Usage● Jevons Paradox● Plenty of waste possible as well - will developers alwaysdestroy a machine when they are done with it?● Important to show what projects and groups are consumingresources as well as how they are using those resources
Commodity - Storage● Commodity storage - this is dev/test environment - highperformance, resilient storage isnt needed.● Local storage tends to be the best mix of cheap and performant● No failover, but its dev/test - do you need it?
Commodity - Networking● Layer 3 isolation - (aka Security Groups)● VLANs - (not as commodity, but still relatively cheap on a smallscale, but not at scale)● Virtual routers (provide DHCP, DNS, LB, Firewall, PF, NAT, etc)
Commodity Hypervisor● KVM is my personal choice in this space.● Easiest to consume - completely open source
Limiting resources● Limit the number of VMs, snapshots, IP addresses, etc.● Use projects to share resources● This means most folks will never have problems, but heaviestusers will not be able to interrupt service for others.