COMP 490 – Cloud Architecting – Winter 2022

Course Outline: The COMP 490 Cloud Architecting course covers the fundamentals of building advanced IT infrastructure in the cloud using Amazon Web Services (AWS). Students will learn how to build compute, storage, database and networking solutions in the cloud for typical use cases (e.g., a Data Analytics pipeline or a web portal). Throughout the course, students will explore case studies that showcase how AWS customers have designed their infrastructures and the strategies and services that they have implemented. This course is hands-on, in that it provides opportunities for students to build a variety of infrastructures through guided labs. This course is given in partnership with AWS Academy, and students will have the necessary background to take the AWS Certified Solutions Architect – Associate exam. Interested students will be given an exam voucher.

When and Modality: Winter session 2022/23, from December 17, 2022, to January 13, 2022, asynchronous & online. There is going to be an organizational meeting at the beginning (Monday December 19 at 7pm; Zoom link to be given), and weekly office hours.

Instructor: Michael Soltys, michael.soltys@csuci.edu, professor and chair of Computer Science, and an accredited AWS instructor. CSU Channel Islands is part of the AWS Academy, and authorized to deliver the curriculum.


COURSE DETAILS

  1. Course outline: AWS Academy Architecting
  2. This course is open to students of all backgrounds, as it covers the cloud from the beginning; a course such as COMP 347 is helpful.
  3. There is no textbook for the course, and all the materials, including AWS accounts and labs, will be given to students free of charge.
  4. We are going to use the AWS Canvas page. Invitations to join the Canvas page will be sent before the start of course:
  5. The requirement for the class is a standard web browser and a WiFi connection.
  6. The grade will be given based on online work: knowledge checks and labs.

Course objectives:

  1. Describe how cloud adoption transforms the way IT systems work
  2. Describe the benefits of cloud computing with Amazon Web Services
  3. Discuss how to design systems that are secure, reliable, high-performing, and cost efficient
  4. Describe principles to consider when migrating or designing new applications for the cloud
  5. Identify the design patterns and architectural options applied in a variety of use cases
  6. Define high availability, fault tolerance, and scalability
  7. Discuss how to avoid single points of failure
  8. List AWS services that have built-in fault tolerance or can be designed for fault tolerance
  9. Describe why load balancing is a key architectural component for AWS-powered applications
  10. Identify the benefits of Infrastructure as Code
  11. Describe how to leverage the capabilities of AWS to support automation
  12. Create, manage, provision, and update related resources using AWS CloudFormation
  13. Articulate the importance of making systems highly cohesive and loosely coupled
  14. Describe system coupling to support the distributed nature of applications built for the cloud
  15. Describe database services for storing and deploying web-accessible applications
  16. Compare structured query language (SQL) databases with NoSQL databases
  17. Describe how the AWS Well-Architected Framework improves cloud-based architectures
  18. Describe the business impact of design decisions
  19. Identify the design principles and best practices of the Operational Excellence pillar
  20. Describe how to secure data at every layer in the application
  21. Describe the appropriate tools and services to provide security-focused content
  22. Describe the design principles and best practices of the Reliability pillar.
  23. Select compute, storage, database, and networking resources to improve performance
  24. Evaluate the most important performance metrics for your applications
  25. Follow best practices to eliminate unneeded costs or suboptimal resources
  26. Troubleshoot common errors

ABET Student Learning Outcome:

  1. ABET Student Learning Outcome (2): Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.

what is cloud computing?