First draft Virtualization presentation
All checks were successful
On_Push / build (push) Successful in 17s
On_Push / deploy (push) Successful in 13s

This commit is contained in:
Eliza 2024-10-07 20:53:22 +01:00
parent 1d158667a5
commit 4868914966
5 changed files with 103 additions and 0 deletions

View file

@ -0,0 +1,91 @@
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title = "Virtualization"
date = 2024-04-17
slides = true
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Virtual Machines (and more)
-------------------------------------------------------------------------
###
-------------------------------------------------------------------------
so what is a virtual machine???
-------------------------------------------------------------------------
basically you run another smaller computer in your computer
<br>
\*insert inception joke here\*
-------------------------------------------------------------------------
### Why would you want this?
-------------------------------------------------------------------------
- You can run multiple OSes on one machine
- You can run software that might not be compatible with your main OS
- It's helpful for testing and setting up a new OS
- VMs are used **A LOT** in those big server rooms and professional environments
-------------------------------------------------------------------------
### How do I do this on my own laptop then?
-------------------------------------------------------------------------
there's a lot of *virtualization* software out there, but we'll be using VirtualBox today
<br>
It's free, and it's pretty easy to use
<br>
you can download it [here](https://www.virtualbox.org/wiki/Downloads)
-------------------------------------------------------------------------
if you already know all of this just wait we have more stuff after this
-------------------------------------------------------------------------
when you open VirtualBox, create a new VM like this:
<img src="7_virtualization/new-vm.png" alt="Create a new VM" width="400px" height="300px"></img>
-------------------------------------------------------------------------
then choose a name and select the image to use for the OS
<img src="7_virtualization/select-image.png" alt="Choose an image" width="400px" height="300px"></img>
I'll be using Ubuntu 24.04, if you want to use another linux distro you probably know how to do this already
-------------------------------------------------------------------------
now, select how much memory and CPU you want to allocate to the new VM
<img src="7_virtualization/memory-cpu.png" alt="Allocate memory and CPU" width="400px" height="300px"></img>
The defaults you get are fine for this demo
-------------------------------------------------------------------------
and finally, choose how much storage you want to give the VM
<img src="7_virtualization/storage.png" alt="Allocate storage" width="400px" height="300px"></img>
10GB is enough for now, you can use more if you want
-------------------------------------------------------------------------
### Click "Finish" and now you got your new VM!!
-------------------------------------------------------------------------
we still need to install the operating system but that's easy enough
-------------------------------------------------------------------------
\*live demo in progress\*
-------------------------------------------------------------------------
### Now on to the next part (it gets better)
-------------------------------------------------------------------------
you probably saw how many resources it takes to run a VM
-------------------------------------------------------------------------
what if I want to only run a single app without all the overhead??
-------------------------------------------------------------------------
### Containers to the rescue!!
-------------------------------------------------------------------------
containers are kind of like VMs, but much lighter
-------------------------------------------------------------------------
instead of emulating an entire computer, they just run the OS
-------------------------------------------------------------------------
### Why use VMs then?
-------------------------------------------------------------------------
- VMs are more secure
- they're more isolated from the host system
- not limited to running the same OS as the host
-------------------------------------------------------------------------
### How do I use containers?
-------------------------------------------------------------------------
one of the most popular container platforms is Docker
-------------------------------------------------------------------------
rn we will use it on the VM we just created
-------------------------------------------------------------------------
the commands we will need to install Docker:
<br>
``curl -fsSL https://get.docker.com -o get-docker.sh``
<br>
``sudo sh get-docker.sh``
-------------------------------------------------------------------------

BIN
src/slides/compsoc/7_virtualization/memory-cpu.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/slides/compsoc/7_virtualization/memory.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/slides/compsoc/7_virtualization/new-vm.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/slides/compsoc/7_virtualization/select-image.png (Stored with Git LFS) Normal file

Binary file not shown.