Academic Catalog

C S 55A: INTRODUCTION TO CLOUD COMPUTING IN AMAZON WEB SERVICES

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Effective Term: Summer 2024
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: C S 30A and C S 50A.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • A successful student will be able to explain the features of AWS cloud services including computing, global infrastructure and data center deployments.
  • A successful student will be able to create and deploy a basic web server on the AWS platform, enable domain-name services and upload website content.
  • A successful student will be able to describe and explain the cloud computing model, history, vendor perspectives and industry offerings.

Description

This course introduces cloud computing which shifts information systems from on-premises computing infrastructure to highly scalable internet architectures using the Amazon AWS platform. The course provides a basic understanding of cloud computing technologies and provides students with the abilities to configure, deploy, and manage cloud facilities including simple and complex compute instances, web servers, and web services. The course also demonstrates/makes available the AWS Educate platform for educational, industry career path guidance and career opportunities.

Course Objectives

The student will be able to:

  1. Understand and describe the cloud computing model, history, vendor perspectives, and industry offerings
  2. Describe how to obtain and actually obtain an Amazon (AWS) account and an Amazon Educate account
  3. Understand the current cloud commercial and technical environments
  4. Explain the current AWS cloud services, including computing, global infrastructure, and data center deployments
  5. Understand and navigate the AWS Management Console to manage AWS services and understand the basics of the Identity and Access Management (IAM) interfaces
  6. Describe the basics of AWS services costs, costs management, billing, and budgeting basic tools
  7. Create a basic web server on the AWS platform, enable domain services, and upload website content
  8. Demonstrate how to implement an example web service (AWS Polly), access it, and understand pricing
  9. Understand AWS Elastic Compute Services, including instance types, machine images, and pricing
  10. Explain the purpose and use of the AWS Elastic Cloud (EC 2)
  11. Demonstrate how to utilize AWS educational and career offerings

Course Content

  1. Cloud computing fundamentals
    1. History
    2. Business drivers
    3. Basic concepts and terminology
    4. Goals/benefits
    5. Risks and challenges
    6. Vendor perspectives
    7. Infrastructure as a service (IaaS)
    8. Platform as a service (PaaS)
    9. Software as a service (SaaS)
  2. AWS access
    1. AWS account acquisition
    2. AWS Educate account acquisition
  3. Cloud adoption
    1. Current state of the cloud
    2. Business benefits and challenges of cloud services
    3. Cloud services offerings in the marketplace
    4. Case studies of AWS customers
  4. Cloud services from AWS
    1. Computing with AWS
    2. The AWS platform
    3. AWS global infrastructure
    4. Data center concepts
  5. Managing the AWS platform
    1. Understanding the AWS management console
  6. AWS Identity and Access Management (IAM)
    1. Understanding the IAM service
    2. IAM users, principals, groups, policies roles
    3. IAM user management
  7. AWS billing, costs, and cost monitoring
    1. Pricing concepts
    2. Free tier offering
    3. Establishment of budgets
    4. Creation of billing alarms
    5. Billing estimation and monthly calculator
  8. CloudWatch metrics
    1. CloudWatch fundamentals
    2. CloudWatch billing alarms
  9. S3 Simple Storage Service
    1. S3 storage options and pricing
    2. S3 bucket and object manipulation
    3. S3 static website operation
  10. Amazon Machine Learning (ML) services
    1. Amazon Polly Text to Speech (TTS) service
    2. Amazon Transcribe Speech to Text service
    3. Amazon Translate service
  11. Serverless computing
    1. Serverless principles and concepts
    2. Introduction to AWS Lambda
    3. AWS Lambda pricing
    4. AWS Lambda IDE development and functional testing
  12. Unstructured (NoSQL) database
    1. Basic database concepts
    2. Introduction to DynamoDB modes and pricing
    3. Creating and querying of NoSQL tables
  13. Amazon AWS Elastic Compute Cloud (EC2) services
    1. Introduction to virtual machines
    2. Overview of EC2 services and instance types
    3. EC2 tenancy and pricing models
    4. Amazon Machine Image (AMI) fundamentals
    5. Deployment of sample webserver
  14. Introduction to Linux and EC2
    1. Linux fundamental concepts
    2. Launching an EC2 instance running Linux
    3. Remote connections to EC2 instance running SSH
    4. Demonstration of EC2 Linux commands
  15. AWS support services and pricing
  16. AWS architecture best practices and tools
    1. Introduction to the AWS Well-Architected framework
    2. AWS Trusted Advisor
  17. Cloud careers via AWS Educate
    1. Learning program features
    2. Portfolio, certificates, and career postings
  18. EC2 fault tolerance
    1. Fault tolerance concepts
    2. Elastic load balancing using AWS ELB
    3. Fault tolerance architecture and testing
  19. AWS professional certifications
    1. Foundation Level
    2. Associate Level
    3. Specialty
    4. Professional Level

