Wednesday, February 27, 2013

ApacheCon LiveBlog: DevCloud - A CloudStack SandBox



This is a live blog from ApacheCon that I'm attending this week.  This session is with Sebastien Goasguen.

Usual Live Blog Disclaimer: This is more of a brain dump typing as fast as I can, please excuse typos, format, and coherent thought process in general.

  • Today's talk will focus on DevCloud and CloudMonkey
  • Sebastien giving overview of IaaS market in general. He was actually an OpenNebula guy prior to CloudStack
  • With IaaS setting up a virtual sand box can be tricky since there are a larger number of moving parts: hypervisors, storage, networking
  • DevOps - quick introduction to DevOps to help everyone understand why this is such a big movement in the industry right now (bringing development coser to the operations)
  • This helps us set up an environment to enable a software defined datacenter that allows for automation at all levels
  • Now talking about ASF (Apache Software Foundation) and CloudStack. He has a LOT of analysis around the community. The growth once joining as an incubation project shows a HUGE spike (CloudStack is now the #1 Apache project when it comes to commits)
  • On to the internals of CloudStack, goal is to be as agnostic as possible (multi-hypervisor, both block and object storage) 
  • Network tends to be the most challenging for new folks (firewall, load balancing, basic networking vs. advanced networking, VPN, etc.) - See the bottom line on the picture above
  • Apache 4.0 was released in November, 4.01 was just released, 4.1 set for March. Goal is new release every six months
  • Architecture -> Zone(datacenter) -> Pods(rack) -> Cluster (hosts) -> primary & secondary storage -> Instance (virtual machines)
  • Centralized management server - can be multiple management servers behind a load balancer and replicated MySQL for large scale
  • system vm's are used to communicate from the management server to some features (firewall, secondary storage, etc.)
  • (Topic change) - What is DevCloud - CloudStack in a box, aimed at developers but can be a local EC2/S3 "cloud in a box"
  • self contained - cloudstack management server, ttyllinux (to stay small), system vm's, MySQL, interface all on one laptop - on a beefy laptop expect a good number of instances
  • What is CloudMonkey - cloudstack CLI - great for auto-completion of features, tabular output, help, scriptable, shell interaction, etc.
  • Intro - Launch CloudMonkey, you now have a shell to talk to your cloud, need to do a key exchange, then ready to access your devCloud instance
  • Demo Time - He is running VirtualBox on a Mac Book Air, he is using a NAT interface, forwarding a few ports needed (8080, 2222, 8443, 5901, 7080) - The vm uses nested vm's to launch inside the virtual machine on the laptop
  • 2nd Demo - He is running the 4.01 release on his laptop directly from the sourcecode instead of the devcloud vm as well.
  • Back to DevCloud - He shows the system vm's up and running and an instance that is halted.
  • Went into Web UI - Gave an overview of the Infrastructure, you will have a zone and pod that is defined (named devlcoud), from there a single host as well
  • Secondary storage - NFS storage is built in and emulated, primary storage is "local". No need to stand up an external NFS service
  • templates - the system vm's and the small linux template are already included.
  • Sebastien went through creation of a new instance using the included tiny instance and shows everything spinning up.
  • You can take snapshots (saves to secondary storage)
  • The first time a template is used it is pulled from secondary storage and copied down to primary storage
  • Global Settings - EC2 API feature turn on if you want to run EC2 commands against it
  • Now going over CloudMonkey features
  • First thing, set the API key (get this from the UI)
  • Now you can do common tasks (list virtual machines, start/stop virtual machines, etc.)
  • Another way to use DevCloud: different network type, 2 vNICS, one host only and one NAT
  • Build it from source (need Maven dependencies), deploy the database, basically build it yourself. Because you build it this way, there are no zones, pods, etc.  You build everything yourself.
  • One thing you can do with this is build your entire infrastructure from scripts. This allows you to test build process of CloudStack for replication.  This is a very powerful use case!

Really great presentation and great overview to those new to CloudStack and DevCloud!





No comments: