F3.1 Contain Intro Flashcards
Contanerized Platforms intro
What’s the difference between Para-virtualization and Full-virtualization?
In para-virtualization, guest OS is not entirely isolated, but it is partially isolated by the virtual machine from the virtualization layer and hardware. Xen is an example of para-virtualization
In full-virtualization, guest OS is completely isolated by the virtual machine from the virtualization layer and hardware. VMware’s ESXi server is an example of full-virtualization.
What’s containerization?
A form of virtualization where applications run in isolated user spaces while using the same shared OS. It’s a light alternative to virtualization.
Focuses on abstracting the OS level instead of virtualizing the hardware stack
What are some disadvantages of hypervisor-based virtualization that containerization solves?
- Removes the hypervisor depedancy
- Performance degradation
- Slow booting times of VMs
Containers are the solution to what problem?
How to get a software to run reliably when moved from one computing environment to another. This could be from a developer’s laptop to a test environment, from a staging environment into production, and perhaps from a physical machine in a data center to a virtual machine in a private or public cloud.
What is a container engine?
A piece of software that:
- Runs the container
- Accepts user requests (incl. command line options)
- Pulls images
Examples include Docker Singularity, RKT, CRI-O, uDocker, and LXD
What is the container engine Docker?
USES PseudoDaemon
Docker is a lightweight container-based virtualization platform for different operating systems (Linux and Windows).
* Docker container provides methods for security by using namespaces (user, net, PID, mnt, etc.) and Cgroups mechanisms.
* Docker images can be easily built with a Dockerfile, which specifies initial tasks used to construct container images on top of an existing one by adding another layer.
* Docker-Hub is the main container registry for sharing applications with automated builds.
* Docker-compose is the engine that provides an efficient layer to run micro-services
*
What is the container engine Singularity?
Uses SUID
Singularity uses Linux container approaches.
* It allows users to create and deploy their execution environments
designed for computational science.
* The singularity container platform provides a container with the same privileges (inside and outside it), which ensures users operate freely.
* Singularity provides software stacks into a single configuration file for building and distributing containers on other platforms. This file has a special format (Singularity Image Format ‘SIF’).
* It provides a containerization engine for a security model that differs from the other models proposed by the other container platforms, which enables untrusted users to run untrusted containers safely.
What is the container engine uDocker?
Uses SUID
uDocker is a technology introduced in 2016, oriented to provide a user-space runtime environment for container execution under the Linux operating system.
* The main benefit of using uDocker containers is the possibility of acquiring customized and isolated environments, which allow running determined micro-services.
* uDocker environment can be installed without using additional software. It does not require root privileges and any administrator interventions to set up the environments.
How does containers relate to Micro-services?
Containerization is an ideal solution for micro-services-based applications, with the benefit of decomposing an application into smaller components, each component performs a specific task
What are micro-services?
- Micro-services are smaller autonomous components, encapsulated in an application that performs a specific task.
- A micro-service encapsulates everything, considering the operating system, the runtime environments with all dependencies, packaged as one unit of application, ready for execution.
What is the Container Lifecycle?
The states that are possible for the container.
Container Engine provides a frameworks which allows easy management of the containers lifecycle. (Creation, Building, Running and Maintaining)
What is container orchestration?
A layer that interfaces with applications
- Maintains service-level agreements,
-chooses the optimal hosts
It is a platform-based MICRO-service that orchestrates resources
Examples include Docker SWARM, Mesos, Kubernetes
How are DockerSwarm services defined?
Using a configuration file written in YAML, to bring a pool of Docker instances across cluster nodes
What are the two types of nodes in DockerSwarm and what are their jobs?
Swarm Manager nodes:
Manages related tasks to the delegation of process,
membership, routing requests to worker nodes using the load balancing, and exposing services using IP address and port
Swarm worker nodes:
composed of hosts managed by the Swarm manager,
which is responsible to execute, control the deployment, manage the container lifecycle, and handle the replication of container applications.
What are the three main components of Mesos and what do they do?
Mesos Master: Manage resource negotiations amongst agents and frameworks
Mesos Agent: Execute tasks requested within available resources
Mesos Framework: To weave workloads with each other, pooling resources of all hosts to build up distributed computing systems efficiently.