Search for a command to run...
In the constantly changing technological landscape the concept of serverless computing in a public Cloud is a relatively new development. Over recent years the serverless abstraction has gained significant traction within the IT industry. Google, Microsoft and AWS all now provide feature equivalent serverless implementations as part of their Cloud-based offerings and solution architects throughout the industry are utilizing serverless as part of mission critical enterprise systems. Throughout this paper we examine the performance profile of the serverless ecosystem in a low latency, high availability context, present results on the integral performance of such systems and outline some practical mitigation strategies to optimize serverless architectures. We confine our investigation specifically to one aspect of the AWS implementation of serverless; known as AWS Lambda. Our results show there are opportunities to tune the performance characteristics of Lambda-based architectures and we outline considerations such as cold starts and potential latency characteristics created by a combination of factors including external systems and events. We propose a diverse set of strategies, approaches and techniques which, when successfully implemented and deployed, simultaneously play to its strengths with the ultimate goal of providing a set of design patterns aimed at increasing the capability of serverless computing to a wider set of problem domains.