Lab Content

  1. Essay reflections on cloud services with focus on XaaS (X as a Service)
  2. Setup and confirmation of AWS account and AWS Educate account. Application for promotion code
  3. Essay reflection on AWS cloud services overview
  4. Review categories of AWS services
  5. Create/configure and utilize an AWS Identity and Access Management (IAM) user account
  6. Create an AWS budget and alert allowing spending oversight using both AWS Budgets and AWS CloudWatch
  7. Demonstrate competency on AWS S3 object storage. Estimate S3 pricing based on different models and utilizations. Create a simple static website in AWS
  8. Demonstrate how to deploy a simple microservice using AWS Lambda serverless compute service and define costs
  9. Demonstrate how to deploy a simple object database using AWS DynamoDB and define costs of different usage models
  10. Demonstrate AWS Polly TTS, AWS Transcribe STT, and AWS Translate ML service, and explain costs
  11. Use Amazon EC2 services to create an EC2 WordPress instance and manage the service
  12. Use Amazon EC2 services to create an EC2 instance running Linux, remotely SSH to the instance, and demonstrate basic Linux commands
  13. Demonstrate the services provided and cost structures for AWS support services
  14. Class project:
    1. Build an operational web service business utilizing AWS services, including:
      1. Authorization/authentication using AWS Cognito
      2. Static website content service using AWS S3
      3. Deployment of application code using JavaScript
      4. Applications Program Interface using AWS API Gateway
      5. Microservices business logic using AWS Lambda
      6. Back-end object storage using AWS DynamoDB
    2. Create a business presentation of the above project detailing the technologies learned in the class as well as the business aspects of the project such as architectures, design choices, performance, and costs

Special Facilities and/or Equipment

1. Access to a computer with a web browser compatible with the Foothill learning management system and the AWS Console.
2. A payment method for accessing AWS services (credit/debit/stored value card). AWS as a commercial service requires all accounts to be paid for accounts. AWS will provide credits and no actual spending with normal class use would be incurred.
3. A learning management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on campus (i.e., face-to-face) offerings.
4. The college will provide a fully functional and maintained course management system through which the instructor and students can interact.
5. Students must have email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

Methods of Evaluation may include but are not limited to the following:

Tests and quizzes
Written laboratory assignments which include detailed instructions, sample runs, and documentation
Course project which will demonstrate ability to independently deploy a complex, real world service and evaluate from the service from a business perspective
Final examination

Method(s) of Instruction

Methods of Instruction may include but are not limited to the following:

Lectures which include motivation for the architecture of the specific topics being discussed
In-person or online labs (for all sections, including those meeting face-to-face/on campus), consisting of:
1. An assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each assignment and submit their completed lab work
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members
Detailed review of laboratory assignments which includes specific comments on the student submissions
In-person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing, and analyzing programs
When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment
2. Additional instructional guidelines for this course are listed in the addendum of C S department online practices

Representative Text(s) and Other Materials

All course materials provided by instructor through the online course management system.

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

  1. Reading:
    1. Reading the supplied handouts and modules averaging 30 pages per week
    2. Reading online resources as directed by instructor though links pertinent to the course
    3. Watching video presentations by AWS and other cloud providers as contained in the course
    4. Reading library and reference material directed by instructor through course handouts
  2. Writing:
    1. Writing technical prose documentation that supports and describes the programs that are submitted for grades

Discipline(s)

Computer Science