With Preview 2 of WASI and the Component Model complete and shipping, it’s time to set our sights on the next major addition for Preview 3: native async support. This talk will explain what problems we need to solve, the requirements for success and a summary of the current technical approach.
The talk will start by summarizing what’s already in Preview 2 and how this feature set leaves open fundamental challenges when attempting to build reusable, composable components in real-world scenarios like streaming HTTP serverless functions. Next, the classic approaches to supporting concurrency are considered along with the remaining problems they leave open concerning efficiency, automatic language binding, composability and observability. Based on this, the talk identifies a set of goals and summarizes the technical design we’re currently pursuing to meet these goals, walking through some examples of how cross-language composition might work in practice.