![JAWS stack javascript aws node.js express auroradb dynamodb lambda](https://github.com/jaws-framework/JAWS/raw/HEAD/jaws_framework_logo_animated_xl.gif)
JAWS V1 (BETA)
JAWS is an open-source framework for building serverless applications (web, mobile, IoT) using Amazon Web Services Lambda, API Gateway, and more.
Lambda's event-driven model offers tremendous cost savings and colossal horizontal scaling ability. Now, JAWS helps you
develop and maintain applications built entirely on Lambda. JAWS is mostly a command line tool that provides scaffolding, automation,
and other utilities to help you isolate and replicate your application across multiple stages and regions.
![JAWS Gitter Chat Room](https://badges.gitter.im/Join%20Chat.svg)
Check us out at
. Our presentation is "DVO209 - JAWS: The Monstrously Scalable Serverless Framework – AWS Lambda, Amazon API Gateway, and More!"
Status 9/18: The JAWS V1 RC1 (v1.0.0) in now available. Significant re-write. Few of the many new features: deploy lambdas via CloudFormation. AWSM: Amazon Web Services Modules. Much improved multi-region support. Totally re-done env
command.
Don't forget to join the JAWS Email List for updates!
Goals:
- No Servers: The JAWS back-end is comprised entirely of AWS Lambda Functions. You can develop/update/configure each separately without affecting any other part of your application. Your app never goes down. There is no app. Only individual lambda functions can go down.
- Scale Infinitely: A back-end comprised of Lambda functions comes with a ton of concurrency.
- Be Cheap As Possible: Lambda functions run only when they are called, and you pay only when they are run.
- All Lambda Runtimes While first release is
nodejs
only, we plan on adding support for all languages. This means each lambda in your JAWS project can be coded in the lang that best suites the problem. - API Gateway Auto-Deploy Creates your API endpoints for you on API Gateway.
- Multi-stage & Multi-Region: Define stages for your project, and multiple regions with a stage. Driven by CloudFormation.
Architecture
Graphics coming soon...
Quick Start
The guide below gets you started quickly. Later, check out the best practices guide in our wiki for tips on security and more.
Note: we recommend camelCase for project names. Why?
This will create a new jaws project, create a lambda function and endpoint (and install jaws-core-js awsm), which you can immediately deploy via
jaws dash
. After deployment is complete, you will be given a url. In the above example, you can access your
deployed lambda at your_url/users/list
.
Where do I go from here?
We're currently working on our docs, wiki, best practices and FAQ pages.
Once you become familiar with JAWS, you can read about JAWS AWSM: Amazon Web Services Modules to start contributing awsm's to the community.
How can I help?
Please check out the JAWS V1 Google Document and our CONTRIBUTING.md for coding and PR guidelines.