Containerization - VM vs. Docker

Acronym
sig-devops-container
Belongs to
SIG DevOps
Responsible
tzaika
History
(v1)   2021-01-12 - created initially
(v2)   2021-01-13 - changed the deadline; added questions
(v3)   2021-01-15 - added "viable options" and decision evaluation steps
(v4)   2021-01-22 - moved the questions part up to the "todos" section (makes it better visible)
(v5)   2021-01-26 - updated todos and removed unnecessary information
(v6)   2021-02-05 - added resolution details and reasons for resolution

Why is there need for such a decision?

The application needs to be hosted. There are several ways to do this. The application can be run on a physical server. It can be packaged in a container or run in a virtual machine. All of these approaches have their own advantages and disadvantages. These have to be weighed up.

Additional sources for better understanding the background

Viable Options

Alternatives not seriously considered

None

How is this decision evaluated?

First we have to implement two PoCs. One using VM and another one using docker.

Then compare this two options on such aspects as:

Resolution Details

It was decided that the docker technology is better suited to the project.

Most of the explanations for the individual resolution details can be found in the wiki.

Installation
The installation of the solutions on the basis of both VM and Docker are at a similar level of complexity.

Configuration

Lightweight

Input from main Stakeholder (UID)

Proprietary solution

Workflow
The workflow is simpler when using Docker because it is easier to understand

Application delivery
Deployment is very similar in complexity

Updates delivery
Not considered

Debugging
See decision Debugging

Reasons for the resolution