UBC Undergraduate Research

Discrete App Simulator : A Simulator for Experimenting with Response Time Parameters for a Serverless Environment Balashov, Natalie

Abstract

Serverless is an increasingly popular application deployment option offered by cloud providers, but one that offers many challenges in terms of resource management and system fine-tuning. With the recent release of real workload traces that provide insights into serverless application invocation patterns, simulators have gained traction as a method for evaluating the effectiveness of serverless environments. However, most simulators to date have focused on specific cloud provider environments that use container-based or Function as a Service deployments. This work introduces Discrete App Simulator, a simple and highly-customizable simulator built in Python on top of the SimPy discrete simulation framework that provides a convenient tool for evaluating different scheduling and load-balancing policies in the context of a multi-tenant web application hosting service, regardless of the serverless cluster topology or deployed instance type. The simulator offers the opportunity to efficiently run many simulations of serverless environments with various system parameters and workload patterns, with the aim of discerning potential areas of optimization or workload types that may cause system failure.