C S 55J: AWS CERTIFIED SOLUTIONS ARCHITECT ASSOCIATE PREPARATION
Foothill College Course Outline of Record
Heading | Value |
---|---|
Effective Term: | Summer 2021 |
Units: | 4.5 |
Hours: | 4 lecture, 2 laboratory per week (72 total per quarter) |
Advisory: | C S 30A, 55A, 55B, 55C, 55D, 55G, or equivalent knowledge and experience. |
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
- The student will be able to identify the value and benefits of Cloud computing and AWS from the architectural perspective
- The student will demonstrate the use of AWS services to make their cloud infrastructure scalable
Description
Course Objectives
The student will be able to:
- Identify the value and benefits of Cloud computing and AWS from the architectural perspective
- Explain the financial advantages of the AWS Cloud
- Navigate the AWS Management Console
- Differentiate between AWS storage options
- Describe and use AWS database options
- Identify deployment and management options
- Make decisions based on recommended architectural principles and best practices
- Create a cloud migration roadmap and plan
- Use AWS to make infrastructure scalable
- Create a business continuity plan and achieve high availability
- Create event-driven scaling
- Automate the deployment of Cloud resources
- Optimize data storage for static content
- Identify best practices prescribed in the Well-Architected Framework
- Identify and solve common configuration and design issues
- Differentiate between architectures for data processing and analytics, mobile back-ends, and video transcoding
Course Content
- Environment design
- Regions choice
- Availability zones
- Virtual Private Cloud (VPC)
- Dividing VPCs and default subnets
- Controlling VPC traffic
- Connecting multiple VPCs
- Integrating on-premises components
- Designing for high availability
- High availability
- Load balancing and fault tolerance
- High availability across regions
- Connections outside of AWS
- Scaling
- Best practices
- Determining need for scaling
- Automatic scaling
- Scaling data stores
- AWS Lambda and event-driven scaling
- High availability
- Infrastructure automation
- Manual environment configuration
- Infrastructure as code on AWS
- Grouping resources in a template
- Resources not supported by AWS CloudFormation
- Infrastructure decoupling
- Loose coupling
- Loose coupling strategies
- Communications easily and reliably between components
- Communicating with loose coupling and Amazon DynamoDB
- Amazon API Gateway
- Serverless architectures
- Decoupling examples
- Designing web-scale media
- Storing web-accessible content with Amazon S3
- Caching with Amazon CloudFront
- Managing NoSQL databases
- Storing relational data in Amazon RDS
- Well-Architected Framework
- Pillars of the Well-Architected Framework
- Well-Architected design principles
- Pillars
- Operational excellence
- Security
- Reliability
- Performance efficiency
- Cost optimization
- Troubleshooting
- Support options
- Design patterns and sample architectures
- High availability patterns
- Stream processing
- Sensor network data ingestion and processing
- Back end processing
- Transcoding and serving video files
Lab Content
- Making your environment highly available
- Using notifications to trigger AWS Lambda
- Automating infrastructure deployment with AWS CloudFormation
- Implementing a serverless architecture with AWS Managed Services
- Introducing Amazon CloudFront
- Multi-region failover with Amazon Route 53
Special Facilities and/or Equipment
2. 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.
3. The college will provide a fully functional and maintained course management system through which the instructor and students can interact.
4. Students must have email accounts and ongoing access to computers with internet capabilities.
Method(s) of Evaluation
Subject assessments and quizzes
Laboratory assignments which include detailed instructions, sample runs and documentation
Final examination
Method(s) of Instruction
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 model solutions and 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 attached addendum of CS department online practices
Representative Text(s) and Other Materials
Bahga, Arshdeep, and Vijay Madisetti. Cloud Computing Solutions Architect: A Hands-On Approach, A Competency-based Textbook for Universities and a Guide for AWS Cloud Certification and Beyond. 2019.
Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments
- Reading:
- Textbook assigned reading averaging 30 pages per week.
- Reading the supplied handouts and modules averaging 10 pages per week.
- Reading online resources as directed by instructor though links pertinent to programming.
- Reading library and reference material directed by instructor through course handouts.
- Writing:
- Writing technical prose documentation that supports and describes the programs that are submitted for grades.