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 |
|
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 |