Vergelijkende studie van beveiligingsgeoriënteerde container-runtimes voor cloud computing

Student:Willem Dendauw
Richting:Master of Science in de industriële wetenschappen: informatica
Abstract:Bij het uitrollen van een applicatie in een cloud-omgeving heeft een ontwikkelaar tegenwoordig twee opties: ofwel de applicatie uitrollen in een virtuele machine of de applicatie uitrollen als een container-gebaseerd systeem. Virtuele machines komen met de overhead van een volledig besturingssysteem per applicatie, naast de lange opstarttijden zorgt dit er ook voor dat er minder instanties op één fysieke machine kunnen draaien. Containers daarentegen hebben deze overheadkosten niet, maar ze bieden niet zo een sterke isolatie als die van virtuele machines. Er is een afweging nodig tussen performantie/overhead en veiligheid. Wanneer een publieke cloud provider wordt gebruikt, moet men rekening houden met het feit dat de toepassing haar middelen zal delen met andere toepassingen op het hostsysteem, wat een veiligheidsrisico vormt. Recentelijk is er meer aandacht besteed aan het onderzoeken en ontwikkelen van technologieën die gericht zijn op het verminderen van de afweging tussen performantie en veiligheid. Deze inspanningen worden vaak geleid door grote bedrijven die een belang hebben in de publieke cloud-industrie. Aangezien deze technologieën nog vrij jong zijn, betekent dat verschillende manieren van aanpakken nog nagestreefd worden. De geanalyseerde technologieën zijn Googles gVisor userspace kernel en Amazon Web Services‘ Firecracker virtual machine monitor. Er wordt een studie uitgevoerd om de architectuur en filosofie achter de technologieën te begrijpen, waarna de performantie overhead wordt getest met behulp van verschillende benchmarks. Het doel van dit onderzoek is om de twee verschillende benaderingen door de twee verschillende technologieën te vergelijken met de huidige state-of-the-art.
Abstract (Eng):When deploying an application in a cloud environment a developer has two options these days, either deploy it in a virtual machine or deploy the application as a container-based system. Virtual machines come with the overhead of an entire operating system per application, this reduces the density with which they can be packed on machine and comes with a long boot time. containers on the other hand do not have these overheads, but they do not provide isolation as strong as that of virtual machines. A tradeoff is required between performance/overhead and security. When a public cloud provider is used, one must take into account that the application will share its resources with other applications on the host system, imposing a security risk. Recently, more effort has gone into researching and developing technologies that aim to reduce the performance-security tradeoff. These efforts are often led by large companies that have a stake in the public cloud industry. The relative immaturity of these technologies means that different techniques are still being pursued. The technologies analyzed are Google's gVisor user space kernel and Amazon Web Services' Firecracker virtual machine monitor. A study is performed to understand the architecture and philosophy behind the technologies after which the performance overhead is tested using different benchmarks. The aim of this research is to compare the two different approaches by the two different technologies against the state of the art.