Application Virtualization and Container Virtualization
Summary
PDF p.161Application virtualization allows clients to access or stream applications from a server, while containerization packages all necessary components for software into portable units called containers. Both technologies enhance application deployment and management, with hypervisors playing a crucial role in managing virtual machines.
In plain words
Supplementary — not from your PDFApplication virtualization streams or hosts individual apps on a server instead of running a whole virtual desktop. Containers (such as Docker) package code, libraries and configuration together so the app runs the same way everywhere. Hypervisors run whole virtual machines: Type 1 runs on bare metal (ESXi, Hyper-V); Type 2 runs on top of a host OS (VirtualBox, VMware Workstation).
Detailed explanation
PDF p.161-
Application Virtualization
- Definition: Clients access or stream applications hosted on a server, rather than running the entire desktop virtually.
- Solutions: Common solutions include Citrix XenApp, Microsoft App-V, and VMware ThinApp.
- Clientless Access: Often used with HTML5 remote desktop apps, accessible through web browsers.
-
Containerization
- Definition: Encapsulates all necessary software components (code, libraries, configurations) within a portable unit called a container.
- Benefits: Ensures consistent application behavior across different platforms, avoids dependency issues.
- Examples: Docker is a popular container platform, allowing easy management and deployment of containers.
-
Hypervisors
- Role: Manage multiple virtual machines (VMs) on a single hardware platform.
-
Types
- Type 1 (Bare-Metal): Runs directly on physical hardware, offering high performance and efficiency (e.g., VMware ESXi, Microsoft Hyper-V).
- Type 2 (Hosted): Runs on top of a host operating system, often used for development and testing (e.g., VMware Workstation, Oracle VirtualBox).
Important terms
taken from the text above- Application Virtualization
- Clients access or stream applications hosted on a server, rather than running the entire desktop virtually.
- Clientless Access
- Often used with HTML5 remote desktop apps, accessible through web browsers.
- Containerization
- Encapsulates all necessary software components (code, libraries, configurations) within a portable unit called a container.
- Type 1 (Bare-Metal)
- Runs directly on physical hardware, offering high performance and efficiency (e.g., VMware ESXi, Microsoft Hyper-V).
- Type 2 (Hosted)
- Runs on top of a host operating system, often used for development and testing (e.g., VMware Workstation, Oracle VirtualBox).
Examples & real-world scenarios
Supplementary — not from your PDF- Citrix or App-V delivering one app to users' browsers.
- A Docker container running a web API with all its dependencies.
- VirtualBox on a laptop for a personal practice lab.
Scenario
A developer's app works on their laptop but fails on the server because of a different library version. Packaging it as a container removes the dependency mismatch.
Common mistakes
Supplementary — not from your PDF- Mixing up Type 1 (bare metal) and Type 2 (hosted) hypervisors.
- Thinking containers are full VMs. They share the host's kernel.
Practical skills
Supplementary — not from your PDF- Pick application virtualization, containers or VMs for a need.
- Build a small Type 2 hypervisor lab for your own practice.
What I should remember
Key Points PDF p.161-
Application Virtualization
- Access: Hosted on a server, streamed to clients.
- Solutions: Citrix XenApp, Microsoft App-V, VMware ThinApp.
- Clientless: HTML5 remote desktop apps.
-
Containerization
- Encapsulation: All software components in a container.
- Consistency: Across different platforms.
- Examples: Docker.
-
Hypervisors
- Management: Multiple VMs on one hardware platform.
-
Types
- Type 1: Bare-metal, high performance (VMware ESXi, Microsoft Hyper-V).
- Type 2: Hosted, for development/testing (VMware Workstation, Oracle VirtualBox).