Ultimate Guide to Deploying Flask to AWS

Learn to deploy Flask applications to AWS Cloud with both Traditional EC2 and Serverless Architectures

In this course you will learn how to deploy Python based Flask applications to the AWS Cloud using both traditional EC2 Virtual Private Servers (VPS) along with the ever increasingly popular Serverless method using Fully Managed AWS service offerings.  In the sections on traditional Server based EC2 deployments I present professional grade, open source, and battle tested technologies such as Nginx web server, uWSGI Python application server, and PostgreSQL database.  For server based deployment methods I cover a variety of architectures ranging from the simple all-in-one monolith EC2 architecture to more distributed approaches with RDS (PostgreSQL) Instances, and Auto Scaling Groups of EC2 Application servers sitting behind Elastic Load Balancers. For Serverless deployments I utilize the AWS Serverless Application Model (SAM) using AWS API Gateway, AWS Lambda and AWS DynamoDB managed services to build a microservices like REST API.  This course covers the most common, industry leading, methods of architecting and deploying Python based Flask applications utilizing the AWS Cloud in ways that are fault tolerant, cost effective, and scalable. The skills demonstrated in this course should leave the learner able to bring their Python Flask apps to life in the AWS Cloud where limitless potential for innovation can unleashed to provide value and excitement to users at web scale.

What you’ll learn

  • Flask deployments from simple to robust and highly scalable architectures.
  • AWS CLI.
  • AWS Developer Tools: CodePipeline, CodeDeploy, CodeCommit.
  • AWS Auto Scaling and Load Balancing.
  • AWS RDS (PostgreSQL).
  • AWS IAM.
  • AWS S3.
  • AWS EC2.
  • Lets Encrypt.
  • AWS Certificate Manager.
  • AWS Route 53.
  • AWS Lambda.
  • AWS Api Gateway.
  • AWS DynamoDB.
  • AWS Serverless Application Model.

Course Content

  • Introduction –> 3 lectures • 10min.
  • Overview of Technologies and Architectures –> 4 lectures • 16min.
  • Getting to Know IAM, AWS CLI, S3 and CodeCommit –> 5 lectures • 51min.
  • Deploying Simple Flask App as Monolith EC2 Instance –> 6 lectures • 51min.
  • Setting Up Domain Names, DNS, and SSL Encryption with Lets Encrypt –> 4 lectures • 32min.
  • Deploying Monolith Flask Todo App with a Database –> 4 lectures • 39min.
  • Migrating the Database Away From The Monolith –> 3 lectures • 27min.
  • Horizontal Scaling with Auto Scaling Groups Behind Elastic Load Balancer –> 5 lectures • 47min.
  • Continuous Integration / Continuous Delivery with CodePipeline –> 4 lectures • 48min.
  • Going Serverless with AWS Serverless Application Model –> 7 lectures • 1hr 24min.

Ultimate Guide to Deploying Flask to AWS

Requirements

  • Basic understanding of Python, Flask and Linux Operating System.

In this course you will learn how to deploy Python based Flask applications to the AWS Cloud using both traditional EC2 Virtual Private Servers (VPS) along with the ever increasingly popular Serverless method using Fully Managed AWS service offerings.  In the sections on traditional Server based EC2 deployments I present professional grade, open source, and battle tested technologies such as Nginx web server, uWSGI Python application server, and PostgreSQL database.  For server based deployment methods I cover a variety of architectures ranging from the simple all-in-one monolith EC2 architecture to more distributed approaches with RDS (PostgreSQL) Instances, and Auto Scaling Groups of EC2 Application servers sitting behind Elastic Load Balancers. For Serverless deployments I utilize the AWS Serverless Application Model (SAM) using AWS API Gateway, AWS Lambda and AWS DynamoDB managed services to build a microservices like REST API.  This course covers the most common, industry leading, methods of architecting and deploying Python based Flask applications utilizing the AWS Cloud in ways that are fault tolerant, cost effective, and scalable. The skills demonstrated in this course should leave the learner able to bring their Python Flask apps to life in the AWS Cloud where limitless potential for innovation can unleashed to provide value and excitement to users at web scale.