Design en implementatie van een container-based deployment systeem voor drones

Student:Jasper Beaurain
Richting:Master of Science in de industriële wetenschappen: informatica
Abstract:Dankzij verbeteringen in verschillende technologieën kunnen drones steeds meer worden ingezet voor tal van toepassingen zoals luchtfotografie, beveiliging en detectie van gevaren. Ontwikkelaars moeten applicaties ontwerpen die uitgevoerd worden op drones, maar het ontwikkelproces wordt gehinderd door problemen bij het deployen van deze software. Deze thesis biedt een oplossing voor de problemen in de deployment workflow. De huidige workflow is sterk gekoppeld aan de specifieke drone waarop de applicaties worden uitgevoerd. Door gebruik te maken van virtualisatie is het mogelijk om een deployment systeem te ontwikkelen dat minder afhankelijk is van de gebruikte drone. Door applicaties in geïsoleerde omgevingen uit te voeren is het veel eenvoudiger om software te installeren of verwijderen zonder problemen te veroorzaken voor andere applicaties of het besturingssysteem. Een Proof-of-Concept wordt ontworpen om aan te tonen hoe zo'n systeem geïmplementeerd kan worden. Het systeem maakt gebruik van Docker containers en Kubernetes om de workflow te verbeteren en heeft een verwaarloosbare invloed op de performantie van het systeem.
Abstract (Eng):Recent advancements in technology have made drones more accessible; they are being used in many situations such as aerial photography and surveillance. Developers are tasked with creating applications that can run reliably on these drones, but the development process is hindered by the difficulties of deploying these applications. This thesis proposes a solution to the problems in the deployment workflow for applications on drones. The existing workflow is tightly coupled to the specific drone that is being deployed on. By using virtualization technologies, it is possible to implement a deployment system that is more decoupled from the used hardware and operating system. By running applications in isolated environments, it is much easier to install and remove applications without causing problems that may affect other applications or the operating system. A Proof-of-Concept is developed to show how such a system can be implemented. The system uses Docker containers and Kubernetes and has a negligible performance overhead, while providing a much smoother deployment experience.