Last November I gave my second KubeCon talk, this time at the inaugural KubeCon in China. My idea was 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.
The conference, Shanghai, and China (which I toured for 3 weeks afterwards), were amazing experiences. I learned a lot about the (enterprise) IT scene in China—which is huge and arguably more advanced than the scene in Europe.