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