<commit_before>---
title: How to Get Started with AWS Lambda and Serverless
date: 06/17/2017
categories: Node.js, AWS,
summary: Imagine a world where you can have 1 million free API calls, automatic scaling and zero maintenance. It is all possible with Amazon Web Services (AWS) Lambda functions. However getting started can be a bit confusing.
---

Imagine a world where you can host an API that is allowed 1 million free API calls per month, automatic scaling and zero maintenance. It is all possible with Amazon Web Services' (AWS) Lambda functions. However getting started can be a bit confusing.

There are many steps you need to follow and understand before deploying and executing your first lambda function. But it's not as hard as you think. This blog post is the first in a series that will show you how you can easily get started with AWS' "functions as a service" platform.

**By the time you finish this series you will learn:**
 
1) How to create a lambda function.
2) [How to deploy a lambda function from the command-line using Serverless](http://localhost:8000/blog/deploy-lamda-function-using-serverless/)
3) [How to deploy a lambda function with public and private environment variables](/blog/deploy-lambda-function-with-public-and-private-enviromental-variables-using-serverless/)

**To do this part of the tutorial you will need to...**
1) Have knowledge of how to read javascript and JSON
2) [Have an AWS account](https://www.amazon.com/ap/signin?openid.assoc_handle=aws&openid.return_to=https%3A%2F%2Fsignin.aws.amazon.com%2Foauth%3Fresponse_type%3Dcode%26client_id%3Darn%253Aaws%253Aiam%253A%253A015428540659%253Auser%252Fhomepage%26redirect_uri%3Dhttps%253A%252F%252Fconsole.aws.amazon.com%252Fconsole%252Fhome%253Fregion%253Dus-east-1%2526state%253DhashArgs%252523%2526isauthcode%253Dtrue%26noAuthCookie%3Dtrue&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&action=&disableCorpSignUp=&clientContext=&marketPlaceId=&poolName=&authCookies=&pageId=aws.ssop&siteState=registered%2Cen_US&accountStatusPolicy=P1&sso=&openid.pape.preferred_auth_policies=MultifactorPhysical&openid.pape.max_auth_age=120&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&server=%2Fap%2Fsignin%3Fie%3DUTF8&accountPoolAlias=&forceMobileApp=0&language=en_US&forceMobileLayout=0)<commit_msg>fix mistake in blog link<commit_after>---
title: How to Get Started with AWS Lambda and Serverless
date: 06/17/2017
categories: Node.js, AWS,
summary: Imagine a world where you can have 1 million free API calls, automatic scaling and zero maintenance. It is all possible with Amazon Web Services (AWS) Lambda functions. However getting started can be a bit confusing.
---

Imagine a world where you can host an API that is allowed 1 million free API calls per month, automatic scaling and zero maintenance. It is all possible with Amazon Web Services' (AWS) Lambda functions. However getting started can be a bit confusing.

There are many steps you need to follow and understand before deploying and executing your first lambda function. But it's not as hard as you think. This blog post is the first in a series that will show you how you can easily get started with AWS' "functions as a service" platform.

**By the time you finish this series you will learn:**
 
1) How to create a lambda function.
2) [How to deploy a lambda function from the command-line using Serverless](/blog/deploy-lamda-function-using-serverless/)
3) [How to deploy a lambda function with public and private environment variables](/blog/deploy-lambda-function-with-public-and-private-enviromental-variables-using-serverless/)

**To do this part of the tutorial you will need to...**
1) Have knowledge of how to read javascript and JSON
2) [Have an AWS account](https://www.amazon.com/ap/signin?openid.assoc_handle=aws&openid.return_to=https%3A%2F%2Fsignin.aws.amazon.com%2Foauth%3Fresponse_type%3Dcode%26client_id%3Darn%253Aaws%253Aiam%253A%253A015428540659%253Auser%252Fhomepage%26redirect_uri%3Dhttps%253A%252F%252Fconsole.aws.amazon.com%252Fconsole%252Fhome%253Fregion%253Dus-east-1%2526state%253DhashArgs%252523%2526isauthcode%253Dtrue%26noAuthCookie%3Dtrue&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&action=&disableCorpSignUp=&clientContext=&marketPlaceId=&poolName=&authCookies=&pageId=aws.ssop&siteState=registered%2Cen_US&accountStatusPolicy=P1&sso=&openid.pape.preferred_auth_policies=MultifactorPhysical&openid.pape.max_auth_age=120&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&server=%2Fap%2Fsignin%3Fie%3DUTF8&accountPoolAlias=&forceMobileApp=0&language=en_US&forceMobileLayout=0)
{'fraction_non_alphanumeric': 0.09491389667601122, 'fraction_numerical': 0.05887064477372848, 'mean_word_length': 7.121951219512195, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7251807', 'n_tokens_mistral': 1797, 'n_tokens_neox': 1636, 'n_words': 435}