Course Calendar
Course Calendar
Week 1
Cloud Computing Foundations-Part 1
Topics
- Overview of Cloud Computing
- Cloud Adoption Framework(s)
- Economics of Cloud Computing
- Develop non-linear life-long learning skills
Learning Objectives
- Summarize the fundamentals of cloud computing
- Evaluate the economics of cloud computing
Lectures
Readings/Media
- Berkeley View of Cloud Computing
- Udemy and the Empire of Skills:
- It’s time for a C-Level Role dedicated to reskilling workers
- Google Cloud Adoption Framework (Read Whitepaper)
- AWS Cloud Adopation Framework (optional)
- The Economics of the Cloud-Microsoft
- Introduction to AWS Economics
- AWS Slides Introduction to Cloud Computing and Cloud Economics
- AWS Resources available to students and teacher
Lab
- GCP Essentials Qwiklabs
- AWS Academy CloudFoundations: Introduction to EC2, Working with EBS, Build your VPC and Launch a Web Server
- Microsoft Learn: Azure Fundamentals
Discussions/Assignments
- What are the problems solved economically by cloud computing vs traditional infrastructure?
- What skills are you going to learn by the end of this year, why and how?
- What are the problems solved technically by cloud computing vs traditional infrastructure?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 2
Cloud Computing Foundations-Part 2
Topics
- Cloud Service Models: SaaS, PaaS, IaaS, MaaS, Serverless
- IaC (Infrastructure as Code) w/ Terraform
- Continuous Delivery
Learning Objectives
- Evaluate different cloud service paradigms (IaaS, MaaS,PaaS, SaaS, serverless) and choose the correct paradigm for the problem at hand.
- Compose IAC (Infrastructure as Code) solutions
Lectures
Readings/Media
Lab
Discussions/Assignments
- What is IAC and what problem does it solve?
- How should a company decide on what level of cloud abstraction to use for a project: SaaS, PaaS, IaaS, MaaS, Serverless?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 3
Virtualization and Containers-Part 1
Topics
- CPU, Memory, I/O
- SDN (Software Defined Networks)
- SDS (Software Defined Storage)
Learning Objectives
- Summarize key components of virtualization: CPU, Memory and I/O
- Summarize Software Defined Networks and Software Defined Storage
Readings/Media
Lab
- AWS Educate Lab: Launch Spot Virtual Machine using AWS Deep Learning AMI into VPC and ssh to instance via Cloud9]
- AWS Academy CloudFoundations Lab 4, 6: Build a Database Servers, Introduction to AWS IAM
Discussions/Assignments
- What are the different layers of network security on AWS and what unique problems do each solve?
- What problem do AWS Spot instances solve and how could you use them in your projects?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 4
Virtualization and Containers-Part 2
Topics
- Containers: Docker, Kubernetes,
- Hosted Services: EKS (Elastic Kubernetes Service), Google Kubernetes Engine,
- Container Registries: Dockerhub, ECR, Google Container Registry
Learning Objectives
- Create Docker format containers and recommend how to use them
- Evaluate container management services like Kubernetes and hosted Kubernetes and create solutions with them
- Summarize container registries and how to use them to create custom containers
Readings/Media
(Optional)
Lab
Discussions/Assignments
- What are containers?
- What problem do containers solve?
- What is the relationship between Kubernetes and containers?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 5
Challenges and Opportunities in Distributed Computing -Part 1
Topics
- CAP Theorem
- Eventual Consistency
- Amdahl’s law
- High Availability
- Fault Tolerance
- Elasticity
Learning Objectives
- Accurately evaluate distributed computing challenges and opportunities and apply this knowledge to real-world projects.
- Summarize how eventual consistency places a role in Cloud-Native Applications
Readings/Media
- Distributed Computing
- Toward Robust Distributed Systems
- CAP Twelve Years Later: How the “Rules” Have Changed
- AWS Slides: Balancing, Scaling and Monitoring
- Eventual Consistency
Lab
- AWS Academy Cloud Foundations Lab 5: Scale & Load Balance your Architecture
Discussions/Assignments
- How does the CAP Theorem play a role in designing for the cloud?
- What are the implications of Amdahl’s law for Machine Learning projects?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 6
Challenges and Opportunities in Distributed Computing-Part 2
Topics
- End of Moore’s Law
- ASICS: GPUs, TPUs, FPGAs
Learning Objectives
- Recommend appropriate use cases for ASICS.
- Consider the implications of the end of Moore’s Law
Readings/Media
Lab
Discussions/Assignments
- How could ASICs play an important role in Machine Learning going forward?
- Find, run and extend a notebook in seedbank and share along with your comments on what you learned.
Week 7
Cloud Storage-Part 1
Topics
- Cloud Databases: HBase, MongoDB, Cassandra, DynamoDB, Google BigQuery
Learning Objectives
- Evaluate different cloud service paradigms (IaaS, MaaS, PaaS, SaaS, serverless) and choose the correct paradigm for the problem at hand.
- Compose IAC (Infrastructure as Code) solutions
Readings/Media
- Cloud Storage
- One Size Database Doesn’t Fit Anyone
- Azure Datastore Overview
- AWS Slides: AWS Databases
Lab
- BigQuery for Data Analysis
- AWS Academy Data Analytics Lab: Query Data in Amazon Athena, Analyze Data with Amazon Redshift
Discussions/Assignments
- What are the problems with a “one size fits all” approach to relational databases?
- How could a service like Google BigQuery change the way you deal with Data?
- What problem does a “serverless” database like Athena solve?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 8
Cloud Storage-Part 2
Topics
- Cloud Object Storage: Amazon S3, GCP Cloud Storage, Amazon Glacier, Data Lakes, OpenStack Swift
- Distributed File Systems: Red Hat Ceph, Amazon EFS (Elastic File System), HDFS
Learning Objectives
- Compare different types of cloud storage (Object, File System and Database) and know how to use them in the right context.
Readings/Media
(Optional)
Lab
- (Optional if Available) AWS Academy Data Analytics Lab: Store data in Amazon S3, Query data in Amazon S3 with Amazon Athena and AWS Glue
- Use the Cloud SDK Command Line
Discussions/Assignments
- What are the key differences between block and object storage?
- What are the key problems do a Data Lake solve?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 9
Serverless-Part1
Topics
- Cloud 9 Development Environment
- FaaS (Function as a Service): AWS Lambda, GCP Cloud Functions, Azure Functions
- Cloud-Native Primitives: AWS Step Machines, AWS SQS, AWS SNS, AWS Cognito, AWS API Gateway
Learning Objectives
- Design serverless applications (AWS Lambda, GCP Cloud Functions) and create cloud-native applications with them.
Readings/Media
- Serverless
- https://github.com/noahgift/awslambda
- https://github.com/noahgift/web_scraping_python
- Learn to write AWS Lambda Functions in Python: https://youtu.be/AlRUeNFuObk
(Optional)
- Python for DevOps: Serverless Chapter
- _Data Engineering with Python and AWS Lambda: _https://learning.oreilly.com/videos/data-engineering-with/9780135964330
Lab
- [AWS Educate Lab: Build timed AWS lambda in Python with Cloud9]
- (Optional if Available) AWS Academy Cloud Developing Lab: Module 10 - Lab 5: Developing with AWS Lambda and Amazon API Gateway
Discussions/Assignments
- What are the tradeoffs with a serverless architecture?
- How are the advantages to developing with Cloud9 ?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 10
Week-10: Serverless-Part2
Topics
- Platform as a Service: Azure App Services, AWS Elastic Beanstalk and Google App Engine
- Azure Cloud Shell Development Environment
- Google Cloud Shell Development Environment
- AWS Cloud9 Development Environment
Learning Objectives
- Design PaaS applications Using Cloud-Native Tools
Readings/Media
- Serverless
- Setup Continuous Delivery on GCP Platform with Google App Engine and Cloud Build
- ML+AI Cooking with Cloud Services (Video)
- Azure Flask ML Serverless Project and Video
- Reference Source Code: https://github.com/noahgift/gcp-hello-ml
Lab
Discussions/Assignments
- What problems does Google App Engine solve?
- What problems does the Cloud Shell environment solve?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 11
Big Data Platforms
Topics
- Batch Processing: EMR/Hadoop, AWS Batch
- ETL (Extract Transform Load): AWS Glue, AWS Athena
- Stream Processing: EMR/Spark, AWS Kinesis, Kafka
Learning Objectives
- Recommend Big Data technology and design Big Data technology solutions to real-world problems.
Readings/Media
(Optional)
- Python for Programmers Big Data: https://learning.oreilly.com/library/view/python-for-programmers/9780135231364/ch16.xhtml#ch16
Lab
- Analyze Big Data with Hadoop
- Introduction to Cloud Dataproc
- Provisioning and Using a Managed Hadoop/Spark Cluster with Cloud Dataproc (Command Line)
- Dataproc: Qwik Start - Command Line
- Academy Data Analytics Lab: Analyze Streaming Data with Amazon Kinesis Firehose, Amazon Elasticsearch and Kibana
- Perform Zero ETL analytics with HDInsight Interactive Query
- Qwiklabs—Data Engineering
Discussions/Assignments
- What problems does Hadoop Solve?
- What are the key differences between Hadoop and Spark?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 12
Managed Machine Learning Systems
Topics
- AWS Sagemaker
Learning Objectives
- Design big data machine learning solutions using Machine Learning platforms (AWS Sagemaker, GCP Big Query ML)
Readings/Media
- Managed ML Systems
- Getting Started with Sagemaker
- Video: Sagemaker from Zero
- Configure automated ML experiments in Python
- Part D: Managed ML & AutoML Overview
- Part E: AWS Managed ML & AutoML
- Part F: GCP Managed ML & AutoML
- Part G: Azure Managed ML & AutoML
(Optional)
- Gift, N (2020). Python for DevOps: Chapter 14: ML Ops and ML Engineering
- Lesson 6 Create Production Machine Learning Applications
Lab
- [AWS Educate: County Census Project in Sagemaker]
- Academy Data Analytics Lab: Analyze Data with Amazon Sagemaker, Jupyter Notebooks and Bokeh
- AWS Academy Machine Learning Foundations
- Start the machine learning lifecycle with MLOps
Discussions/Assignments
- What problems does Sagemaker solve?
- What are competitive offerings to Sagemaker?
- What is MLOps?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.
Week 13
Edge Computing
Topics
- IoT: AWS Greengrass, Raspberry Pi
- Edge Machine Learning: Tensorflow lite, Intel Movidius, Apple X12
Learning Objectives
- Recommend edge computing technologies (IoT and edge ML Inference) to solve problems uniquely suited to the edge (privacy, latency, etc).
Readings/Media
Lab
- Classifying Images with Vision and Core ML
- Classify Images of Clouds in the Cloud with AutoML Vision
- Academy Data Analytics Lab: Analyze Iot Data with AWS IoT Analytics
Discussions/Assignments
- What problems does edge-based machine learning solve?
- What are the ML frameworks most widely used with edge inference?
- Post a screenshot of a lab where you had difficulty with a concept or learned something.** **