College of Business, Innovation, Leadership, and Technology (BILT)
School of Technology & Innovation
IT-590-A: Topics in Information Technology
Architecting Cloud-Native Solutions with Amazon Web Services (AWS)
Summer 2021
COURSE SYLLABUS
Course Type:
Hybrid
Course Description:
Explores a contemporary topic relating to some aspect of information technology. This course can be repeated for credit with a new topic. Students must achieve a minimum grade of B-.
Broad Purpose of Course:
This project-based course introduces students to core AWS platform services and focuses on building skills and competency in the architecture, design, and automated deployment of cloud-native applications on AWS. Students will learn how to evaluate the pros and cons of various traditional pre-cloud software application architectural styles and how to decompose and deliver cloud-native solutions including serverless and containerized applications. Core services and topics discussed include Networking Fundamentals and Virtual Private Clouds (VPCs), Infrastructure-as-Code via CloudFormation, AWS Console and Command-Line Interface (CLI), Domain Name Service (DNS) fundamentals and Route53, Representational State Transfer Services (REST) and API Gateway, serverless and Lambda functions, decoupling architectural layers with queues and event-driven application design with Simple Queue Service (SQS), high-speed data ingest with Kinesis Streams, and Elastic Cloud Compute (EC2).
Instructor:
Rick Miller, MS Computer Science
California State University Long Beach
Phone: (703) 608-0975
email: richmill@marymount.edu
website: warrenworks.com
Class Hours:
This is a hybrid class. ~75% conducted online with the following on-campus meeting dates:
Location | Dates & Time |
Ballston Center, Room 4004 | Thursday — 27 May 2021 | 6pm – 10pm |
Thursday — 17 June 2021 | 6pm – 10pm | |
Thursday — 15 July 2021 | 6pm – 10pm |
Office Hours:
- During on-campus meeting dates either before, during, or after class
- Via phone or Zoom anytime by appointment
Important Dates To Remember:
Event | Date |
Summer Session III Begins: | 17 May 2021 |
First Day of Class [Zoom Session]: | 20 May 2021 |
Last Day to Drop w/o Academic Record: | 21 May 2021 |
Last Day to Drop w/100% Tuition/Fee Refund: | 21 May 2021 |
First Day to Withdraw with Grade of ‘W’: | 22 May 2021 |
Last Day to Withdraw with 75% Refund: | 26 May 2021 |
Last Day to Withdraw with Grade of ‘W’: | 30 May 2021 |
Last Day of Class: | 29 July 2021 |
Summer Session III Ends: | 31 July 2021 |
Course Objectives:
Upon successful completion of this course students will be expected to:
● Design, develop, and deploy cloud-native solutions using Amazon Web Services (AWS) as the cloud-provider of choice.
● Utilize core AWS services that enable efficient, cost-effective application delivery and sustainment in the cloud.
● Demonstrate practical skills and competencies in the following AWS services: CloudFormation, Route53, API Gateway, Lambda, SQS, SNS, and EC2.
● Talk authoritatively about the differences between traditional and cloud-native applications including cost-benefit analysis and operational efficiencies.
● Design and deploy secure cloud applications using AWS security best-practices.
● Understand the AWS learning and certification paths.
Major Topics
AWS Core Services AWS Global Infrastructure Cost Control & Budgetting Organizations | Users | Roles Security Best Practices Motivation for Cloud Adoption Cloud Migration Strategies Networking Fundamentals Virtual Private Cloud (VPC) |
Infrastructure as Code CloudFormation AWS Command-Line Interface Python Boto3 DevOps Tools & Techniques DevSecOps Event-Driven Architectures Hybrid Cloud Architectures Disaster Recovery |
Serverless Architectures AWS Lambda Serverless Application Model (SAM CLI) Virtual Machines vs. Containers Architecting for High-Availability Well-Architected Framework Decoupling Architectural Layers w/SQS AWS Training Paths to AWS Certification |
Grading:
Students are graded based on their execution of their class project which consists of four components.
Assignment | Grade Percentage |
Project Proposal: | 10% |
Project Design: | 10% |
Project Demonstration: | 30% |
Project Defense: | 50% |
Class Schedule:
Week | Topics Covered | Notes |
0 20 May 2021 |
Welcome |Course Introduction | Overview Icebreaker | Expectations (Not mine, yours!) Class Skills Assessment Motivation for Cloud Adoption AWS Account Creation AWS Management Console Account Billing | Cost Management |Budgets AWS Account Security / MFA Trusted Advisor AWS Organizations GitHub & SSH Configuration IT-590-AWS Code Examples Repository Development Tools Diagramming Tools | Resources Resources Certification
|
Create AWS Account & Organization/suborgs Install Dev Tools Configure AWS CLI Readings on Core Services Due Week 1: 05/27/2021
Project Proposal Due Week 2: 06/03/2021 Free Developer Tools via GitHub’s Education Site
|
1 27 May 2021 (On-Campus Session) |
AWS Core Services Overview Networking Fundamentals IPV4 | IPV6 | CIDR Blocks Virtual Private Cloud (VPC) Simple Storage Service (S3) Developer Tools Infrastructure as Code | CloudFormation (CF)
|
Readings on IAM, EC2, EBS Core Services Quiz Deploy VPC with CloudFormation Due Week 2: 06/03/2021 |
2 3 June 2021 |
Identity. & Access Management (IAM) Roles | Policies Strategies for Service Deployments Legacy Application Architecture Critique Lift-n-Shift Architectures Virtual Machine Concepts Elastic Cloud Compute (EC2) Elastic Block Storage (EBS) (Review Project Proposals)
|
Readings on CloudFront, Route53, S3 Deploy EC2 Instance(s) via Console Deploy EC2 Instances(s) with CF Due Week 3: 06/10/2021
Project Design Due Week 4: 06/17/2021
|
3 10 June 2021 |
Content Delivery with CloudFront Route53 | Routing Options Simple Storage Service (S3) S3 Cross-Region Replication |
Readings on Event-Driven Architectures, Lambda, SAM CLI Deploy simple website via S3 & CloudFront Due Week 4: 06/17/2021
|
4 17 June 2021 (On-Campus Session) |
Event-Driven Architectures Serverless Concepts AWS Lambda SAM CLI (Review/Approve Project Design) |
Readings on API Gateway, SNS, SQS Explore the Serverless Application Repository Due Week 5: 06/24/2021
Project Implementation Due Week 10: 07/29/2021
|
5 24 June 2021 |
API Gateway Application Integration Simple Notification Service (SNS) Simple Queue Service (SQS)
|
Readings on AWS DynamoDB, RDS Deploy Lambda function via CloudFormation Due Week 6: 07/01/2021
|
6 1 July 2021 |
AWS Database Offerings | Overview DynamoDB RDS |
Readings on Well-Architected Framework, Application Load Balancers, Auto Scaling Groups Due Week 7: 07/08/2021
|
7 8 July 2021 |
Architecting for High-Availability Well-Architected Framework Load Balancing Auto Scaling Groups |
Readings on DevOps, DevSecOps, Containerized Applications Due Week 8: 07/15/2021
|
8 15 July 2021 (On-Campus Session) |
DevOps DevSecOps Containerized Applications Containers vs. Virtual Machines Docker | Kubernetes |
Readings on Hybrid Cloud Architectures Due Week 9: 07/22/2021 |
9 22 July 2021 |
Hybrid Cloud Architectures OnPrem -> Cloud Connection Options Cloud Migration Strategies Data Migration Disaster Recovery (Project Demos & Project Defenses) |
Project Defense Due Week 10: 07/29/2021
|
10 |
(Project Demos & Project Defenses Continued) Where To Go From Here |
Final Projects Due |