Docker is a new and promising virtualization software offering an alternative to virtual machines. It can be used to run an application and therefore also web applications in the cloud or a local server. An advantage of this should be the possibility to easily migrate a web application from a hosting environment such as Azure or a local server to another environment. Another advantage is the certainty that all software dependencies on the other environment are met.
The goal of this research is to investigate how Docker containers can be used to improve the way .NET web applications are built and deployed.
The following subtopics should be investigated:
Is this technology mature?
How to deploy a .NET web application developed by Televic Education using Docker containers deployed in a cluster?
What are the advantages and disadvantages of hosting a web application using Docker containers?
How to set up a continuous integration system for building a .NET web application using Docker containers as build slaves for Jenkins?
What are the advantages and disadvantages of using Docker containers in the continuous integration system?
The student will have to do the following:
Integrate with the way of working of his/her colleagues in the R&D department of the company and adopt the same way of working.
Investigate the technology to learn how to deploy a .NET web application using Docker containers to Azure and possibly other cloud providers.
Make a git branch of the repository containing the web application to be deployed and add the necessary source code and configuration files to deploy this web application using Docker containers.
After deploying the web application, the performance and pricing should be investigated.
Investigate the technology to learn how to set up Jenkins to use Docker containers as build slaves.
Make another git branch of the same repository and add the necessary changes to configure Jenkins for using Docker containers as build slaves.
After building the application in Jenkins, the advantages and disadvantages of this approach should be investigated.
Document the results of every step before going over to the next step, as well as documenting the perceived advantages and disadvantages of Docker containers.
Nature of the work
Specialty: IT, software development, DevOps
Type of work: Research 30%, implementation 30%, experimentation 40%