After my KubeCon talk in China in November, I got invited to give the same presentation to an academic audience at the European Symposium on Serverless Computing and Applications (ESSCA) 2018.
I did not change much to the original presentation, although I emphasised the academic angle a bit more in covering the internals and optimizations. The idea remained the same: to share the insights in the internals—especially those related to performance—that I have gathered over the last couple of years working on Fission and Fission Workflows, and investigating the entire serverless landscape in the SPEC RG Cloud group.
The talk illustrates the constant conflict in serverless computing: it has to be cheap, and it has to be fast. Based on the reference architecture developed with the SPEC RG Cloud group, I explain the key components and current state of performance in FaaS platforms. How we can improve this, while avoiding loosing the characteristics of serverless, I answer in the remainder of the talk. We cover 4 techniques: reusing function resources, preparing function resources, prefetching function sources, and prewarming function instances. We show that each of these involves a trade-off between performance and cost—a trade-off that can be made in some open-source platforms, and (hopefully) soon in managed FaaS platforms as well.
It was interesting to meet other academics working in or interested in serverless computing research. Especially interesting was that attached to the presentation was a break-out session, in which I was invited to sit down with a part of audience to have free-form discussion about the talk and the topic in general. It was fun to see how the participants had completely different perspectives on the challenges and opportunities on serverless computing.