In this project, you will learn how to deploy a high-availability Node.js web app using Amazon Elastic Beanstalk and Amazon DynamoDB. The sample app you will deploy uses Node.js, Express, and a NoSQL database. Using Elastic Beanstalk, you can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. Elastic Beanstalk automatically scales your application up and down based on your application's specific need using easily adjustable Auto Scaling settings. Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models. If you use the sample app, you will also use Amazon Simple Notification Service (Amazon SNS) to configure push notifications for your app.

What you'll accomplish:

Launch a Node.js web application environment using Amazon Elastic Beanstalk and Amazon DynamoDB. Elastic Beanstalk provisions and manages the underlying infrastructure (e.g., Amazon EC2 instances) and stack components (e.g., OS, web server, language/framework) for you. DynamoDB provides the NoSQL database.

Deploy your web application using Amazon Elastic Beanstalk. You’ll upload your code to Elastic Beanstalk, which handles all deployment details for you.

Receive email notifications with Amazon Simple Notification Service (Amazon SNS). If you use the sample app, you will receive notifications from Amazon SNS each time someone writes a record to your DynamoDB table.

What you'll need before starting:

An Amazon Web Services Account: You will need an Amazon Web Services account to begin provisioning resources to host your website. Sign up for Amazon Web Services.

IT Experience: A basic understanding of web technologies and Node.js is recommended, but not required, to complete this project.

Amazon Web Services Experience: No prior experience with Amazon Web Services is required to complete this project.

Code (Optional): If you have code for your application, you can deploy it using this guide. You can also use the sample app code provided in this project.


Need more resources to get started with Amazon Web Services? Visit the Getting Started Resource Center to learn more.

Learn more about Amazon Elastic Beanstalk, an easy-to-use service for deploying and scaling web applications and services developed with Java, NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS.

Accelerate your Node.js application with Lightsail. It provides everything you need to jumpstart your application on Amazon Web Services—compute, storage, and networking—for a low, predictable price.