Udacity Cloud DevOps Engineer Nanodegree
Project 1: Deploy a static website on AWS
In this project, students are expected to deploy an instructor-supplied static website on AWS and setup content distribution using AWS CloudFront.
Access project files here.
Cloud services used
-
Amazon Web Services/AWS.
-
AWS Simple Storage Service/S3.
-
AWS Identity and Access Management/IAM.
-
AWS CloudWatch for performance and health checks.
Project 2: Deploy a high-availability web application using CloudFormation
Access project files here.
In this project, students are expected to deploy web servers for an instructor-supplied web application to achieve high scalability using infrastructure provisioning tool, AWS CloudFormation.
Tasks
-
Develop a cloud diagram using any websites such as Lucidchart or Diagrams as a reference/visual aid to help write the CloudFormation script.
-
Interpret the instructions from the cloud diagram and create a matching CloudFormation script.
-
Get access to the S3 bucket containing the web application files using AWS Identity and Access Management/IAM and deploy it on our private clouds in an automated fashion.
-
Discard the provisioned infrastructure using command-line tools once the web application is verified to be viewable by anyone with the given link, in an automated fashion.
Project 3: Build a Jenkins pipeline for AWS
Note: This project was submitted in the form of screenshots for proof of its functioning and as such files are unavailable.
Access project files here.
In this project, a student must deploy his/her own web site on AWS by building a multi-stage pipeline, of which one must be a step for linting, using Jenkins for CI/CD.
Tools
-
Tidy HTML linter.
-
Latest version of Jenkins.
-
AWS Identity and Access Management/IAM
-
AWS Elastic Compute Cloud/EC2.
-
AWS Simple Storage Service/S3.
-
GitHub for version control.
Project 4: Operationalize a Machine Learning Microservice API and deploy to Kubernetes
Access project files here.
In this project, students must containerize an instructor-supplied SciKit learn Machine-learning model that predics housing prices in Boston, using Docker, Kubernetes and AWS Elastic Kubernetes Service/EKS.
Tools and cloud services used
-
Docker, Dockerhub for docker repository, Kubernetes(Minikube)
-
Hadolint for linting Docker file.
-
Pylint for linting the Python script.
-
AWS Cloud 9 IDE
-
AWS Elastic Compute Cloud/EC2 running Ubuntu 18.04 LTS image.
-
AWS Identity and Access Management/IAM.
-
Jenkins for Continuous Integration/Continuous Delivery.
-
eksctl
, a command-line utility for creating and managing Kubernetes clusters using EKS. -
GitHub for version control.
Capstone project: Containerize a simple web application and deploy to EKS
Access project files here.
In this project, students are tasked to propose their own scope of the project by including the following tools:
-
Amazon Web Services/AWS and its various services.
-
Jenkins for Continuous Integration/Continuous Delivery.
-
Docker for containerization and Kubernetes for orchestration.
-
CircleCI for deployments.