Virtualization in Cloud Computing

Virtualization in Cloud Computing:

Virtualization technology is one of the fundamental components of cloud computing.

Virtualization allows the creation of a secure, customizable, and isolated execution environment for running applications.

Virtualization provides and abstract environment virtual hardware or an operating system to run applications.

Virtualization plays a fundamental role in efficiently delivering IaaS solutions for cloud computing. 

Virtualization also provides virtual envirionment for storage, memory, and networking.

For example,
We can run Windows OS on top of a virtual machine, which itself is running on Linux OS.

Following are the causes for Virtualization technology in demand:

Increased performance and computing capacity: Now a days computers are enough capable to support virtualization tecnologies.

Underutilized hardware and software resources: Most of the computers are used during office hours only, so after office hours these resources can be used for other works too.

Lack of space: Due to aditional storage requiredments compnies such as Google and Microsoft expending their data centers. where virtualization technology provides additional capabilities to these data centers.

Greening initiatives:  Maintaining a data center involves keeping servers on and servers needs to be keep cool. Infrastructures for cooling have a significant impact on the carbon footprint of a data center. Hence, reducing the number of servers through server consolidation will definitely reduce the impact of cooling and power consumption of a data center. Virtualization technologies can provide an efficient way of consolidating servers. 

Rise of administrative costs: Power consumption and cooling costs have now become higher than the cost of IT equipment.

Some types of virtualization:
  1. Storage virtualization: Storage virtualization is the pooling of physical storage from multiple storage devices into what appears to be a single storage device.
  2. Network virtualization: Network virtualization refers to the management and monitoring of an entire computer network as a single administrative entity from a single software-based administrator's console.
  3. Desktop virtualization: Desktop virtualization is technology that lets users simulate a workstation load to access a desktop from a connected device remotely or locally.
  4. Application server virtualization: Application server virtualization abstracts a collection of application servers that provide the same services as a single virtual application server.
Advantages of virtualization:
  1. Increased security: The ability to control the execution of a guest in a completely transparent manner opens new possibilities for delivering a secure, controlled execution environment.
  2. Managed execution: Provides sharing, aggregation, emulation, isolation etc.
  3. Prtability:  User works can be safely moved and executed on top of different virtual machines. 
Disadvantages of virtualization:
  1. Performance degradation:  Since virtualization interposes an abstraction layer between the guest and the host, the guest can experience increased latencies.
  2. Inefficiency and degraded user experience: Some of the specific features of the host cannot be exposed by the abstraction layer and then become inaccessible.
  3. Security holes and new threats: Virtualization opens the door to a new and unexpected form of phishing. In case of hardware virtualization, malicious programs can preload themselves before the operating system and act as a thin virtual machine manager.
Virtualization technology examples:
  1. Xen
  2. VMware
More topics from Cloud Computing to read
Cloud Computing: covered following topics in these notes.
  1. Introduction to Cloud Computing
  2. Historical development of Cloud Computing 
  3. Vision of Cloud Computing
  4. Characteristics of cloud computing as per NIST
  5. Cloud computing reference model
  6. Cloud computing environments
  7. Cloud services requirements
  8. Cloud and dynamic infrastructure
  9. Cloud Adoption and rudiments
  10. Cloud application: ECG Analysis in the cloud
  11. Cloud application: Protein structure prediction
  12. Cloud application: Gene Expression Data Analysis
  13. Cloud Computing Architecture
  14. IaaS
  15. PaaS
  16. SaaS
  17. Types of Clouds
  18. Cloud Interoperability & Standards
  19. Scalability and Fault Tolerance
  20. Cloud Ecosystem
  21. Cloud Business Process Management
  22. Cloud Service Management
  23. Cloud Analytics
  24. Testing Under Control
  25. Virtual Desktop Infrastructure
  26. Cloud Resiliency
  27. Cloud Provisioning
  28. Asset management
  29. Concepts of Map reduce
  30. Cloud Governance
  31. High Availability and Disaster Recovery
  32. Virtualization in cloud computing
  33. Server virtualization
  34. Hypervisor management software
  35. Third Party Cloud Services
  36. Case Study: Google App Engine
  37. Case Study: Microsoft Azure
  38. Case Study: Hadoop
  39. Case Study: Amazon
  40. Case Study: Aneka
A list of Video lectures
  1. Buyya, Selvi ,” Mastering Cloud Computing “,TMH Pub
  2. Krutz , Vines, “Cloud Security “ , Wiley Pub
  3. Velte, “Cloud Computing- A Practical Approach” ,TMH Pub
  4. Sosinsky, “ Cloud Computing” , Wiley Pub
Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages covered following topics in these notes.

Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming


    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.