At the end of last year the working group presented our results back to the TOC in the form of a white paper. The paper covered the following topics:
- What is Serverless computing? How does it related to Functions-as-a-Service as well as the other *aaS cloud computing models? When should you consider using Serverless? The current state of Serverless in the community – e.g. what are your options for runtimes, frameworks, etc. Along with the white paper, the working group also produces a spreadsheet that consolidates what’s out there today in one location for people to more easily compare their options.
- The Servereless Processing Model. Without focusing on any particular implementation choice, there’s a discussion around the common architecture you’ll find in most Serverless platforms. This is mainly for those who want to understand how it all works behind the scenes.
- CNCF Recommendations. The working group produced a list of possible next steps for the TOC to consider. Most of them involved what I would call “community building”. Things like looking for opportunities to educate people on the technology and provide guidance for those looking to adopt the technology. But, we also recommended looking for areas where an interoperability story would benefit the community.
Its within this interoperability aspect that the working group is now focused. Among the possible areas was a common event format. The working group felt that looking to get an interoperability story too quickly in such a new space might meet with significant resistance – however, by choosing to look at an area that already appeared to have some level of consistency across the existing vendors we might be able to take a small incremental step in the right direction. And, since it also (if successful) should help user’s life easier, then it because an easy sell for the TOC’s agreement.
So, with that, the Serverless working group is now working on a new specification around defining a common event format called CloudEvents. If you look at the current version of the spec you’ll see that it aims to define a common wrapper around the event itself so that while the “real data” of the event can pretty much be anything (and in any format), the common properties of the wrapping envelope allow for common tooling to be developed for processing of this metadata.
Its important to note that while this new specification came out of a “serverless” working group, it was realized that this event format could apply to any event regardless of the infrastructure in which is it being processed – hence the word “Cloud” in its name.
So far we’ve gotten interest from all of the big cloud players, so I’m hopeful that this will be the first of several projects that aim to develop a common set of APIs in this space. Keep an eye out, and please join the working group if you’re interested, it should be fun…