Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Virtualization Techniques & Cloud Compting


Published on

Published in: Technology

Virtualization Techniques & Cloud Compting

  1. 1. Virtualization Techniques & Cloud Computing Ahmed Mekkawy [email_address] This presentation is under creative commons BY-NC-SA license
  2. 2. What will talk about <ul><li>Virtualization </li><ul><li>What is it?
  3. 3. Why do we use it?
  4. 4. Is it really a new technology?
  5. 5. Virtualization Types </li></ul><li>Cloud Computing </li><ul><li>What is it?
  6. 6. Why to use it?
  7. 7. Is it mature and dependable? Should we use it?
  8. 8. Example: Amazon Web Services </li></ul></ul>
  9. 9. Virtualization <ul><li>What is Virtualization?
  10. 10. Is it a new technology? </li><ul><li>No, IBM started it in the 70's (or even 60's). </li></ul><li>Is chrooting considered virtualization? </li><ul><li>Not really, though it does the trick in some situations. </li></ul></ul>
  11. 11. Why Virtualization? <ul><li>Cost Reduction.
  12. 12. Isolation and creating protected environment.
  13. 13. Testing and evaluation of OS, kernel, or an application.
  14. 14. Teaching.
  15. 15. Ease of duplication.
  16. 16. Relocation (and disaster recovery).
  17. 17. Running Application not supported by the host.
  18. 18. Green IT.
  19. 19. … etc. </li></ul>
  20. 20. Virtualization Techniques <ul><li>Full Virtualization.
  21. 21. OS-level Virtualization.
  22. 22. Partial Virtualization (Historical, not used).
  23. 23. Paravirtualization.
  24. 24. Hardware-assisted Virtualization. </li></ul>
  25. 25. Full Virtualization <ul><li>Concept: The host OS emulated a hardware layer for each guest OS.
  26. 26. Pros: Stability, comptability, guest OS is not patched.
  27. 27. Cons: resources, porfromance. </li></ul>
  28. 28. OS-Level Virtualization <ul><li>Concept: Same OS for everyone (host & guest), and isolation is only in the userland. If you run `ps aux` in the host, you will see all guests processes.
  29. 29. Pros: low overhead, highest performance.
  30. 30. Cons: isolation, stability.
  31. 31. Examples: FreeBSD Jails, Solaris Containers, Virtuzzo/OpenVZ. </li></ul>
  32. 32. Paravirtualization <ul><li>Concept: A thin layer (called the hypervisor, you can think of it as a kernel more than an OS), interfaces the hardware to all OS's (host and guest), Dom0 is called ”the privilged domain” which can issue commands to the hypervisor.
  33. 33. If Dom0 crashed (not the hypervisor), the guest OS still runs fine, anyway you won't be able to control the hypervisor till you reboot.
  34. 34. The hypervisor provides API's to the DomU's kernels, which are not actually real kernels, they only interface these API's to the userland, not real kernels. </li></ul>
  35. 35. Paravirtualization Cont'd <ul><li>Pros: </li><ul><li>Stability is very close to the hardware virtualization.
  36. 36. Performance is very good (nothing can beat OS-level virtualizatin in this matter).
  37. 37. Overhead is very low (kernel level only, and not even a complete kernel). </li></ul><li>Cons: </li><ul><li>Not easy to implement (it's getting better these days).
  38. 38. Both host and guest kernels has to be patched.
  39. 39. Maintainability. </li></ul><li>Example: Xen </li></ul><ul><li>Pros: </li><ul><li>Stability is very close to the hardware virtualization.
  40. 40. Performance is very good (nothing can beat OS-level virtualizatin in this matter).
  41. 41. Overhead is very low (kernel level only, and not even a complete kernel). </li></ul><li>Cons: </li><ul><li>Not easy to implement (it's getting better these days).
  42. 42. Both host and guest kernels has to be patched.
  43. 43. Maintainability. </li></ul></ul>
  44. 44. Hardware-assisted Virtualization <ul><li>Sometimes it's called accelerated virtualization or HVM (Hardware Virtual Machines).
  45. 45. Concept: Hardware provides support to run instructions independently for each OS.
  46. 46. Implementation: IBM 370 (1972), Intel VT, AMD-V, UltraSparc, and others.
  47. 47. Examples: linux KVM, Vmware fusion, M$ VirtualPC, Xen, Virtual Box. </li></ul>
  48. 48. Hardware-assisted Cont'd <ul><li>Pros: </li><ul><li>Highly reduces (theoritically eleminates) the need to patch the guest OS.
  49. 49. Theoritically optimal performance.
  50. 50. Great Stability. </li></ul><li>Cons: </li><ul><li>Hardware restrictions.
  51. 51. A “pure” hardware-assisted virtualization approach, using entirely unmodified guest operating systems, involves many VM traps, and thus high CPU overheads; this limits scalability and the efficiency of server consolidation. This performance hit can be mitigated by the use of paravirtualized drivers; the combination has been called “hybrid virtualization”. </li></ul></ul>
  52. 52. Cloud Computing <ul><li>So What is Cloud Computing Anyway? Do you find yourself saying &quot;am I the only one that is confused about this?&quot;
  53. 53. Two openions about this: </li></ul>Cloud is Not a technology It's just a mechanism of outsourcing Internal infrastructure (IaaS), it just didn't come up with new technologies. It's a marketing hype, nothing more. Note that this openion from Cloud is a Pradigm Shift It's a total new technology shift to utilizing new technologies in a more usable and abstract way. It has offered the core technologies in a very practical way. <ul><li>My Openion? Well those 2 openions are the same.. It's a marketing hype that will drive the techies to make new technologies that didn't exist before, like what always happens... </li></ul>
  54. 54. Cloud Computing Cont'd <ul><li>Are all clouds are public ones like AWS? </li><ul><li>Of course not, there are private clouds, check eucalyptus (or ubuntu enterprise cloud), it's an open source (and free software, as speech & as beer) software. </li></ul><li>It's also a business hype, everybody is talking about it.
  55. 55. The most known public clouds are Amazon and Rackspace clouds.
  56. 56. Everything is great, it's cheaper, more performant, and sustainable... where's the trick? </li></ul>
  57. 57. Concerns about Clouds <ul><li>Who said that performance is better? CPU wise?
  58. 58. Stability? Talk to me about it.
  59. 59. Security and privacy... duh!
  60. 60. RMS harsh words about it.. why is all that buzz? </li></ul>
  61. 61. Cloud Pros <ul><li>Very fast provisioning.
  62. 62. Easy scaling up/down.
  63. 63. Virtually unlimited resources.
  64. 64. Agility.
  65. 65. Cost, on certain situations anyway.
  66. 66. Metering, you pay as you go. </li></ul>
  67. 67. Bottom Line <ul><li>Cloud is good when you have large scale, variable load application, and you need to minimize the cost.
  68. 68. Cloud is also good in application that are memory intensive but not CPU intensive, e.g RoR applications.
  69. 69. It should be suitable soon, this technology have the potential but it just needs to get more mature.
  70. 70. If you are a system developer, it's a very good chance to enter this hype now, cause later it will be very complicated (if it's not already late). </li></ul>
  71. 71. AWS Overview <ul><li>Now let's talk about AWS stack, we chose it cause it's one of the most complicated clouds around.
  72. 72. AWS is based on Xen Virtualization.
  73. 73. It contains the following services: </li><ul><li>Elactic Computer Cloud (EC2): computing.
  74. 74. SimpleDB, Relational DB Services (RDS): Database.
  75. 75. Simple Queue Service (SQS), Simple Notifications Service (SNS): Messaging.
  76. 76. Simple Storage Service (S3): Storage.
  77. 77. Elastic Block Storage (EBS): Storage.
  78. 78. Others: like CloudFront, CloudWatch, AutoScaling, … etc. </li></ul><li>The minimal stable is EC2 + EBS </li></ul>
  79. 79. EC2 <ul><li>Computing instance, the harddisk is totally volatile if the instance crashed (which happens, rarely but happens).
  80. 80. The smallest instance type is 1.7G RAM, 1 CPU (1~1.2GHz), 32bit OS. The largest is 68.4 G RAM, 8 CPU (3.25~3.9GHz), 64bit OS.
  81. 81. Very Obvious that CPU is the most costy part
  82. 82. 2 identical instance with only difference in CPU (1 CPU of 1~1.2GHz Vs. 2CPUs of 2.5~3GHz), both are 1.7G RAM, 32 bit OS. The price difference is exactly double. </li></ul>
  83. 83. EBS & S3 <ul><li>They share that they are redaundant, reliable storage. The maximum that happened before is a blackout, but never a dataloss.
  84. 84. EBS can be mounted to a single EC2, which is bad limitation.
  85. 85. S3 is to be accessed via http protocol, can be a great help in serving static http files from outside your servers. </li></ul>
  86. 86. Thank You [email_address]