Een comparatieve studie van service meshes op Kubernetes

Student:Raven De Vooght
Richting:Master of Science in de industriƫle wetenschappen: informatica
Abstract:Obelisk is een microservice applicatie - ontwikkeld door IDLab - die uitgevoerd wordt op Kubernetes en overweegt om een Service Mesh te introduceren.
Een Service Mesh biedt observeerbaarheid, beveiliging en betrouwbaarheid op platformlaag, meestal door het introduceren van sidecar proxies.
Het doel van deze scriptie is het opstellen van een comparatieve analyse van Service Meshes om de toegevoegde functionaliteit op te wegen tegen de eventuele performantiekost.
Eerst gebeurt een theoretische evaluatie van de aangeboden functies en architectuur van een aantal interessante Service Meshes.
Op een verkorte lijst van meshes wordt een performantieanalyse uitgevoerd via een load generator en een dummy-applicatie, waarvan de resultaten vergeleken worden.
Omdat een theoretische analyse van de toegevoegde waarde geen volledig beeld geeft, worden de toepassingen van de meshes onderzocht om de praktische meerwaarde te vinden.
Ten slotte worden de resultaten van de theoretische, performantie- en praktische functionele analyse samengebracht om de meerwaarde voor Obelisk te analyseren.
De belangrijkste conclusies zijn dat Service Meshes relatief weinig performantiekosten maar vrij veel extra bronnengebruik met zich meebrengen,
Istio het meeste functies aanbiedt, Linkerd een goede middenweg vormt van functieaanbod en performantie en Traefik Mesh performant is, maar een beperkt functieaanbod heeft.
Een Service Mesh kan de performantiekost waard zijn wanneer de monitoring- en beveiligingstoepassingen gebruikt worden, maar dit hangt af van applicatie tot applicatie.
Abstract (Eng):Obelisk is a microservice application - developed by IDLab - which runs on Kubernetes and is considering to introduce a Service Mesh.
A Service Mesh offers observability, security and reliability on the platform layer, usually by introducing sidecar proxies.
The goal of this thesis is the construction of a comparative analysis of Service Meshes to determine if the added functionality outweighs the potential performance impact.
First, a theoretical evaluation of the features and architectures of the most prominent and interesting Service Meshes is conducted.
Then, a performance analysis - using a load generator and a dummy application - is conducted on a shortened list of meshes, and the results are compared.
Because a theoretical analysis of the added value is not representative of the real world, the meshes' features are analysed to find their practical use.
Finally, the results of the theoretical, performance and practical functional analysis are brought together to analyse the added value for Obelisk.
The most important conclusions are: Service Meshes introduce a relatively low performance cost but a lot of extra resource usage,
Istio offers the most features, Linkerd is a good compromise of functionality and performance while Traefik Mesh is performant, but lacks a rich feature set.
A Service Mesh can be worth the performance cost when the monitoring and security features are used, but it depends on the application.