DEV Community

Cover image for Quick notes to use the serverless framework to deploy a Node project on AWS
rounakcodes
rounakcodes

Posted on

3 2

Quick notes to use the serverless framework to deploy a Node project on AWS

Intro

serverless framework consists of an open source CLI and a hosted dashboard to provide you with full serverless application lifecycle management.

The purpose of the article is to provide you a quick configuration to get started with it.

Install serverless cli

npm i -g serverless

Configure serverless to use AWS

serverless config credentials --provider aws --key <access-key-id> --secret <secret-access-key> --profile <profileName>

If you do not wish to provide secrets in the shell, use ~/.aws/credentials file to save credentials in the following format:

[<Enter profile name here>]
aws_access_key_id=*********
aws_secret_access_key=***************
[<Enter another profile name here>]
aws_access_key_id=*******************
aws_secret_access_key=**********************
Enter fullscreen mode Exit fullscreen mode

Create a new project (nodejs)

serverless create --template aws-nodejs --path myServerlessProject

The following files are created:
handler.js
.npmignore
serverless.yml

In serverless.yml, add profile and region
image

Deploy to AWS

In a shell, run
sls deploy

After every change in serverless.yml, you must run this command to deploy the changes.

Add a S3 bucket

In serverless.yml add:

image

Add a plugin

In a shell, run

npm i --save serverless-s3-sync

In serverless.yml add:

image

Configure the plugin

Example configuration for s3sync plugin

image

Add lambda functions

In serverless.yml add:

image

Enable debug when deploying

In a shell, run
SLS_DEBUG=* sls deploy

Example config of serverless.yml

image

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (4)

Collapse
 
rounakcodes profile image
rounakcodes • Edited

If anyone can tell me how to insert yaml in a dev.to article, I will replace the images. Using code blocks in markdown for yaml code removed indentation.

Collapse
 
tastefulelk profile image
Sebastian Bille • Edited

You should be able to do triple backticks followed by "yml" to inline markdown code!

''' yml
yaml code here
'''
But replace ' with ` gives ⬇️

yml
resources:
Resources:

Collapse
 
rounakcodes profile image
rounakcodes • Edited

Thanks for the reply @tastefulelk . This is how I used it: dev-to-uploads.s3.amazonaws.com/up...

However, the solution did not work. The indentation is not respected.

Collapse
 
rokejulianlockhart profile image
Beedell, Roke Julian Lockhart • Edited

It definitely works:

Rendered

Key: Value
Enter fullscreen mode Exit fullscreen mode

Source

```YAML
Key: Value
```
Enter fullscreen mode Exit fullscreen mode

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more