JAWS Is Now Serverless

Project Rename Alert, and a Major Upgrade

Posted by Ryan S. Brown on Tue, Dec 8, 2015
In General
Tags: lambda, jaws, api gateway, serverless

If you’ve been following the community around API Gateway and Lambda, you’ve likely heard about JAWS (Javascript Amazon Web Services), a web framework specifically aimed at serverless development. Today, they announced a new version and a new name. The artist formerly known as Prince project formerly known as JAWS has moved to serverless/serverless on Github and serverless.com is their new domain.

What’s New?

One of the biggest new features is that it uses the builtin versioning and aliases to handle request routing to multiple code versions. Versioning seems (so far) to be pretty under-used by lots of Lambda users, but is vital to teams bigger than just one person.

Versioning lets you can set different stages of your application (test, staging, prod) to use different versions of the Lambda functions that back your application. This means you can support multiple API versions simultaneously if you want to.

The Serverless team has also moved off CloudFormation in favor of custom scripts. Most of the reason for this move is the lack of CloudFormation support for event sources and API Gateway resources.

Quick Vocabulary Lesson

Serverless has some terminology you’ll want to know before diving in

Project

A collection of modules, endpoints, and configuration that is a single deployable unit. Each application you build should probably be a single project. You can deploy a project to multiple stages (prod, staging, etc).

Modules

In Serverless, a module is one of the components of your project. A module should be a self-contained piece of reusable functionality, like sending notification emails or handling service webhooks.

Plugins

Plugin support isn’t done yet, but when it is you’ll be able to integrate actions into each step in Serverless. Plugins might be adding external resources, build systems like thaumaturgy, or just about anything else.

As the migration winds up and the plugin API is defined expect to see more plugins and more modules become available.

Function

A function in Serverless maps directly to a Lambda function, and is contained within a module. Modules can have as many functions as you want, but try to keep them logically grouped so you can reuse modules.

Try It!

Of course, the best way to get familiar with the framework is to head to serverless/serverless and try it out for yourself.

Thanks for reading! Keep up with future posts via RSS.

Make sure to check out the Serverless framework docs and thank the team @goserverless on Twitter. As always, if you have an idea, question, or comment email ryan@serverlesscode.com or find @ryan_sb on Twitter.


Tweet this, send to Hackernews, or post on Reddit