We may earn an affiliate commission when you visit our partners.
Course image
Course image
edX logo

Cloud Computing Foundations

Noah Gift

In this course, you will:

Read more

In this course, you will:

  • Build foundational cloud computing infrastructure, including websites using serverless technology, virtual machines, and PaaS (Platform as a Service).
  • Apply agile software development techniques to small and large projects, useful for building portfolio projects and global-scale cloud infrastructures.
  • Learn how to effectively choose the right level of abstraction: IaaS (Infrastructure as a Service), MaaS (Metal as a Service), PaaS, and Serverless.
  • Apply DevOps principles to Cloud Computing, Data Engineering, and Machine Learning.
  • Utilize IaC (Infrastructure as Code) to manage and provision Cloud infrastructure in a repeatable and idempotent process.
  • Develop Continuous Delivery pipelines for efficient cloud infrastructure management.
  • Evaluate best practices for implementing solutions with Cloud Computing.

This course is ideal for beginners and intermediate students interested in applying cloud computing to data science, machine learning, and data engineering. Students should have beginner-level Linux and Python skills.

What's inside

Learning objectives

  • Build websites using serverless, paas, and iaas technologies
  • Apply devops principles to cloud computing
  • Utilize infrastructure as code (iac) for cloud management
  • Develop continuous delivery pipelines for efficient infrastructure management
  • Evaluate and choose appropriate cloud service models
  • Apply agile software development techniques to cloud projects
  • Effectively communicate in technical discussions and project management

Syllabus

