StdLib Updates: Node 8.0.0 Platform Support, new “FaaSlang” Function Definitions

Keith Horwood
Standard Library
Published in
3 min readJun 7, 2017

Hey everyone, the StdLib team is here with some exciting updates on the development of the platform! We’re excited to announce that StdLib now supports Node 8.0.0 natively, along with all associated goodies (like async / await), and we’ve launched a new way to build functions-as-services called FaaSlang (function-as-a-service language).

If you haven’t heard about StdLib, the easiest way to describe us is a Package Manager for APIs, where you can turn a simple JavaScript function into an infinitely scalable backend API with versioning, rate limiting, etc. in a single command. Chris Nicola of Wealthbar has graciously pointed out, you can think of StdLib like, “Heroku for serverless microservices.”

Building and deploying is simple from the command line using the Command Line Tools:

New: Node 8 Support and FaaSlang

A few weeks ago at ServerlessConf in Austin TX, we somewhat silently rolled out FaaSlang (function-as-a-service language) our open server-less API deployment and gateway specification, in a short 15-minute talk, which is available here. This specification details how we expect server-less functions to be written and consumed (including things like built-in type-checking for API requests) and that the onus for maintenance should fall on infrastructure managers (devops, your stack, or your provider) and not the developer running a deployment toolchain.

You can find FaaSlang on github at https://github.com/faaslang/faaslang.

FaaSlang includes a specification for async server-less functions that look like this:

Or like this:

And turn them into a scalable API endpoint that can be called like this from our Node.js SDK:

You’ll notice some magic context and callback parameters, the former provides execution context details and needn’t be documented (but must always be the last argument when included), and that latter is required when deploying non-async functions.

A shortlist of goodies available via FaaSlang services:

  • automatically enforced documentation
  • automatically generated docs JSON blobs (+ pages, if on StdLib)
  • type-checking corresponding to superset of JSON (includes integers)
  • fullasync / await support, as shipped around Node 8

You can view the full FaaSlang specification on GitHub at faaslang/faaslang — it’s open, fully-tested, and not opinionated as to service provider (can build it around your own AWS Lambda functions), but the easiest way to get started is to sign up on StdLib and use our CLI, available on GitHub.

Happy Building!

This is just the start of the new version of the StdLib platform, and we’ll be announcing a number of exciting changes around the company in the coming weeks. Stay tuned as we roll out updates and announcements — either on our website, stdlib.com, or via Twitter, @StdLibHQ.

We’re very thankful to have been included at ServerlessConf in Austin, PolyglotConf in Vancouver, and be sure not to miss us at upcoming speaking arrangements: VueConf in Poland and Confront in Malmo — we’d love to see you around!

Keith Horwood is the founder and CEO at StdLib and writes these blurbs at the end of blog posts in third-person to remind you who he is… y’know, incase you want to reach out on Twitter: @keithwhor.

--

--