The State of Stateful Serverless Systems
Autor: | Ambastha, Ashmitha |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2023 |
Předmět: | |
Druh dokumentu: | Text |
Popis: | Serverless computing and Function-as-a-service are popular paradigms that simplify application development by abstracting the development layer from the underlying infrastructure components. These systems work in a pay-as-you-go model and provide an efficient environment for developers to focus entirely on developing their business logic. Different stateful serverless systems are available—for example, Apache Flink StateFun, Azure Durable Functions, Kalix, and Cloudburst. Currently, there is a lack of comparison criteria to compare these systems successfully. In this thesis, we approach solving the question of how we can compare different stateful serverless systems. We devise a comparison criterion and assess four state-of-the-art systems. From these comparison results, we derive assessments that ease choosing one system over the other in the best interest of the user’s development goals. These results and assessments can be applied to more upcoming stateful serverless systems and attempt guiding product owners, software engineers, and researchers to choose a stateful serverless system that best suits their application development goals. We devise a comparison criteria based on the system’s architectural, functional, and performance qualities. The results of these comparisons list essential features. Based on architectural qualities, we conclude that features such as different function types and patterns are essential criteria. Based on functional qualities, we conclude that features such as being language agnostic, support for different in-built primitives, and state and message guarantees are important comparisons. Performance quality results include locally running the chosen system and testing with varying numbers of sequential invocations. The chosen systems are Apache Flink StateFun and Azure Durable Functions. We test the system with varying numbers of sequential invocations to a Greeter function and find the system’s execution time in seconds and throughput in events per second. From the results, we infer that the performance of Apache Flink StateFun is better than Azure Durable Functions when running the systems locally and invoking the function sequentially. Serverless computing och Function-as-a-service är populära paradigmer som förenklar applikationsutvecklingen genom att abstrahera utvecklingslagret från de underliggande infrastrukturkomponenterna. Dessa system fungerar enligt en pay-as-you-go-modell och erbjuder en effektiv miljö för utvecklare som helt och hållet kan fokusera på att utveckla sin affärslogik. Det finns olika ”stateless serverless” system - till exempel Apache Flink StateFun, Azure Durable Functions, Kalix och Cloudburst. För närvarande saknas det jämförelsekriterier för att kunna jämföra dessa system på ett framgångsrikt sätt. I den här avhandlingen försöker vi lösa frågan om hur vi kan jämföra olika stateful serverless-system. Vi utformar ett jämförelsekriterium och utvärderar fyra toppmoderna system. Utifrån dessa jämförelser drar vi slutsatser av bedömningar som underlättar valet av ett system framför ett annat i bästa intresse för användarens utvecklingsmål. Dessa resultat och bedömningar kan tillämpas på fler kommande stateful serverless-system och försöka vägleda produktägare, programvaruingenjörer och forskare att välja ett stateful serverless-system som bäst passar deras mål för applikationsutveckling. Vi utarbetar ett jämförelsekriterium baserat på systemets arkitektoniska, funktionella och prestandakvaliteter. Resultaten av dessa jämförelser innehåller en förteckning över väsentliga funktioner. Utifrån arkitektoniska kvaliteter drar vi slutsatsen att funktioner som olika funktionstyper och mönster är väsentliga kriterier. På grundval av funktionella egenskaper drar vi slutsatsen att egenskaper som att vara språkoberoende, stöd för olika inbyggda primitiver samt tillstånds- och meddelandegarantier är viktiga jämförelser. Resultaten av prestandakvaliteten omfattar lokal körning av det valda systemet och testning med varierande antal sekventiella anrop. De valda systemen är Apache Flink StateFun och Azure Durable Functions. Vi testar systemet med varierande antal sekventiella anrop till en Greeter-funktion och finner systemets exekveringstid i sekunder och genomströmning i händelser per sekund. Av resultaten drar vi slutsatsen att prestandan hos Flink StateFun är bättre än Durable Functions när systemen körs lokalt och funktionen triggas sekventiellt. |
Databáze: | Networked Digital Library of Theses & Dissertations |
Externí odkaz: |