Here is the course structure formatted with bullets for each module:
1. Module 1: Getting Started with Cloud Computing Foundations (1 hour)
- Videos:
Read more
- Introduction to Technical Project Management (2 minutes)
- Instructor Introduction (1 minute) [Preview module]
- Course Introduction (1 minute)
- Course Prerequisites (2 minutes)
- Lab Onboarding (1 minute)
- Course 1 Project Overview (1 minute)
- Readings:
- Course Structure and Discussion Etiquette (10 minutes)
- Getting Started and Course Gotchas (10 minutes)
- Create a free account with AWS, Azure and GCP (30 minutes)
- Specialization Project Roadmap: Course 1 (10 minutes)
- Quiz:
- Create Markdown in Jupyter (60 minutes)
- Confirming Free Tier Cloud Accounts (30 minutes)
- Discussion Prompt:
- Introductions (10 minutes)
2. Module 2: Developing Effective Technical Communication (7 hours)
- Introduction to Technical Discussions (1 minute) [Preview module]
- Technical Discussions with Markdown, GitHub and Jupyter/Colab (10 minutes)
- Creating Technical Demo Videos (1 minute)
- Effective Critical Thinking (5 minutes)
- Effective Technical Triple Threat (2 minutes)
- Introduction to Effective Technical Teamwork (0 minutes)
- Effective Technical Teamwork (6 minutes)
- Effective Technical Project Management (5 minutes)
- Ticket Tracking with Trello (4 minutes)
- Project Planning with Spreadsheets (5 minutes)
- Project Management Anti-Patterns (5 minutes)
- Key Terms (10 minutes)
- Effective Technical Discussions (10 minutes)
- Lesson Reflection (10 minutes)
- Unit Testing (60 minutes)
- Lesson Reflections (10 minutes)
- Effective Technical Project Management (10 minutes)
- Project Plan for Course 1 Project (10 minutes)
- Effective Technical Communication Quiz (20 minutes)
- Assignments:
- Quiz-Effective Technical Project Management (30 minutes)
3. Module 3: Exploring Cloud Onboarding (9 hours)
- Quiz-Effective Technical Teamwork (30 minutes)
- Discussion Prompts:
- Reproducible Technical Discussion (10 minutes)
- Team Performance Analysis (10 minutes)
- Agile vs. Waterfall Planning (10 minutes)
- Course 1 Project Plan (60 minutes)
- Ungraded Labs:
- Introduction to AWS Cloud Development (5 minutes) [Preview module]
- Introduction to Continuous Integration (4 minutes)
- Cloud Development with AWS Cloud9 (9 minutes)
- Constructing a Python Project Scaffold (19 minutes)
- Introduction to GitHub Actions (8 minutes)
- Setup Amazon CodeCatalyst (5 minutes)
- CodeWhisperer Natural Language to Bash CLI (3 minutes)
- Introduction to Azure Cloud Development (2 minutes)
- Introduction to Testing (5 minutes)
- Cloud Development with Azure Cloud Shell (3 minutes)
- Azure Cloud Shell Continuous Integration from Zero (12 minutes)
- Introduction to GCP Cloud Development (0 minutes)
- Development Onboarding with GCP (8 minutes)
- Introduction to Continuous Delivery (4 minutes)
- Cloud Development with Google Cloud Shell (6 minutes)
- GCP Google App Engine Continuous Delivery from Zero (9 minutes)
- Microservices with GCP Cloud Run (4 minutes)
- Using Google Cloud Functions (6 minutes)
- Cloud Onboarding with Amazon Web Services (AWS) (10 minutes)
- Review GitHub Actions GitHub Project (10 minutes)
- What is Amazon CodeCatalyst (10 minutes)
- What is CodeWhisperer? (10 minutes)
- Cloud Onboarding for Azure (10 minutes)
- What is a Makefile and Why Do You Need it? (10 minutes)
- Cloud Onboarding for GCP (10 minutes)
- GAE CD GitHub Source Code Walkthrough (10 minutes)
- Multi-Cloud Continuous Integration (10 minutes)
- Quizzes:
- Quiz-Create an AWS Cloud Development Environment (30 minutes)
- Quiz-Create an Azure Cloud Development Environment (30 minutes)
- Quiz-Create a GCP Cloud Development Environment (30 minutes)
- Cloud Onboarding Quiz (30 minutes)
- Pros and Cons of Cloud-based Development Environment (10 minutes)
- Strengths and Weaknesses of Testing (10 minutes)
- Continuous Integration (CI) and Continuous Delivery (CD) (10 minutes)
- Python Scaffold (60 minutes)
- Makefile Hello World (60 minutes)
- Python Flask Hello World (60 minutes)
4. Module 4: Evaluating the Cloud Service Model (6 hours)
- Introduction to Cloud Computing (2 minutes) [Preview module]
- What is Cloud Computing? (3 minutes)
- Cloud Computing Service Models (4 minutes)
- Introduction to Building Multiple Websites (2 minutes)
- Building a Static S3 Website on AWS (5 minutes)
- Using AWS Lambda Console to Build Python Lambda Function (5 minutes)
- Building a Serverless Website on AWS Lambda (5 minutes)
- Building a Website on an EC2 Virtual Machine (10 minutes)
- Building a Website using PaaS with AWS Beanstalk (12 minutes)
- Static Websites with Zola (2 minutes)
- Customizing Zola Theme (3 minutes)
- Introduction to Cloud Computing Economics (2 minutes)
- Cloud Computing Economics: A Story (2 minutes)
- Cloud Economics Deep Dive (8 minutes)
- Cloud Computing Service Models (10 minutes)
- AWS Lambda Console Gotchas (10 minutes)
- Building Multiple Types of Websites (10 minutes)
- Continuous Delivery with AWS Elastic Beanstalk (10 minutes)
- Quiz-Cloud Computing Service Models (30 minutes)
- Quiz-Build Multiple Websites: Static, Serverless, Virtualized, PaaS (30 minutes)
- Quiz-Case Studies of Cloud Computing Economics (30 minutes)
- Cloud Service Model Quiz (30 minutes)
- Cloud Service Model (10 minutes)
- Serverless Web Applications (10 minutes)
- Economics of Cloud Computing (10 minutes)
- Ungraded Lab:
- Zola Static Site (60 minutes)
5. Module 5: Applying DevOps Principles (9 hours)
- Introduction to DevOps (1 minute) [Preview module]
- DevOps in the Real World (1 minute)
- Benefits of DevOps (3 minutes)
- DevOps Best Practices (3 minutes)
- Introduction to Managing Cloud Infrastructure using IaC (1 minute)
- IaC in the Real World (2 minutes)
- What is IaC? (2 minutes)
- Launching a VM with Terraform on GCP (5 minutes)
- Hello World AWS CDK for Python (7 minutes)
- Introduction to Continuous Pipelines (1 minute)
- Continuous Delivery Overview (2 minutes)
- Continuous Delivery Deep Dive (3 minutes)
- Continuously Deploy Flask Machine Learning Application with Azure (3 minutes)
- Continuous Delivery Pipeline with a Lint Operation using Azure (3 minutes)
- Initial Setup of AWS Cloud9 and GitHub for Hugo (4 minutes)
- Build Hugo Directory in AWS Cloud9 (20 minutes)
- Copy Hugo Data into AWS Cloud9 S3 Bucket (4 minutes)
- Automatic Updating of Hugo in AWS Cloud9 (19 minutes)
- What is DevOps? (10 minutes)
- What is Infrastructure as Code (IaC)? (10 minutes)
- Create a Linux VM with Infrastructure in Azure using Terraform (10 minutes)
- Continuous Delivery for Hugo Static Site from Zero (10 minutes)
- Create a Continuous Delivery Pipeline for an AWS Website (10 minutes)
- Next Steps (10 minutes)
- Quiz-Develop Continuous Pipelines (30 minutes)
- DevOps Principles Quiz (30 minutes)
- DevOps Core Principles (10 minutes)
- Infrastructure as Code (10 minutes)
- Continuous Delivery (10 minutes)
- Explore Hugo Static Website Builder (60 minutes)
- Sandbox Jupyter (60 minutes)
- Sandbox VSCode (60 minutes)
- Sandbox Linux Desktop (60 minutes)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Includes the use of virtual machines, which is standard in industry
Develops DevOps principles and agile software development techniques, which are core skills for cloud computing
Taught by Noah Gift, who is recognized for their work in cloud computing and agile software development
Examines cloud computing economics, which is highly relevant to managing cloud resources
Offers hands-on labs and interactive materials, which provide practical experience
Builds a strong foundation for beginners in cloud computing

