msc-thesis/src/docs/thesis.md

45 lines
3.2 KiB
Markdown
Raw Normal View History

2015-10-20 20:07:15 +02:00
# TODO: ${TOPIC}
* Source-Based Build System for Application Containers (a.k.a. the better container creation method)
* From Declarative Source-Package Management to Application Container deployment
* Container Build System using Source-Package Management
2015-10-01 16:50:57 +02:00
# Introduction
2015-10-20 20:14:08 +02:00
This project represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany.
The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content declaratively.
The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected.
2015-10-20 20:07:15 +02:00
My personal experience has been collected in different areas which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation.
The most recent project that I want to name is called [embEDUx][embEDUx], and it aims to provide a flexible solution for creating and deploying a customized Linux distribution for embedded systems in an educational context.
My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive.
Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure.
2015-10-20 20:07:15 +02:00
I've had the chance to gather requirements and form certain expectations from the perspective of three major IT roles: the system administrator, the system architect and the application developer.
2015-10-20 19:50:47 +02:00
* TODO: What is a system administrator?
* TODO: What is an application developer?
* TODO: What do they focus on?
Typically the system administrator doesn't necessarily think about work-flow of an application developer and vise versa.
The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer.
This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all.
The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration.
2015-10-20 19:50:47 +02:00
* TODO: describe interfaces of these roles
* OS configuration
* Network topology management
* Application and dependency deployment
* Application lifecycle management
* Intention: evaluate the existing build systems, their design choices and resulting features and methodologies.
The intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers.
2015-10-01 16:50:57 +02:00
# Terminology
* Application: TODO
* Container: TODO
* Application Container: TODO
* DevOps: TODO
# References
2015-10-20 19:54:31 +02:00
[embEDUx]: https://embedux.github.io/documentation