title: FaaS vs. CaaS für die Entwicklung von Rest APIS
Creators: name: David, Lukas
Publisher: name: FH CAMPUS 02 (CAMPUS 02 Fachhochschule der Wirtschaft)
Year: 2023
Subjects: subject: 004 Datenverarbeitung; Informatik

description: Cloud Technologien wurden zur Bereitstellung von Infrastruktur für REST APIs in den letzten Jahren immer wichtiger. Das Container-as-a-Service (CaaS) Modell bei welchen Anwendungen virtualisiert in der Cloud laufen stellt hierbei einen der meistgenutzten Services dar. Dabei kommt es jedoch immer noch zu einem Overhead bei Verwaltung und Bereitstellung der Container, wodurch Entwicklungsressourcen verloren gehen. Eine noch leichtgewichtigere Alternative ist das neuere Function-as-a-Service (FaaS) Modell, welches den Verwaltungsaufwand reduzieren soll. Ziel der Masterarbeit ist es herauszufinden, ob FaaS sich besser als CaaS für die Entwicklung von REST APIs eignet. Um die Modelle vergleichbar zu machen, werden die Kriterien Kosten sowie Performance herangezogen und es wird folgende Forschungsfrage gestellt: ‚Wie wirkt sich FaaS gegenüber CaaS auf Performance und Kostenentwicklung einer REST API aus?‘. Um die Forschungsfrage zu beantworten, wurde jeweils eine CaaS und eine FaaS API implementiert. Als Metrik für Performance wurde dabei die Response Time (RT) gewählt. Diese gibt die Zeit an, welche zwischen Senden des API Requests und dem Empfang der Response verstreicht. Die RT wurde automatisiert mittels Artillery Skripts gemessen, um gleichzeitige Nutzung durch 1.000 virtuelle Benutzer*innen zu simulieren und verschiedene Anwendungsfälle abzubilden. Anhand der RT Daten wurden anschließend Kosten für verschiedene Benutzerzahlen berechnet. Die Ergebnisse der Performancemessungen zeigen, dass die RT von FaaS durchwegs höher ist als jene von CaaS. Für zeitkritische Applikationen kann FaaS daher nicht empfohlen werden. Bei den Kosten zeigt sich ein gemischtes Bild. Gerade bei wenigen API-Aufrufen entstehen bei FaaS kaum Kosten im Vergleich zu CaaS. Je höher die Anzahl der API Aufrufe, umso mehr verkehrt sich dieser Umstand jedoch ins Gegenteil, bei zwölf Millionen täglichen Aufrufen ist die FaaS Lösung schon beinahe dreimal so teuer wie CaaS. FaaS bietet sich also vor allem für kleinere Applikationen an, um einen Kompromiss zwischen Performance und Kosten zu finden.
description: Cloud technologies have become increasingly important infrastructure for REST APIs. The Container-as-a-Service (CaaS) model, running virtualized applications in the cloud, is particularly widely used. However, there is still an overhead in managing and deploying the containers, which means that development resources are lost. A more lightweight alternative, the newer Functionas-a-Service (FaaS) model, reduces the management overhead. This thesis determines whether FaaS is more suitable than CaaS for developing REST APIs. The criteria cost and performance are used to compare the models. The following research question is defined: ‘How does FaaS affect the performance and cost structure of a REST API compared to CaaS?’ A CaaS and a FaaS API were implemented to answer the research question. Response Time (RT), the time that elapses between sending an API request and receiving a response from the server, was chosen as a metric to measure performance. The RT was measured using Artillery scripts to simulate simultaneous use by 1000 virtual users and to cover different customer journeys. The RT data were then used to calculate costs for different user numbers. The performance measurements show that the RT of FaaS is consistently higher than that of CaaS. Therefore, FaaS cannot be recommended for time-critical applications. Regarding costs, the picture is mixed. Especially with few API calls, FaaS hardly incurs any costs compared to CaaS. However, the higher the number of API calls, the more this reverses. At twelve million daily API requests, the FaaS solution is almost three times as expensive as CaaS. FaaS is ideal for smaller applications striking a compromise between performance and costs.