Save this course

Save Cloud Computing Foundations to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Cloud Computing Foundations with these activities:
Read "Python Crash Course"
Reading "Python Crash Course" offers a focused introduction to Python, building a foundation for this course.
Show steps
  • Read through the introductory chapters.
  • Complete the exercises in the book.
  • Create a small Python project to apply what you've learned.
Review Linux Terminal Basics
Reviewing Linux Terminal basics will allow this course to be less daunting.
Browse courses on Linux Command Line
Show steps
  • Practice using the basic Linux terminal commands.
  • Review Linux file system structure.
Create a Study Guide or Summary of Course Materials
Creating a study guide or summary of course materials will aid in your retention and understanding of the core concepts.
Show steps
  • Review course materials and identify key concepts and terms.
  • Organize the information into a logical structure.
  • Summarize the main points and create visual aids to enhance understanding.
  • Test your understanding by recalling the information without referring to the materials.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Build a Personal Website or Blog
Building a personal website or blog will provide practical application of the concepts covered in this course and showcase your skills.
Show steps
  • Plan the design and content of your website/blog.
  • Choose a hosting platform and domain name.
  • Develop the website/blog using the skills learned in this course.
  • Publish your website/blog and promote it.
Follow Tutorials on Building Serverless Applications
Following tutorials on building serverless applications will give you hands-on experience using the concepts covered in this course.
Browse courses on Serverless Development
Show steps
  • Choose a tutorial that aligns with your interests.
  • Follow the tutorial step-by-step.
  • Deploy your application and test its functionality.
  • Explore the code and understand the underlying concepts.
Complete Coding Challenges on LeetCode
Completing coding challenges on LeetCode will sharpen your problem-solving skills in Python.
Show steps
  • Choose a difficulty level and start solving problems.
  • Review solutions and explanations for problems you solve.
  • Focus on improving your problem-solving approach.
Develop a Cloud Computing Architecture Diagram
Creating a cloud computing architecture diagram will help you visualize and understand the concepts of cloud computing.
Show steps
  • Identify the components of your cloud computing system.
  • Choose a diagramming tool and symbols to represent the components.
  • Draw the diagram, connecting the components and indicating their relationships.
  • Annotate the diagram with any additional information or notes.
Volunteer as a Mentor for Beginner Students
Mentoring others will reinforce your understanding of the concepts and help you develop your communication and leadership skills.
Show steps
  • Join a mentoring program or platform.
  • Connect with students seeking guidance in cloud computing.
  • Provide support, answer questions, and share your knowledge.
  • Reflect on your mentoring experience and identify areas for improvement.

Career center

Learners who complete Cloud Computing Foundations will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser