- Level Foundation
- Duration 14 hours
- Course by Duke University
-
Offered by
About
Welcome to the second course in the Building Cloud Computing Solutions at Scale Specialization! In this course, you will learn to design Cloud-native systems with the fundamental building blocks of Cloud computing. These building blocks include virtual machines and containers. You will also learn how to build effective Microservices using technologies like Flask and Kubernetes. Finally, you will analyze successful patterns in Operations including: Effective alerts, load testing and Kaizen. This course is ideal for beginners as well as intermediate students interested in applying Cloud computing to data science, machine learning and data engineering. Students should have beginner level Linux and intermediate level Python skills. For your project in this course, you build a containerized Flask application that is continuously deployed to a Cloud platform: Amazon Web Services (AWS), Azure or Google Cloud Platform (GCP).Modules
Course Overview
1
Discussions
- Introductions
3
Videos
- Instructor Introduction
- Course Introduction
- Course Prerequisites
2
Readings
- Getting Started and Course Gotchas
- Course Structure and Discussion Etiquette
Onboarding to AWS, Azure and GCP Cloud Environments
1
Videos
- Lab Onboarding
1
Readings
- Create a free account with AWS, Azure and GCP
Overview of Final Course Project
1
Videos
- Course 2 Project Overview
1
Readings
- Specialization Project Roadmap: Course 2
Virtual Machines
1
Assignment
- Quiz-Virtual Machines
2
Discussions
- AWS vCPU
- Advantages of Spot Instances
1
Labs
- Bash Aliases
8
Videos
- Introduction to Virtual Machines
- Containers vs. Virtual Machines
- How Do Spot Instances Work?
- Launch an AWS Spot Instance
- Create a GCP Virtual Machine from Terminal
- Create Compute Cluster in Azure ML Studio
- AWS Cloud Shell
- Google Cloud Shell
5
Readings
- Key Terms
- Red Hat on Containers vs VMs
- Microsoft Learn on Containers vs VMs
- Launch VM Quiklabs
- Lesson Reflection
Containers
1
Assignment
- Quiz-Containers
1
Discussions
- Advantages of Containers
1
Labs
- Lint Dockerfile
9
Videos
- Introduction to Containers
- Using Containers
- What is Docker?
- Run a Container from Docker Hub
- Build a Docker Container Project from Scratch
- Push to Project to AWS ECR Registry
- What is Distroless?
- Rust Distroless PyTorch Walkthrough
- Rust Distroless PyTorch Running Demo
6
Readings
- Key Terms
- Docker Format Containers
- Container from Scratch (GitHub Repo)
- Containerized Flask Microservice Locally
- Distroless Project
- Lesson Reflection
Kubernetes
1
Assignment
- Quiz-Kubernetes
1
Discussions
- Kubernetes as "Planet Scale"
1
Labs
- FastAPI Calculator Microservice
9
Videos
- Introduction to Kubernetes
- Overview of Kubernetes
- Kubernetes Key Concepts
- Kubernetes Pods and Nodes
- Kubernetes Cluster
- Deploy App to Kubernetes on GKE
- Kubernetes Demo
- Options Container Orchestration
- Minikube FastAPI Demo
4
Readings
- Key Terms
- More on Kubernetes
- Containers and Deployment from an AWS Perspective
- Lesson Reflection
Applied Practice: Deploying a Kubernetes Python Flask App
1
Readings
- Deploy a Kubernetes Python Flask App
Graded Assignment
1
Assignment
- Quiz
What is a Microservice?
1
Assignment
- Quiz-What is a Microservice?
1
Discussions
- Microservices as a DevOps Best Practice
1
Labs
- Processing JSON
3
Videos
- Introduction to Microservices
- What is a Microservice?
- Running Microservices
6
Readings
- Key Terms
- How To Transform
- What is JSON?
- Microservices with AWS Lambda
- Operationalizing a Microservice
- Lesson Reflection
Using Flask
1
Assignment
- Quiz-Using Flask
1
Discussions
- Python Decorators in Flask
1
Labs
- Flask Change Microservice
4
Videos
- Introduction to Flask
- What is Flask?
- Flask Change Microservice
- Flask Azure Microservice
3
Readings
- Key Terms
- Flask Random Fruit-External Lab
- Lesson Reflection
Serverless Microservices
1
Assignment
- Quiz-Serverless Microservices
1
Discussions
- Events versus Polling
1
Labs
- Marco Polo Command-line tool
15
Videos
- Introduction to Serverless Microservices
- Serverless Functions Overview
- Build Marco Polo AWS Lambda
- Build Marco Polo Step Function
- Build AWS S3 Bucket Trigger
- CLI Trigger of Lambda
- Google Cloud Function Change
- Using AWS Lambda Console
- Using Step Functions
- Invoking Step Functions CLI
- Building Rust AWS Lambda Add Function
- Building Rust AWS Lambda Divide by Two Function
- Invoking AWS Step Functions from CLI
- Rust AWS Step Functions
- Demo App Engine Rust Deploy
6
Readings
- Key Terms
- Serverless Cookbook Repository
- Learn about AWS SAM (Serverless Application Model)
- Cargo Lambda
- AWS Step Functions
- Lesson Reflection
Applied Practice: Enhancing a Flask Microservice
1
Readings
- Enhance a Flask Microservice
Graded Assignment
1
Assignment
- Quiz
Monitoring and Alerts
1
Assignment
- Quiz-Monitoring and Alerts
1
Discussions
- Actionable Alerts
5
Videos
- Introduction to Monitoring and Alerts
- Effective Monitoring and Alerts
- Monitoring, Triggers and Alerts with AWS Cloudwatch
- Building an Alert from Scratch
- Monitoring and Logging with Google App Engine Rust Microservice
3
Readings
- Key Terms
- Scaling and Monitoring
- Lesson Reflection
Load Testing
1
Assignment
- Quiz-Load Testing
1
Discussions
- Load Testing
1
Labs
- Load Test a Flask Microservice
5
Videos
- Introduction to Load Testing
- Effective Load Testing
- Flask Locust Load Test
- Locust Load Test in GitHub Codespaces
- Prometheus Monitoring
5
Readings
- Key Terms
- Flask Load Test
- Prometheus Monitoring
- Locust First Test
- Lesson Reflection
Kaizen
1
Assignment
- Quiz-Kaizen
1
Discussions
- The Five Whys
3
Videos
- Introduction to Kaizen
- Effective Continuous Improvement
- What are the 'Five Whys'?
2
Readings
- Key Terms
- Toyota Production System
Applied Practice: Load Testing a Flask Microservice
1
Readings
- Load Test a Flask Microservice
Graded Assignment
1
Assignment
- Quiz
Putting it all Together: Final Course Project
3
Labs
- VS Code Sandbox
- Jupyter Sandbox
- Linux Desktop Sandbox
2
Readings
- Create a containerized Flask Machine Learning Microservice
- Next Steps
Auto Summary
This course dives into Cloud-native system design using virtual machines, containers, and Microservices with tools like Flask and Kubernetes. Ideal for beginners and intermediates in Cloud computing, it covers alerts, load testing, and Kaizen. Led by Coursera, it requires basic Linux and intermediate Python skills. Over 840 minutes, build a containerized Flask app deployed on AWS, Azure, or GCP. Available via Starter and Professional subscriptions.

Noah Gift