This device is not compatible.


Deploying a Ruby-on-Rails Application on AWS Using SAM

In this project, we’ll deploy an e-learning course catalog website based on Ruby-on-Rails (ROR) to the cloud using Amazon Web Services (AWS) and Serverless Application Model (SAM) CLI. We'll use different AWS commands on the CLI that are necessary for the serverless deployment of our custom application on the cloud. We'll create AWS lambda functions, IAM users, and API Gateways throughout this project. In the end, we'll have a fully functional serverless e-learning application running on the cloud.

Deploying a Ruby-on-Rails Application on AWS Using SAM

You will learn to:

Understand the fundamentals of cloud formation

Explore the basics of the serverless architecture

Configure a Ruby-on-Rails application

Use AWS and SAM CLI commands to build and deploy a serverless application to the cloud


Cloud Deployment

Web Frameworks

Using AWS Cloud Services


Basic understanding of Rails framework

Basic understanding of serverless applications

Basic understanding of AWS CLI

Basic understanding of AWS cloud formation



Amazon S3

AWS Lambda

Ruby on Rails

AWS API Gateway

Project Description

In this project, we’ll deploy a custom ROR application to the cloud. This application will be an e-learning course catalog website. We’ll configure and install necessary packages, and make this application ready to be deployed on the cloud using AWS SAM command-line tools. Also, we’ll use AWS Lambda, a serverless and event-driven computing service.

Each course on our custom website will have a title, an image, an author name, a status indicating whether it is paid or free, a description, and a “Visit Website” button.

The image below shows the final layout of the website, which will be hosted on a dynamic URL.

Custom application deployed on AWS

Disclaimer: For most users, the AWS services used in the project are free, but a few users might be charged for some services. Please follow the links below for pricing information:

Project Tasks


Setup and Configuration

Task 0: Initial Setup

Task 1: Set Up Environmental Variables

Task 2: AWS CLI Configuration


Amazon Elastic Container Registry

Task 3: Log in to Amazon ECR

Task 4: Create an ECR Repository


Installing Dependencies and Bundle Configurations

Task 5: Bundle Configurations for Deployment

Task 6: Precompiling Assets


AWS Deployment

Task 7: Build Serverless Application

Task 8: Create Amazon S3 Package

Task 9: Deploy the Application

Task 10: Delete the Stack