Test Flashcards

1
Q

What is Virtualization in cloud computing?

A

An ability to run multiple (Virtual) OSes on a single physical system and share underlying HW resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the Benefits of virtualization?

A

Run multiple/different OSes on a single machine
2. Consolidate underutilized servers to reduce CAPEX and
OPEX
3. Simplified management (rebalancing workloads)
4. Improved availability
5. Enforced security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a Hypervisor?

A

A virtual machine monitor creates and runs virtual machines

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a Virtual Machine?

A

The virtualization or emulation of a computer system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Full Virualization?

A

A full virtualization of a computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Paravirtualization?

A

Hypervisor enables virtual machine that are similar but not 100% identical to physical HW

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is OS-Level Virtualization?

A

An operating system virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers, zones, virtual private servers, partitions, virtual environments, virtual kernels, or jails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Application-Level Virtualization?

A

Abstracting an app from the underlying hardware it is running on

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the Key Techniques in Full Virtualization?

A

Trap and Emulate
Binary Translation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Trap and Emulate?

A

Running a VM in two states, a User State and Kernel state, when a privileged instruction occurs there is a switch between the user state and kernel state by the hypervisor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the 4 steps in trap and emulate?

A

1 Privileged Instruction in user mode causes an error
2 Hypervisor gains control, executes operation as attempted by guest OS
3 Return control to guest OS in user mode
4 Call this Trap and emulate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Does trap and emulate has the same speed of execution with full virtualization?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a critical instruction?

A

A sensitive but non-privileged instruction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is sensitive instruction?

A

Instructions that interact with hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is non-sensitive instructions?

A

All other instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an example of a critical instruction?

A

File Writing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the purpose of Binary Translation?

A

To skip or modify the guest OS binary code blocks which include critical instructions and translate those critical instructions into privileged instructions which will be trapped by the Hypervisor for further emulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is Para-Virulization?

A

Similar the to Virtualization but it enables virtual machine that are similar but not 100% identical to physical HW

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Does Para-Virtualization require OS modification?

A

Yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Does Para-Virtualization require modification to the ABI?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are the Pros of Full Virulization?

A

No Source Code Modification
Easy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What are the Cons of Full Virtulization?

A

Latency from OS/HW emulation
Hard to provide real-time guarantee
Latency to RAM (25%-75%) DISKIO (2%-20%) NETIO (10%) and CPU (7%)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the Pros of Para-virtualization?

A

Performance, Fast, Feasible for All CPU Architectures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are the Cons of Para-virtualization?

A

