• 1. 20090909_VirtualizationAndCloud1Virtualization and Cloud ComputingNorman Wilde Thomas Huber
  • 2. An opening caveat ...This talk is based on speeches at conferences, discussions with people in industry, and some experimentation. A lot of people think they will make a lot of money – so there is lots of hype! But there seems to be something fundamental going on.20090909_VirtualizationAndCloud2Some sun behind the clouds?
  • 3. 20090909_VirtualizationAndCloud3Two Technologies for AgilityVirtualization: The ability to run multiple operating systems on a single physical system and share the underlying hardware resources* Cloud Computing: “The provisioning of services in a timely (near on instant), on-demand manner, to allow the scaling up and down of resources”*** VMware white paper, Virtualization Overview** Alan Williamson, quoted in Cloud BootCamp March 2009
  • 4. 20090909_VirtualizationAndCloud4The Traditional Server ConceptWeb Server Windows IISApp Server Linux GlassfishDB Server Linux MySQLEMail Windows Exchange
  • 5. 20090909_VirtualizationAndCloud5And if something goes wrong ...Web Server Windows IISApp Server DOWN!DB Server Linux MySQLEMail Windows Exchange
  • 6. 20090909_VirtualizationAndCloud6The Traditional Server ConceptSystem Administrators often talk about servers as a whole unit that includes the hardware, the OS, the storage, and the applications. Servers are often referred to by their function i.e. the Exchange server, the SQL server, the File server, etc. If the File server fills up, or the Exchange server becomes overtaxed, then the System Administrators must add in a new server.
  • 7. 20090909_VirtualizationAndCloud7The Traditional Server ConceptUnless there are multiple servers, if a service experiences a hardware failure, then the service is down. System Admins can implement clusters of servers to make them more fault tolerant. However, even clusters have limits on their scalability, and not all applications work in a clustered environment.
  • 8. 20090909_VirtualizationAndCloud8The Traditional Server ConceptPros Easy to conceptualize Fairly easy to deploy Easy to backup Virtually any application/service can be run from this type of setupCons Expensive to acquire and maintain hardware Not very scalable Difficult to replicate Redundancy is difficult to implement Vulnerable to hardware outages In many cases, processor is under-utilized
  • 9. 20090909_VirtualizationAndCloud9The Virtual Server ConceptVirtual Machine Monitor (VMM) layer between Guest OS and hardware
  • 10. 20090909_VirtualizationAndCloud10Close-up** adapted from a diagram in VMware white paper, Virtualization Overview x86 ArchitectureVMM (Virtual Machine Monitor)Server 1 Guest OSServer 2 Guest OSClustering Service ConsoleIntercepts hardware requests
  • 11. 20090909_VirtualizationAndCloud11The Virtual Server ConceptVirtual servers seek to encapsulate the server software away from the hardware This includes the OS, the applications, and the storage for that server. Servers end up as mere files stored on a physical box, or in enterprise storage. A virtual server can be serviced by one or more hosts, and one host may house more than one virtual server.
  • 12. 20090909_VirtualizationAndCloud12The Virtual Server ConceptVirtual servers can still be referred to by their function i.e. email server, database server, etc. If the environment is built correctly, virtual servers will not be affected by the loss of a host. Hosts may be removed and introduced almost at will to accommodate maintenance.
  • 13. 20090909_VirtualizationAndCloud13The Virtual Server ConceptVirtual servers can be scaled out easily. If the administrators find that the resources supporting a virtual server are being taxed too much, they can adjust the amount of resources allocated to that virtual server Server templates can be created in a virtual environment to be used to create multiple, identical virtual servers Virtual servers themselves can be migrated from host to host almost at will.
  • 14. 20090909_VirtualizationAndCloud14The Virtual Server ConceptPros Resource pooling Highly redundant Highly available Rapidly deploy new servers Easy to deploy Reconfigurable while services are running Optimizes physical resources by doing more with lessCons Slightly harder to conceptualize Slightly more costly (must buy hardware, OS, Apps, and now the abstraction layer)
  • 15. 20090909_VirtualizationAndCloud15Virtualization StatusOfferings from many companies e.g. VMware, Microsoft, Sun, ... Hardware support Fits well with the move to 64 bit (very large memories) multi-core (concurrency) processors. Intel VT (Virtualization Technology) provides hardware to support the Virtual Machine Monitor layer Virtualization is now a well-established technology
  • 16. So what about Cloud Computing?20090909_VirtualizationAndCloud16
  • 17. Suppose you are Forbes.comYou offer on-line real time stock market dataWhy pay for capacity weekends, overnight? 20090909_VirtualizationAndCloud179 AM - 5 PM, M-FALL OTHER TIMESRate of Server Accesses
  • 18. 20090909_VirtualizationAndCloud18Forbes' SolutionHost the web site in Amazon's EC2 Elastic Compute Cloud Provision new servers every day, and deprovision them every night Pay just $0.10* per server per hour * more for higher capacity servers Let Amazon worry about the hardware!
  • 19. Cloud computing takes virtualization to the next stepYou don’t have to own the hardware You “rent” it as needed from a cloud There are public clouds e.g. Amazon EC2, and now many others (Microsoft, IBM, Sun, and others ...) A company can create a private one With more control over security, etc. 20090909_VirtualizationAndCloud19
  • 20. 20090909_VirtualizationAndCloud20Goal 1 – Cost ControlCost Many systems have variable demands Batch processing (e.g. New York Times) Web sites with peaks (e.g. Forbes) Startups with unknown demand (e.g. the Cash for Clunkers program) Reduce risk Don't need to buy hardware until you need it
  • 21. 20090909_VirtualizationAndCloud21Goal 2 - Business AgilityMore than scalability - elasticity! Ely Lilly in rapidly changing health care business Used to take 3 - 4 months to give a department a server cluster, then they would hoard it! Using EC2, about 5 minutes! And they give it back when they are done! Scaling back is as important as scaling up
  • 22. 20090909_VirtualizationAndCloud22Goal 3 - Stick to Our BusinessMost companies don't WANT to do system administration Forbes says: We are is a publishing company, not a software company But beware: Do you really save much on sys admin? You don't have the hardware, but you still need to manage the OS!
  • 23. 20090909_VirtualizationAndCloud23How Cloud Computing WorksVarious providers let you create virtual servers Set up an account, perhaps just with a credit card You create virtual servers ("virtualization") Choose the OS and software each "instance" will have It will run on a large server farm located somewhere You can instantiate more on a few minutes' notice You can shut down instances in a minute or so They send you a bill for what you use
  • 24. 20090909_VirtualizationAndCloud24Any Nasty Details? (loads of them!)How do I pick a provider? Am I locked in to a provider? Where do I put my data? What happens to my data when I shut down? How do I log in to my server? How do I keep others from logging in (security)? How do I get an IP address? Etc.
  • 25. 20090909_VirtualizationAndCloud25And One Really Important Caveat** Cloud BootCamp March 2009
  • 26. (footnote) How come Amazon?Grew out of efforts to manage Amazon’s own services (Each time you get a page from Amazon, over a hundred servers are involved) See reference Amazon Architecture on their service design concepts They got so good at it that they launched Amazon Web Services (AWS) as a product 20090909_VirtualizationAndCloud26
  • 27. Cloud Computing StatusSeems to be rapidly becoming a mainstream practice Numerous providers Amazon EC2 imitators ... Just about every major industry name IBM, Sun, Microsoft, ... Major buzz at industry meetings20090909_VirtualizationAndCloud27
  • 28. So What’s the Take-Away?There seems to be a major revolution underway in how we manage hardware Specify (machine per service or one big machine with many virtual servers Purchase (own it yourself or rent from a public cloud) Use (always-on, or flexible provisioning as needed ...) We may need to rethink both our research and teaching 20090909_VirtualizationAndCloud28and software?
  • 29. 20090909_VirtualizationAndCloud29For UWF: What About Research?The Eucalyptus Project From University of California Santa Barbara An open source collection of tools to build your own cloud Linux using Xen for virtualization An apparently open research area: handling data Regular databases apparently don't scale well Especially hard to make elastic (scale up / scale down)
  • 30. 20090909_VirtualizationAndCloud30For UWF: What About Teaching?Our graduates should know about cloud computing / virtualization It will be useful for some applications, though not for all But what are the right learning objectives? Awareness (its there ...) Mechanics (here’s how to instantiate a server ...) Design (how to make a scalable service ...) ???
  • 31. For Fall 2009 ...Currently developing a Virtualization / Cloud Computing “module” 1 – 2 class sessions plus an exercise Target courses (November): COP 6990 – Multi-Process Computing (Simmons) CTS 4817 – Web Server Administration (Owsnicki-Klewe) Objectives Awareness and mechanics of EC220090909_VirtualizationAndCloud31
  • 32. References (links are current as of September, 2009)VMware Inc., Virtualization Overview, http://www.vmware.com/pdf/virtualization.pdf Todd Hoff, Amazon Architecture, http://highscalability.com/amazon-architecture, Sept. 18, 2007 Intel Corp., Technology brief: Understanding Intel® Virtualization Technology, http://download.intel.com/technology/virtualization/320426.pdf aw2.0 Ltd, Cloud BootCamp March 2009, http://www.aw20.co.uk/help/cloudbootcamp_march2009.cfm20090909_VirtualizationAndCloud32
  • 33. 20090909_VirtualizationAndCloud33Where do we go from here?Any ideas to keep us out of the rain?