703.608.0975 rick@warrenworks.com

marrymount-logo-half

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 2024
COURSE SYLLABUS

Course Type:

In-Person/Classroom

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:

Location Dates & Time
Ballston Center, Room 3066 Thursdays | 6pm – 10pm

 

Office Hours:

  • Before, during, or after class

Important Dates To Remember:

Event Date
First Day of This Class 16 May 2024
Midterm Exam 20 June 2024
Independence Day (No Class) 4 July 2024
Last Day of Class 25 July 2024

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:

I will evaluate you on your class engagement, a midterm exam, and a class project.

Assignment Grade Percentage
Engagement 10%
MidTerm 20%
Project 70%

 

Week Topics Covered Notes
1 Introductions & Ice Breaker
Create AWS Account and Organization/Sub-Orgs
Identity and Access Management (IAM)
Users vs. Roles vs. Policies
Navigating AWS Console
Install AWS Dev Tools
Configure AWS Command Line Interface
Security
Core Services Overview
Bash Fundamentals
Deciphering ASW Documentation
Python Boto3 Package

Windows Users Install: Git For Windows

Course GitHub Repository: https://github.com/pulpfreepress/it-590-aws

Bash Reference: https://www.gnu.org/software/bash/manual/bash.pdf

Assignment: Readings on Core Services

2 Networking Fundamentals
IPV4 | IPV6 | CIDR Blocks
Virtual Private Cloud (VPC)
Infrastructure As Code (IaC)
CloudFormation
CloudFormation Best Practices
Deploying VPC CloudFormation Stack
Deleting CloudFormation Stack
Simple Storage Service (S3)
S3 Bucket Naming To Mantain Your Sanity
Accessing S3 From Console
3 Elastic Cloud Compute (EC2)
Instance Types
PEM Keys
PEM Key Security
Logging Into Windows Instances with Remote Desktop
Logging Into Linux Instances with ssh
Computer Storage
Ephemeral Storage
Elastic Block Storage
CloudFormation
Deploying EC2 Instances via CloudFormation
Secsurity Groups
4

High-Availability Architectures
Load Balancers
Application Load Balancers
Target Groups
Auto Scaling Groups
Elastic File System (EFS)
CloudFormation
Deploying Load-Balanced Linux Web Servers

5 Simple Notification Service (SNS)
Simple Queuing Service (SQS)
DynamoDB
DynamoDB with Global Table
Project Assignment
6 MidTerm 
Serverless Architecture
Lambda
APIGateway
Route53
AWS Certificate Manager
7 Relational Database Service (RDS)
8 Student Requested Topics
9 Help With Projects
10 Demo Projects