Operating Virtualization – Application Virtualization – Virtual clusters and Resource Management – Containers vs. Virtual Machines – Introduction to Docker – Docker Components – Docker Container – Docker Images and Repositories.
CCS335/CC/III CSE/V SEM/KG-KiTE
System-level of Operating Virtualization System-level operating virtualization • System-level operating virtualization, also known as operating system- level virtualization or containerization, is a virtualization technique that allows multiple isolated user-space instances, called containers or virtual environments, to run on a single operating system kernel. • Unlike traditional virtualization, which virtualizes the entire operating system, system level virtualization virtualizes at the operating system level. • Here are the key aspects and benefits of system-level operating virtualization 1. Operating System Kernel Sharing:
• System-level virtualization leverages the host operating system's
kernel and shares it among multiple containers.
• Containers are lightweight and provide isolated environments, but
they do not require separate instances of the entire operating system.
CCS335/CC/III CSE/V SEM/KG-KiTE
2. Process Isolation:
Each container in system-level virtualization runs as an isolated process
with its own file system, libraries, and resources. Containers are sandboxed, ensuring that processes within a container cannot interfere with processes in other containers.
CCS335/CC/III CSE/V SEM/KG-KiTE
3. Efficient Resource Utilization:
• System-level virtualization is highly efficient in terms of resource
utilization since multiple containers share the same operating system kernel. • This approach eliminates the need for redundant operating system instances, resulting in reduced overhead and improved performance.
CCS335/CC/III CSE/V SEM/KG-KiTE
4. Rapid Provisioning and Scalability:
• Containers can be quickly provisioned, started, and stopped, allowing
for fast deployment and scaling of applications.
• Containerization simplifies the management of applications by
providing a lightweight and portable packaging format that can be easily moved across different environments.
CCS335/CC/III CSE/V SEM/KG-KiTE
5. Portability and Compatibility:
• Containers encapsulate the application along with its dependencies,
ensuring portability across different systems and environments. • Containers are designed to be platform-agnostic, allowing applications to run consistently across various operating systems and hardware architectures.
CCS335/CC/III CSE/V SEM/KG-KiTE
Resource Isolation and Security:
• System-level virtualization provides resource isolation between
containers, preventing one container from impacting the performance or stability of others. • Security mechanisms, such as namespace isolation and control groups (cgroups), are utilized to enforce resource limits, prioritize resource allocation, and isolate network and process spaces.
CCS335/CC/III CSE/V SEM/KG-KiTE
7. Modularity and Microservices:
• System-level virtualization aligns well with modular and microservices
architectures, where applications are broken down into smaller components. • Containers enable independent deployment and scaling of individual components, promoting agility and flexibility in application development and deployment.
CCS335/CC/III CSE/V SEM/KG-KiTE
• Popular system-level virtualization technologies include Docker, LXC (Linux Containers), and OpenVZ. • These technologies provide tools and frameworks to create, manage, and deploy containers effectively. • System-level operating virtualization has gained significant popularity in cloud computing, DevOps, and containerization-based application deployments, enabling efficient resource utilization, scalability, and portability of applications.