OS Modification
Poor Portability
Precludes off the self OS and legacy version of OS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is PUE?
1 + Non IT Equipment Power/ IT Equipment Power
26
What is VM migration?
The transfer of one VM from one machine to another
27
What are the three use cases of VM Migration?
Load Balancing Maintenance Fault Tolerance
28
What are the two types of migrations?
Cold Migration and Live Migration
29
How does Pre-Copy Live Migration take place?
1 Select target host for migration 2 Initialize a VM on the target host Iterative Step Copy update memory from VM on host A to host B 3 Suspend VM on host A, Sync all remaining VM states to host B 4 Release VM from host A 5 Start VM on host b
30
How does Post-Copy Live Migration take place?
1 Activate VM on host A and B 2 Suspend VM on host A 3 Transfer VM state to target 4 Resume VM on host B 5 Copy memory Pages from A to B
31
What are the Pros of Pre-Copy live migration?
Shorter Downtime High Performance after migration
32
What are the Cons of Pre-Copy live migration?
Longer Migration Time Network Utilization
33
What are the Pros of Post-Copy live migration?
Shorter Migration Time Network Utilization
34
What are the Cons of Post-Copy live migration?
Longer Downtime (but still Live) Overhead after migration
35
OS-Level Virtualization vs. IaaS
OS Level Virtualization is lighter than IAAS
36
OS-Level Virtualization vs. PaaS
OS Level Virtualization doesn't have to worry about supported frameworks or supported languages
37
What are the Cons of OS-Level Virtualization?
“Technically” doesn’t have OS - Generally runs “the same OS” as the host machine (i.e., you cannot run “Windows on Linux” via OS-level virtualization)
38
What are the Pros of OS-Level Virtualization?
Lightweight (fast creation, fast destruction, little overhead switching between instances) no HW emulation Good Isolation (security, resource usage)
39
What is a Namespace?
A limits to what processes/containers can see through the form of an ID
40
What are the six namespaces?
PID namespace NET namespace MNT namespace IPC namespace UTS namespace User namespace
41
What is the point of Linux Namespaces?
To provide processes with their own view of the system
42
What is a PID namespace?
Processes within a PID namespace only see processes in the same PID namespace
43
What is a NET namespace?
A NET namespace isolates networking related resources
44
What is a MNT namespace?
A mount namespace for limiting filesystems
45
What is an IPC namespace?
A IPC namespace isolates the inter-process communication resource
46
What is a control group? (cgroups)
A limit to what and how much processes or containers can use
47
What are the characteristics of Cgroups
Subsystem Hierarchy Hierarchies are independent Processes belong to exactly 1 node in each hierarchy Each hierarchy starts with 1 node Each node == group of processes
48
What are some subsystems limited by cgroups?
CPU Memory Block IO Network (TC/iptables) Devices (/dev/*)
49
What are Docker Internals?
Written in Go Uses cgroups and namespaces has a libcontainer composed of containerd, containerd-shim, runcC
50
What is the Docker Client?
The client section of docker
51
What is the Docker Daemon?
The server section of docker
52
What is the Docker Hub?
Public docker image registry
53
What is docker?
A software platform that allows you to build, test, and deploy apps with OS-level virtualization
54
What is Docker's Architecture?
Client Server Architecture, Client talks to daemon which builds, runs and distributes docker containers
55
What is a Docker Image?
A collection of files and meta data
56
What is the difference between Docker Container vs Docker Image?
Docker container is a running version of an image
57
Which would be pushed to Docker Hub? Container or Image?
Image
58
How can Docker Images be built?
From a dockerfile and a context (a set of files)
59
What is immutable infrastructure?
When a service (e.g., app, bin, others) is updated, OS or execution environment does not have to be changed Build a new image and deploy it to servers!
60
What are the pros of Immutable Infrastructure?
Less management effort for service/servers Need to manage images Horizontal Scalability Run multiple servers with a single image Easy integration with autoscaling
61
What are the cons of Immutable Infrastructures?
Small quick fixes require a full redeploy.
62
Docker run
Runs a docker image
63
docker ps
Shows all docker containers running
64
docker stop
Suspends a docker containter
65
What command to stop all containers?
docker stop $(docker ps -q)
66
docker rm
Removes a docker container
67
What command to remove all containers
docker stop $(docker ps -q)
68
docker images
Displays all images currently installed on your machine
69
docker pull
pull an image from registry
70
docker rmi
Remove one or more images
71
docker logs
Fetch the logs of a container
72
docker exec
Doesn't create a new container but sends commands to an existing container
73
docker compose
creates and starts all the services from your configuration file
74
What is a monolithic application?
An app contained in one codebase and database
75
What are the characteristics of monolithic applications?
Large codebase + Large DB Put every function/logic into a single host (or VM) Many components, no clear ownership Long deployment/delivery cycle
76
What are the three design principles of microservices?
Modularity and Independent Hide Implementation Details Automation
77
What are the Pros of Microservices?
Polyglot Architecture Language and Platform Freedom Evolutionary Design Replaceable Architecture Selective Scalability Small, Simple, Lightweight
78
What are the Cons of Microservices?
High Overall Complexity (aka Deathstar...) Overhead Operation Service Discovery Communication (Chattiness) Could be slow HTTP is slower than external function call Diversity in Language, Platform, DB
79
What are the Pros and Cons of Bare Metal Virtualization?
Pros: Performance, No additional SW layers, Security, No possible attack from hosted OS Cons: Complex
80
What are the Pros and Cons of Hosted Virtualization?
Pros: Easy to use, Hosted OS takes care of all hardware Cons: Single point of failure, What if base OS needs a reboot
81
clone()
creates a new process and a new namespace; the process is attached to the new namespace
82
unshare()
Attaches the calling process to a new namespace
83
setns()
Allows the calling process to join an existing namespace