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 2023/24, from December 16, 2023, to January 12, 2022, asynchronous & online. There is going to be an organizational meeting at the beginning (Monday December 18 at 5pm; Zoom link to be given to course participants), and weekly office hours.
Instructor: Michael Soltys, firstname.lastname@example.org, 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 outline: AWS Academy Architecting
- 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.
- There is no textbook for the course, and all the materials, including AWS accounts and labs, will be given to students free of charge.
- We are going to use the AWS Canvas page. Invitations to join the Canvas page will be sent before the start of course:
- The requirement for the class is a standard web browser and a WiFi connection.
- The grade will be given based on online work: knowledge checks and labs.
- Describe how cloud adoption transforms the way IT systems work
- Describe the benefits of cloud computing with Amazon Web Services
- Discuss how to design systems that are secure, reliable, high-performing, and cost efficient
- Describe principles to consider when migrating or designing new applications for the cloud
- Identify the design patterns and architectural options applied in a variety of use cases
- Define high availability, fault tolerance, and scalability
- Discuss how to avoid single points of failure
- List AWS services that have built-in fault tolerance or can be designed for fault tolerance
- Describe why load balancing is a key architectural component for AWS-powered applications
- Identify the benefits of Infrastructure as Code
- Describe how to leverage the capabilities of AWS to support automation
- Create, manage, provision, and update related resources using AWS CloudFormation
- Articulate the importance of making systems highly cohesive and loosely coupled
- Describe system coupling to support the distributed nature of applications built for the cloud
- Describe database services for storing and deploying web-accessible applications
- Compare structured query language (SQL) databases with NoSQL databases
- Describe how the AWS Well-Architected Framework improves cloud-based architectures
- Describe the business impact of design decisions
- Identify the design principles and best practices of the Operational Excellence pillar
- Describe how to secure data at every layer in the application
- Describe the appropriate tools and services to provide security-focused content
- Describe the design principles and best practices of the Reliability pillar.
- Select compute, storage, database, and networking resources to improve performance
- Evaluate the most important performance metrics for your applications
- Follow best practices to eliminate unneeded costs or suboptimal resources
- Troubleshoot common errors
ABET Student Learning Outcome:
- 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.