LFS151.x Chapter 1 Flashcards
What defines Cloud Computing? (NIST)
Cloud computing is a model for enabling
- ubiquitous,
- convenient,
- on-demand
network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be
rapidly provisioned
and released
with minimal management effort
or service provider interaction
+ Pay as you go Model
What are common service categories?
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
Name a few additional service models?
- Analytics as a Service (AnaaS)
- API as a Service (AaaS)
- Big Data as a Service (BDaaS)
- Business Process as a Service (BPaaS)
- Code as a Service (CaaS)
- Communications Platform as a Service (CPaaS)
- Desktop as a Service (DaaS)
- Database as a Service (DBaaS)
- Function as a Service (FaaS)
- Monitoring as a Service (MaaS)
Anything as a Service (XaaS).
What are key characteristics of Cloud computing? (7-8)
- Speed and Agility
- Cost
- Easy access to resources
- maintenance
- multitenancy
- realiability
- scalability and elasticity
- “security”
Which deployment models are known?
- Private Cloud
- Public Cloud
- Hybrid Cloud
- PolyCloud
- Community Cloud
- Distributed Cloud
What is virtualization?
Capability to create a virtual version of a physical compute resource, including a virtual computer hardware platform, operating system, virtual storage device, and virtual compute resource
How can Virtualization be achivieved?
- Can be achivied at different software layers (Central Processing Unit, storage, memory, …)
With several tools to create Virutal Machines (VM) by virtualizing essential hardware
What is a VM?
- Software equivalent of a hardware-built computing machine, represents an isolated collection of virtual resources, behaving like an actual physical system
How are VMs created?
With the help of a specialized virtualization software: hypervisor, that runs on the host machine
What is a hypervisor?
- Software, capable of creating multiple isolated virtual operating environments
- Each isolated virtual operating environment is composed of virtualized resources that are then made available to the guest systems.
What categories of hypervisors are classified?
Type-1 hypervisor (native or bare-metal)
Type-2 hypervisor (hosted)
What is a Type-1 hypervisor?
- Runs directly on top of a physical host machines hardware without the need for host OS
- Typically found in enterprise settings
- Examples:
- AWS Nitro
- Red Hat Virtualization
- Microsoft Hyper-V
What is a Type-2 hypervisor?
- Runs on top of the hosts OS
- Typically for end-users, may be found in enterprise settings?
Examples: - VirtualBox
- Vmware Player
- Vmware Workstation
What are Exceptions to the dual hypervisor distinction?
- Linux Kernel modules that act as both type 1 and type-2 hypervisors at the same time
Like: - KVM
- Bhyve
What do Hypervisors do?
- Enable virtualization of hardware such as CPU, disk, network
- Allow installation of guest VMs on top of them
Multiple guest VMs can be created with different Operating Systems on a single Hypervisor
What is hardware virtualization?
- The feature that allows hypervisors to virtualize physical hardware of a host system, thus sharing host systems processing resources with multiple guest systems in a safe and efficient manner
Supported by most modern CPUs
What is nested virtualization?
- Feature of a CPU to enable VMs to be created inside another VM
What is KVM?
- Kernel-based Virtual Machine
- Open souce software that provides hardware-assisted virtualization to support various guest OSs
- Loadable virtualization module of the linux kernel
- Converts the kernel into a hypervisor capable of managing guest Virtual Machines
- Specific hardware virtualization extensions have to be available
What Featues does KVM offer?
- Support various guest Oses, such as Linux Distributions, Windows, Solaris, etc
- Enables device abstraction of network interfaces, disk but not the processor
- Instead exposes the /dev/kvm interface that can be used by an external user space host for emulation
® Examples user space tools for KVM VM management: QEMU, virt-manager - Supports nested virtualization
- Supports hotpluggable devices such as CPUs and PCI devices
- Supports Overcommitting
- By dynamically swaping resources from one guest that is not using the type of resource that is needed
What is Overcommitting in the context of a hypervisor? Why is it possible?
- More virtualized CPUs and memory can be allocated to virtual machines than there are physical resources on the system
- Possible because most processes do not access 100% of their allocated resources all the time
What are benefits of using a KVM?
- Open source solution, free to customize
- Zero costs
- Provides efficient hardare-assisted virtualizatoin for an array of guest Oses
- Provides para-virtualization of ethernet cards, disk I/O controllers, and graphical interfaces for guest Oses
- Highly scalable
- Employs advanced security features, utilizing SELinux
Provides Mandatory Access Control security between Virtual Machine
What are benefits of using VMs in a development environment?
- Reproducible environment
- Management of multiple projects, each in ist isolated and restricted environment
- Sharing the environment with other teammates
- Keepting the develpoment and deployment environments in sync
Running consistently the same VM on different Oses leveraging hypervisors such as VirtualBox, Vmware, Hyper-V
What is Vagrant and why is it good?
- Cross-plattform tool for building and maintaining portable virtual software development environments
- Provides great extensibility bauce various plugins can extend ist supports for custom providers, provisioners, commands and hosts
What does Vagrant do?
- Helps automate VMs management by providing an end-to-end lifecycle management utility - the vagrant command line tool
What are key components used by Vagrant to manage Virtual machines?
- Vagrantfile
- Boxes
- Providers
- Synced Folders
- Provisioning
- Plugins
- Networking
- Multi-Machine
How is the Vagrantfile used?
- Vagrant command reads the configuration give in the config file and does different operations
What are Boxes in Vagrant?
- Package format for the Vagrant environment
- Box images can be versioned and customized to specific needs simply by updating the Vagrantfile accordingly
What are Providers in Vagrant?
- Underlying engines or hypervisors used to provision VMs or containers
- Default is VirtualBox, also supports Hyper-V, Vmware, Docker
- Custom providers may be configured
How is Networking dealt with in Vagrant?
- High-level networking options are available for
- Port forwarding
- Network connectivity
- Network creation
- These network options represent an abstraction that enables cross-provider portability
- The same file used to provision a VirtualBox VM could be used to provision a Vmware machine
What is Multi-Machine in Vagrant?
- A projects Vagrantfile may describe multiple VMs, which are typically intended to work together or may be linked between themselves
- For instance for accurately modeling a multi-server production topology, such as separating a web and a database server
- Or modeling a distributed system
What are benefits of using Vagrant?
- Automates the setup of one or more VMs, which results in saved time, increased productivity, lower operational costs
- Introduces consistency in infrastructure provisioning through the Vagrantfile
- Flexible cross-plattform tool
- Provides support for Docker containers in addition to VMs provisioned Vmware, VirtualBox, Hyper-V
- Easy to install and configure
- Very useful in multi-developer teams