Five-Project Series

Deploy Containers to AWS Fargate with CDK you own this product

prerequisites
basic Docker • basic Python • AWS services basics
skills learned
AWS Fargate • AWS CDK • AWS Cloud Map • Amazon Aurora • CI/CD Pipeline • Amazon CloudWatch
Chadchapol Vittavutkarnvej
5 weeks · 6-8 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Step into the role of a lead DevOps engineer in an IT department of an online retail company. Your boss wants to move the company toward containerization, and he’s tasked you with heading up this important transition. In this series of liveProjects, you’ll start by creating a proof-of-concept (PoC) and deploy it on AWS Fargate.

With ​​AWS Fargate, you don’t need to maintain a cluster of servers. The engineers only need to create a virtual cluster, choose their computing power in terms of CPU and memory, and let AWS Fargate handle maintenance chores.

Next, you’ll switch from a PoC to deploy an actual REST API Flask application on AWS Fargate, connect the application to Amazon Aurora (a database service), and create a continuous delivery (CD) pipeline. Finally, you’ll get your new service ready for operation by configuring autoscaling, logs, metrics, and alarms. Throughout, you’ll automate everything using Python with AWS Cloud Development Kit (CDK).

By the end of this series, you’ll have the practical know-how to deploy and manage real-world applications on AWS Fargate, including using best practices and identifying and avoiding common pitfalls.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Deploy a Fargate Cluster

You’re the lead DevOps engineer in an IT department with about 60 engineers. Your director wants to transition the company from a traditional cloud server to containerization while minimizing operational workload. Impressed with AWS Fargate’s ability to handle containers without managing servers, he’s tasked you with deploying a pilot project using Fargate. You’ll create a proof-of-concept by running an NGINX image on AWS Fargate. To ensure that the infrastructure meets the spec of being reusable as code, you’ll use AWS CDK along with Python as your programming language. When you’re finished, you’ll have investigated, evaluated, and deployed an NGINX container along with all the required resources into AWS Fargate.

Project 2 Deploy a Flask Application

Your assignment as lead DevOps engineer is to deploy a REST API Flask application into AWS Fargate. You already have the application code and the docker-compose file to run the API locally. You’ll package the code in CDK, build the images, store them in Elastic Container Registry (ECR), then use them for deployment in Fargate. When you’re finished, you’ll have practical experience deploying a Flask application, as well as a solid understanding of some of the services Fargate requires for deployment.

Project 3 Move to AWS RDS Aurora

As a lead DevOps engineer, you’ve learned that using Fargate to host a database is not ideal. Your task is to solve that problem by attaching permanent storage to the container and adding important maintenance features. To deliver this solution, you’ll set up an AWS Aurora PostgreSQL with CDK, integrate it with a Fargate service, and keep the connection between the service and the database secure with AWS Secret Manager. When you’re done, you’ll have a working end-to-end solution ready to be deployed with CDK.

Project 4 Set Up a CD Pipeline

A working application is good; an automatically deployable application is great! In this liveProject, you’ll create a continuous delivery (CD) pipeline for your application using CDK. Then, you’ll deploy your application in a single account as well as in multiple accounts using CDK’s pipeline module. Along the way, you’ll learn to spot and evade possible pitfalls.

Project 5 Scaling and Operation

You and your DevOps team have successfully built an application and an automated deployment pipeline for it. But before you can launch you’ll need a solid operating plan that addresses how you’ll monitor and troubleshoot your new service in production. In this liveProject, you’ll add metrics and a CloudWatch Container Insight dashboard to your Fargate service. You’ll also enable autoscaling to adjust according to CPU usage, and you’ll structure logging to be easily searched. Lastly, you’ll use Python to set up alarms so you’ll know when something goes wrong.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Deploy Containers to AWS Fargate with CDK project for free

project author

Chadchapol Vittavutkarnvej
Chadchapol Vittavutkarvej has worked as a software engineer in various industries for over ten years. As a solution architect, he specializes in DevOps and serverless architectures. He has collaborated on and published several blogs, open-source projects, and examples. Chadchapol holds several AWS certifications including Solutions Architect (Professional), DevOps (Professional), Security specialty, and Machine Learning specialty

Prerequisites

The liveProject is for experienced software (backend or DevOps) engineers who are familiar with Docker and application development and have used AWS before. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Python
  • AWS services
  • Docker
TECHNIQUES
  • Build a container image with Dockerfile
  • Run a group of containers with docker-compose.yml
  • Basic Python programming
  • Basics of AWS services

you will learn

In this liveProject series, you’ll learn to

  • Create, configure, and scale Fargate clusters and services
  • Automate infrastructure deployment with AWS CDK (infrastructure as code)
  • Run an application in production (choose a database, secrets management, CD pipeline, scale, and operate)

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.