Ultimate Guide to Deploying Flask to AWS
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
Requirements
- Basic understanding of Python, Flask and Linux Operating System
Description
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.
Who this course is for:
- Beginner to intermediate developers interested in becoming proficient at deploying their apps to AWS
Instructor
Experienced Software Engineer with a demonstrated history of working in High-Tech Enterprises like Digital Media, Biotech, and Financial Services. Skilled at crafting well engineered solutions (responsive, scalable, fault tolerant with sensible observability) across multiple technology frameworks and languages spanning all layers of the enterprise. Server-side development experience includes Python, NodeJS/Typescript, and Java paired with client technologies like JavaFX, ElectronJS, VueJS and ReactJS. Early career exposure to the challenges of high volume high complexity data in the sciences provided a strong foundation in analytics and data engineering spanning simple automation to distributed computing technologies like Celery, Redis, Spark, Hive, Kafka, Kinesis and, deep understanding of relational databases (PostgreSQL especially).