Presentation av examensarbete Högskoleingenjör
- Titel: Improving Software Development Environment - Docker vs Virtual Machines
- Respondent: RICKARD ERLANDSSON och ERIC HEDRÉN
- Dag, Datum och Tid: Måndag 12 juni, kl 15.00-16.00
- Plats: Sal Ka-301 i Electrum Kista
- Opponent: Alexander Nikalayeu, Albin Friedner och Casper Genfors
- Examinator: Anders Sjögren
- Språk: Rapport på engelska
- Anmälan: Behövs ej
Abstract
The choice of development environment can be crucial when it comes to developing a software. Few researches exist on comparing development environments. Docker is a relatively new software for handling and setting up container-environments. In this research, the possibility of using Docker as a software development environment is being investigated and compared against virtual machines as a development environment.
The purpose of this research is to examine how the choice of development environments affect the development process. The work was qualitative, with an inductive and a deductive approach. It included a case study with two phases. One in which virtual machines and one in which Docker were used to implement a development environment. Observations were made after each implementation. The data from each implementation were then compared and evaluated against each other.
The results from the comparisons and the evaluation clearly shows that the choice of development environment can influence the process of developing software. Different development environments affect the development process differently, both good and bad. With Docker it’s possible to run more environments at once than when using virtual machines. Also, Docker stores the environments in a clever way that results in the environments taking up less space on the secondary storage compared to virtual machine environments. This is due to that Docker uses a layer system when it comes to containers and their components. When using Docker, no GUI to install and manage applications inside a container is provided, this can be a drawback. The lack of a GUI makes it harder to get an IDE to work properly with a container to for example debug code.
Keywords: DevOps, virtualization, Docker, virtual machines, software development, development environment.