Serverless Function Triggers in Azure: An Analysis of Latency and Reliability

Typ
Examensarbete för masterexamen
Program
Computer systems and networks (MPCSN), MSc
Publicerad
2022
Författare
Lagergren, Henrik
Tao, Henrik
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Serverless computing has seen a very rapid growth in popularity the recent years, where businesses are now able to completely outsource their IT infrastructure through cloud providers. However, some practitioners that are sensitive to latency and reliability might suffer from unwanted effects when deploying their IT infrastructure to the cloud. This thesis intends to investigate the latency and reliability of various Azure Function triggers offered by Microsoft Azure, one of the most popular cloud providers. In order to conduct such an investigation, a solid benchmark was designed and implemented to test the performance of seven different triggers on two runtimes. The findings, based on the results, from this thesis show that various trigger types have major differences in latency compared to each other. The choice of runtime does also have an impact on latency. However, the impact of the runtime is not as important compared to the choice of trigger type. For bursty workloads, increasing the size of invocation bursts tends to cause longer tail latency for the triggers. The HTTP and Event Hub triggers perform the best, where the shortest and most stable latency was observed for Event Hub on all different burst sizes, while HTTP had some latency increases at the heavier burst sizes. The undoubtedly worst performing trigger was Blob storage. For out-of-order event deliveries, an inter-arrival time of 250ms will lower the risk of high occurrence of out-of-order. To fully ensure ordering, higher invocation delays had to be tested to pinpoint the optimal delay. Missing event deliveries were most apparent for two trigger types, and the other types had too few missing deliveries to draw any conclusions. Duplicate event deliveries were absent for three out of seven trigger types. Results suggest that there might be a difference between runtimes for duplicate deliveries depending on trigger type.
Beskrivning
Ämne/nyckelord
Serverless computing , function-as-a-service , function triggers , benchmark , distributed tracing , latency , reliability
Citation
Arkitekt (konstruktör)
Geografisk plats
Byggnad (typ)
Byggår
Modelltyp
Skala
Teknik / material
Index