  Serverless computing offers an event driven pay-as-you-go framework for
application development. A key selling point is the concept of no back-end
server management, allowing developers to focus on application functionality.
This is achieved through severe abstraction of the underlying architecture the
functions run on. We examine the underlying architecture and report on the
performance of serverless functions and how they are effected by certain
factors such as memory allocation and interference caused by load induced by
other users on the platform. Specifically, we focus on the serverless offerings
of the four largest platforms; AWS Lambda, Google Cloud Functions, Microsoft
Azure Functions and IBM Cloud Functions}. In this paper, we observe and
contrast between these platforms in their approach to the common issue of "cold
starts", we devise a means to unveil the underlying architecture serverless
functions execute on and we investigate the effects of interference from load
on the platform over the time span of one month.
