Comparison of Hypervisors and Container Technology

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/64

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

65 Terms

1
New cards
Type 1 Hypervisor
Runs directly on hardware.
2
New cards
Type 2 Hypervisor
Runs on top of an existing OS.
3
New cards
Containers
A lightweight and efficient way to package applications and their dependencies into a single, portable unit.
4
New cards
Performance of Type 1 Hypervisor
High performance and efficiency.
5
New cards
Performance of Type 2 Hypervisor
Lower performance due to OS overhead.
6
New cards
Management of Type 1 Hypervisor
More complex to manage.
7
New cards
Management of Type 2 Hypervisor
Easier to install and manage.
8
New cards
Use Cases for Type 1 Hypervisor
Enterprise server virtualization.
9
New cards
Use Cases for Type 2 Hypervisor
Desktop virtualization and testing.
10
New cards
Use Cases for Containers
Microservices and application deployment.
11
New cards
Isolation of Type 1 Hypervisor
Strong isolation between VMs.
12
New cards
Isolation of Type 2 Hypervisor
Moderate isolation.
13
New cards
Isolation of Containers
Less isolation, sharing the kernel.
14
New cards
Resource Usage of Type 1 Hypervisor
More resource-intensive.
15
New cards
Resource Usage of Type 2 Hypervisor
More overhead due to host OS.
16
New cards
Resource Usage of Containers
Lightweight, minimal resource usage.
17
New cards
Key Features of Containers
Encapsulate an application and its dependencies into a standardized unit.
18
New cards
Lightweight Containers
Containers are smaller in size compared to virtual machines (VMs) because they share the host OS kernel.
19
New cards
Fast Startup of Containers
Containers can start and stop in a matter of seconds.
20
New cards
Portability of Containers
Containers can run consistently across different environments without compatibility issues.
21
New cards
Efficiency of Containers
Containers utilize system resources more efficiently than VMs.
22
New cards
Scalability of Containers
Containers can be easily replicated and orchestrated for dynamic scaling.
23
New cards
Container Runtime
The software responsible for running and managing containers.
24
New cards
Image in Container Architecture
A read-only template used to create containers.
25
New cards
Use Cases for Containers
Particularly in cloud-native and microservices architectures.
26
New cards
Type 1 Hypervisors Use Case
Best suited for enterprise environments requiring robust virtualization capabilities.
27
New cards
Type 2 Hypervisors Use Case
Ideal for personal or development environments where ease of use is a priority.
28
New cards
Container
A running instance of an image, providing the execution environment for the application.
29
New cards
Registry
A service for storing and distributing container images. Public examples include Docker Hub and Google Container Registry.
30
New cards
Consistency Across Environments
Containers eliminate the 'it works on my machine' problem by ensuring that applications run the same way regardless of where they are deployed.
31
New cards
Microservices Architecture
Containers facilitate a microservices approach, allowing applications to be broken down into smaller, independent services that can be developed, deployed, and scaled independently.
32
New cards
Continuous Integration/Continuous Deployment (CI/CD)
Containers support automated testing and deployment processes, making it easier to integrate changes into production quickly and reliably.
33
New cards
Resource Utilization
Because multiple containers can run on the same host without the overhead of multiple VMs, resource usage is more efficient.
34
New cards
Development and Testing
Containers allow developers to create isolated environments for testing applications, reducing conflicts and streamlining workflows.
35
New cards
Microservices Deployment
Containers are ideal for deploying microservices, as each service can be packaged and managed independently.
36
New cards
Cloud-native Applications
Containers fit well with cloud environments, enabling developers to leverage cloud services and scale applications dynamically.
37
New cards
Hybrid Cloud and Multi-cloud
Containers provide the flexibility to move applications across different cloud environments without needing significant changes.
38
New cards
Docker
The most widely used container platform, Docker simplifies the process of building, running, and managing containers.
39
New cards
Kubernetes
An orchestration platform for managing containerized applications at scale, providing features for deployment, scaling, and operations.
40
New cards
OpenShift
A Kubernetes-based platform that provides additional features for developing and deploying containerized applications.
41
New cards
Amazon ECS (Elastic Container Service)
A managed container orchestration service provided by AWS, allowing users to run and manage Docker containers on the cloud.
42
New cards
Google Kubernetes Engine (GKE)
A managed Kubernetes service provided by Google Cloud for deploying and managing containerized applications.
43
New cards
Availability
An important concept in system design and software development.
44
New cards
Reliability
An important concept in system design and software development.
45
New cards
Usability
An important concept in system design and software development.
46
New cards
Scalability
An important concept in system design and software development.
47
New cards
Maintainability
An important concept in system design and software development.
48
New cards
Availability
Availability refers to the proportion of time that a system is operational and accessible to users.
49
New cards
Reliability
Reliability is the ability of a system to consistently perform its intended function without failure over a specified period.
50
New cards
Usability
Usability refers to how easy and intuitive it is for users to interact with a system.
51
New cards
Scalability
Scalability is the capability of a system to handle a growing amount of work or to accommodate growth in users, data, or transactions.
52
New cards
Maintainability
Maintainability refers to how easily a system can be modified, repaired, or updated to correct issues or improve performance.
53
New cards
High Availability Systems
High availability systems are designed to minimize downtime and ensure continuous access to services.
54
New cards
Mean Time Between Failures (MTBF)
MTBF is often used to measure reliability.
55
New cards
Usability Testing
Usability testing and user feedback are essential for improving a system's usability.
56
New cards
Vertical Scalability
Vertical scalability involves adding resources to a single node.
57
New cards
Horizontal Scalability
Horizontal scalability involves adding more nodes to the system.
58
New cards
Factors Affecting Availability
Factors affecting availability include hardware failures, software bugs, and network issues.
59
New cards
Factors Influencing Maintainability
Factors influencing maintainability include code quality, documentation, modularity, and the use of best practices in software development.
60
New cards
User Experience
Usability focuses on user experience, including factors such as learnability, efficiency, memorability, error frequency, and user satisfaction.
61
New cards
Example of High Availability
A web server that is accessible 24/7, with only a few minutes of downtime per year, is considered highly available.
62
New cards
Example of Reliability
A database that consistently retrieves accurate data without crashes or errors is considered reliable.
63
New cards
Example of Usability
A software application with a clean interface, clear navigation, and helpful documentation is considered user-friendly and highly usable.
64
New cards
Example of Scalability
An e-commerce website that can handle increased traffic during holiday sales without performance degradation demonstrates good scalability.
65
New cards
Example of Maintainability
A well-documented codebase with modular components that can be easily updated or replaced is considered highly maintainable.