This device is not compatible.

Deploy a Flask Application over AWS Using Elastic Beanstalk

PROJECT


Deploy a Flask Application over AWS Using Elastic Beanstalk

In this project, we'll deploy an e-learning course catalog website using the AWS Elastic Beanstalk. The website is developed using Flask. We'll use different AWS commands on the CLI. Throughout this project, we'll use EB CLI which creates AWS lambda functions, IAM users, API Gateways, EC2 instance, Load balancer, AWS CloudFormation stack, etc.

Deploy a Flask Application over AWS Using Elastic Beanstalk

You will learn to:

Apply the fundamentals of cloud formation.

Explore some aspects of serverless architecture.

Configure a Flask application and make it ready to deploy.

Use AWS and Elastic Beanstalk CLI commands to build and deploy the application to the cloud.

Skills

Cloud Deployment

Web Frameworks

Using AWS Cloud Services

Prerequisites

Flask framework proficiency

Basic understanding of serverless applications

Basic understanding of AWS CLI

Basic understanding of AWS Elastic Beanstalk

Technologies

Flask

Python

Amazon S3

AWS Lambda

AWS Elastic Beanstalk

Project Description

In this project, we’ll learn to deploy a custom Flask application to the Amazon Web Services (AWS) cloud. The application will create a course-catalog website for e-learning content. We’ll configure and install the necessary packages that will make this application ready to be deployed to the cloud using AWS Elastic Beanstalk’s command-line tools. The AWS Elastic Beanstalk (EB) is an orchestration framework that makes it easy to create, deploy, and manage scalable, fault-tolerant applications running on the AWS cloud.

The custom website we create during this course 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. This website will also create a search bar that allows users to browse available courses.

The final layout of the website, which will be hosted on a dynamic URL, will look like this:

Custom application deployed to AWS

Disclaimer: For most users, the AWS services used in this project will be free, but based on the user’s configuration, region, and number of requests, some charges may apply. Please follow the links below for more specific pricing information:

Project Tasks

1

Initial Setup

Task 0: Get Started

Task 1: AWS CLI Configuration

Task 2: Set Up a Python Virtual Environment

Task 3: Install the Dependencies

2

Deployment

Task 4: Elastic Beanstalk Initialization

Task 5: Deploy the Application

Task 6: Verify the Deployment

Task 7: Terminate the EB Environment

Task 8: Delete the Application

Congratulations!