Serverless Function Triggers in Azure: An Analysis of Latency and Reliability
Examensarbete för masterexamen
Computer systems and networks (MPCSN), MSc
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.
Serverless computing , function-as-a-service , function triggers , benchmark , distributed tracing , latency , reliability