Building a Dev/Test cloud withApache CloudStackDavid NalleyPMC Member Apache CloudStackMember, Apache Software Foundationke4qqq@apache.orgTwitter: @ke4qqq
#whoami• Apache Software Foundation Member• Apache CloudStack PMC Member• Recovering Sysadmin• Fedora Project Contributor• Zenoss contributor• Employed by Citrix in the Open Source Business Office
Why use cloud?From a dev point of view the process 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 Ops provides is not what developers want.
Get rid of the waiting!●Remove constraints - developers empowered to getthings done.●Agility●Enforce automated process instead of manual ones
What does a dev/test cloud look like?●Self-service - developers can provision their ownenvironments●Usage measurement - we worry about VM sprawl●Isolated networks - must not let dev/test interfere withthe real world.●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 Command-line� 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 areconsuming resources as well as how they are usingthose 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 andperformant● 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 ona small scale, but not at a large 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, butheaviest users will not be able to interrupt service forothers.