Leveraging Service Meshes for Accelerating Serverless Workflows
Manuel Stein, Paarijaat Aditya at KubeCon + CloudNativeCon North America 2020
Serverless platforms increasingly provide support for function composition (e.g., Knative Eventing, Fission, KNIX). To reduce function interaction overhead within a workflow, platforms may choose to co-locate multiple functions inside a single container along with a custom local messaging mechanism. In this design, the functions of a complex workflow may have to be partitioned across multiple containers, requiring invocations to a downstream function to be load-balanced between its replicas across containers. Service meshes could provide such load balancing; however, they lack locality awareness for the workflow. This talk explores how service meshes can be extended to be co-location aware and to provide a single data plane for both intra- and inter-container messaging. Lessons learned implementing such a co-location aware data plane, its advantages and pitfalls are also presented.