Virtualization 101


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Virtualization 101

  1. 1. Virtualization 101<br />Presented by<br />Gaurav Marwaha<br />
  2. 2. History<br />The prototypical illustration of full virtualization is in the control program of IBM&apos;s CP/CMS operating system – first demonstrated with IBM&apos;s CP-40 research system in 1967, then distributed via open source in CP/CMS in 1967-1972, and re-implemented in IBM&apos;s VM family from 1972 to the present. Each CP/CMS user was provided a simulated, stand-alone computer. Each such virtual machine had the complete capabilities of the underlying machine, and (for its user) the virtual machine was indistinguishable from a private system. This simulation was comprehensive, and was based on the Principles of Operation manual for the hardware. It thus included such elements as instruction set, main memory, interrupts, exceptions, and device access. The result was a single machine that could be multiplexed among many users.<br />
  3. 3. What is Virtualization?<br />Virtual machine<br />Physical machine<br /><ul><li>A level of indirection between hardware and software
  4. 4. Virtual Machines: a full abstraction of a physical machine</li></li></ul><li>Isolation<br />Partitioning<br />Run multiple virtual machines simultaneously on a single PC<br />The virtual machine is isolated from Host OS, other VMs on the same PC <br />Run a virtual machine on any PC without modification. Break dependence between OS & HW<br />Encapsulation <br />HW Independence & Transparency<br />Entire virtual machine is saved in files. Can be moved and copied like any other file.<br />Key Properties of Virtualization<br />
  5. 5. Definitions<br /><ul><li>Server Virtualization is focused on partitioning a physical instance of an operating system into a virtual instance or virtual machine. There are two aspects of server virtualization:
  6. 6. Software Virtualization runs the virtualized operating system on top of a software virtualization platform running on an existing operating system.
  7. 7. Hardware Virtualization runs the virtualized operating system on top of a software platform running directly on top of the hardware without an existing operating system. The engine used to run hardware virtualization referred to as a hypervisor.
  8. 8. Desktop Virtualization allows you to rely on virtual machines to provision desktop systems. Desktop virtualization has several advantages, the least of which is the ability to centralize desktop deployments and reduce distributed management costs.</li></li></ul><li>Benefits – Server Virtualization<br /><ul><li>Ease of deployment – can be ready in 20 minutes
  9. 9. Mobility – can be moved from one host to another quickly
  10. 10. Can templatize OS creation or use custom OS
  11. 11. Easy to backup – just copy the file
  12. 12. Easy to maintain – application developers do not need to bother about hardware details they just provide a file with required RAM</li></li></ul><li>Benefits – Desktop Virtualization<br /><ul><li>All desktops centrally hosted and users given remote desktop access
  13. 13. Easy management; patch application and virus protection
  14. 14. Huge energy savings
  15. 15. Better security and problem isolation
  16. 16. Easy to upgrade or migrate to new environments</li></li></ul><li>Benefits – Application Virtualization<br /><ul><li>Protects the OS from any changes an application can make during installation
  17. 17. Instead of capturing the installation process you capture what an application needs to run in an OS
  18. 18. Huge energy savings
  19. 19. Better security and problem isolation
  20. 20. Easy to upgrade or migrate to new environments</li></li></ul><li>Analyzing<br /><ul><li>Memory
  21. 21. More the better
  22. 22. Move to 64bit
  23. 23. Can look at Physical Address Extension switch at startup
  24. 24. Storage
  25. 25. Rely on shared storage
  26. 26. Licensing
  27. 27. OS licensing – windows has a separate policy for virtual servers
  28. 28. Its hypervisor is called ESX
  29. 29. Architectures
  30. 30. It is important to have a visual diagram else it may become confusing
  31. 31. Management
  32. 32. Focus on VM management
  33. 33. Dependency management
  34. 34. OS dependencies & hardware dependencies</li></li></ul><li>Virtualization Decision Flow<br />
  35. 35. Major Vendors<br /><ul><li>Citrix -
  36. 36. Offers a product named xenserver for server virtualization and xendesktop for desktop virtualization
  37. 37. Xenserver has four editions ranging from free Express to Platinum edition
  38. 38. Microsoft -
  39. 39. Virtual Server and Virtual PC are two products
  40. 40. It has a built in hypervisor (Hyper-V) which is part of Windows 2008 server OS
  41. 41. VMWare –
  42. 42. Offers very mature server and desktop products
  43. 43. Its hypervisor is called ESX</li></ul>Oracle (Oracle VM), Novell (Xen), Red Hat (Xen), IBM, Sun (xVM), Virtual Iron, and others also all offer their own hypervisors<br />
  44. 44. Software Appliances<br />A software appliance is a software application combined with just enough operating system (JeOS) for it to run optimally on industry standard hardware (typically a server) or in a virtual machine.<br />JeOS is the abbreviation (pronounced &quot;juice&quot;) for the concept of Just Enough Operating System as it applies to a software appliance.<br />JeOS is not a generic, one-size-fits-all operating system. Rather, it refers to a customized operating system that precisely fits the needs of a particular application. The application&apos;s OS requirements can be determined manually, or with an analytical tool.<br />Therefore, JeOS includes only the pieces of an operating system (often Linux) required to support a particular application and any other third-party components contained in the appliance. This makes the appliance smaller, and possibly more secure than an application running under a full general purpose OS.<br />
  45. 45. FIREWALL<br />Virtual Appliance<br />CRM<br />Virtual Appliance<br />Linux<br />Linux<br />What is a Virtual Appliance<br />Firewall SW<br />Pre-built, pre-configured and ready-to-run software application packaged with the OS inside a Virtual Machine.<br />Or packaged inside multiple Virtual Machines<br />Linux<br />Apache<br />mySQL<br />Tomcat<br />Linux<br />
  46. 46. Virtual Appliances<br />Virtual appliances are virtual machine templates, sometimes in the Open Virtualization Format (OVF), that contain preconfigured operating systems and applications. Since VMs are self-contained and transportable, they can be delivered in a preconfigured state as virtual appliances. VAPs are most often designed to run on Linux operating systems because of the licensing cost. Few vendors have created VAPs based on Microsoft technologies because they have to become Windows resellers to do so.<br />Some considerations that need addressable when we choose a VAP:<br />Has the OS been hardened?<br />Is the appliance upgradeable?<br />Scalability<br />Microsoft v/s Linux<br />Licensing<br />Custom OS?<br />
  47. 47. Application Virtualization<br />
  48. 48. Application Virtualization<br />
  49. 49. Major Benefits<br /><ul><li>Application conflicts due to shared resources become very easy to deal with; applications become independent of the OS version
  50. 50. Applications can be deployed in streaming mode to reduce network usage and hard disk requirements
  51. 51. Application developers do not have to worry about the underlying OS</li></li></ul><li>Software Release<br />1 centers on request management<br />2 prepares product integration and begins the application analysis process. What are the application requirements? Does it integrate with others? What is its installation process? These are all questions that this step aims to answer before the package is created and is ready to move on to the next stage<br />3 tests the initial package to ensure that it works properly and has been integrated with your organization’s security and other standards<br />4 performs quality assurance (QA) on the package, testing both remote and interactive installations, identifying if conflicts remain and if the package can be removed without issues remaining on the target system<br />Once the package has passed through QA, it moves on to release management and then it is ready for deployment. The package is fully documented and is integrated with the software repository in your network<br />
  52. 52. Cloud Computing<br />Cloud Computing is a collection of network hosted services accessible from anywhere.<br />Attributes:<br /><ul><li>Services are sourced via networks and are housed “somewhere else”
  53. 53. Reliability and scalability logic remain hidden giving the illusion of infinite (elastic) capacity.
  54. 54. These services are programmatically controlled on-demand
  55. 55. Charges are consumption based – no upfront investment
  56. 56. Loosely coupled set of services</li></ul>19<br />