AWS Academy Cloud Developing

Course version

This course outline applies to version 2.0 of AWS Academy Cloud Developing in English.

Description

AWS Academy Cloud Developing is an AWS Academy course designed to help students develop technical expertise in development using cloud technologies. The curriculum is delivered through instructor-led classes, digital videos, knowledge checks, and hands-on labs. Throughout the course, students will explore a scenario that provides opportunities to build a variety of infrastructures through a guided, hands-on approach. Students have access to course manuals, online knowledge checks, hands-on labs, a free practice certification exam, and a discount voucher for the certification exam.

Curriculum objectives

Upon completion of this course, students will be able to do the following:

  • Recall cloud computing services and models
  • Describe developing on AWS
  • Write code that interacts with Amazon S3 by using AWS SDKs
  • Explain the role of AWS IAM
  • Write code that interacts with Amazon DynamoDB by using AWS SDKs
  • Explain caching with Amazon CloudFront and Amazon ElastiCache
  • Configure containers
  • Develop solutions with SQS and SNS
  • Write code that interacts with Aws Lambda by using AWS SDKs
  • Create a REST API by suing Amazon API Gateway
  • Describe the use of AWS Step Functions
  • Explain how to build secure applications
  • Identify best practice for deploying applications

Duration

Approximately 40 hours. AWS Academy Cloud Developing is designed to be delivered over a semester. Actual delivery times will vary from class to class and depending on delivery format. This course must be delivered over a period of at least 4 weeks.

Intended audience

Undergraduate, graduate, or professional students who are seeking cloud developing expertise, and who must understand the scope of cloud architectures. This intermediate (level 200) course is intended for students attending AWS Academy member institutions.

Student prerequisites

AWS Academy Cloud Developing requires a strong foundation in IT concepts and skills. To ensure success in this course, students should have the following:

  • Completed the AWS Academy Cloud Foundations course or have equivalent experience
  • Completed a unit in programming with Python, and have the ability to read and develop simple applications
  • A working knowledge of distributed systems
  • A working knowledge of general networking concepts
  • A working knowledge of multi-tier architectures

Delivery methods

Learning materials are provided to support in-person or online synchronous delivery. Educators may record their lectures for asynchronous delivery.

Educator prerequisites

This course does not have any prerequisites for educators. However, prior to facilitating this course, educators are recommended to complete this course, and pass the AWS Certified Developer Associate exam.

Learning resources

  • Recorded lectures
  • Recorded demos
  • Lecture materials
  • Educator demo instructions
  • Practical activities
  • Lab exercises
  • Instructor guide
  • Student guide
  • Knowledge checks

Course timing

This table lists the module timing in this course. Note that the total classroom time for all the modules in this course is 2,400 minutes (40 hours).

Items that are not applicable are marked NA.

  Module Title  Lecture (Minutes)Exercise/Lab/ Demo (Minutes)Knowledge Check (Minutes)Total Classroom Timing  Digital Lecture (Minutes)
AWS Review (optional)60NANA60NA
Module 1: Welcome to AWS Academy Cloud Developing (ACD)  30  20  NA  50  18
Module 2: Introduction to Developing on AWS  65  45  10  120  35
Module 3: Developing Storage Solutions  60  60  10  130  27
Module 4: Securing Access to Cloud Resources  80  20  10  110  45
Module 5: Developing Flexible NoSQL Solutions  80  90  10  180  52
Module 6: Developing REST APIs  110  120  10  240  75
Module 7: Developing Event- Driven Serverless Solutions  90  105  10  205  35
Module 8: Introducing Containers and Container Services  95  180  10  285  40
Module 9: Caching Information for Scalability  95  180  10  285  42
  Module Title  Lecture (Minutes)Exercise/Lab/ Demo (Minutes)Knowledge Check (Minutes)Total Classroom Timing  Digital Lecture (Minutes)
Module 10: Developing with Message  100  105  10  215  64
Module 11: Defining Workflows to Orchestrate Functions    70    100    10    180    24
Module 12: Developing Secure Applications on AWS  70  90  10  170  34
Module 13: Automating Deployment with CI/CD Pipelines  60  90  10  150  22
Module 14: Bridging to Certification  20  NA  NA  20  10
Total Course Timing107512051202400 

Module sections

This section lists the module sections in this course.

AWS Review (optional)

  • Introduction to the AWS Cloud
    • Overview of AWS Infrastructure
    • Running Applications in the Cloud
    • Introduction to Amazon EC2, Elastic Load Balancing, and Amazon EC2 Auto Scaling
    • Introduction to Serverless Computing with AWS Lambda
    • From Monoliths to Microservices
    • Best Practices

Module 1: Welcome to AWS Academy Cloud Developing (ACD)

  • Course Objectives and Overview
    • Café Business Case Introduction
    • Roles in Cloud Computing
    • Class Exercise: AWS Documentation Scavenger Hunt

Module 2: Introduction to Developing on AWS

  • Introduction
    • Systems Development Lifecycle
    • Steps to Get Started Developing on AWS
    • Demonstration: AWS Cloud9
    • Fundamentals of Working with AWS SDKs
    • Lab 2.1: Exploring AWS CloudShell and the AWS Cloud9 IDE
    • Knowledge Check

Module 3: Developing Storage Solutions

  • Introduction
    • Introducing Amazon S3
    • Creating S3 Buckets
    • Working with S3 Objects
    • Protecting Data and Managing Access to Amazon S3 Resources
    • Lab 3.1: Working with Amazon S3
    • Knowledge Check

Module 4: Securing Access to Cloud Resources

  • Introduction
    • Activity: Shared Responsibility Model
    • Introducing AWS Identity and Access Management (IAM)
    • Authenticating with IAM
    • Demonstration: Configuring Cross-Account Access to AWS Resources
    • Authorizing with IAM
    • Demonstration: Creating IAM Users and IAM Groups
    • Authorizing with IAM
    • Knowledge Check

Module 5: Developing Flexible NoSQL Solutions

  • Introduction
    • Introducing AWS Database Options
    • Key Concepts for Amazon DynamoDB
    • Partitions and Data Distribution
    • Secondary Indexes
    • Read/Write Throughput
    • Activity: Calculating RCU and WCU
    • Streams and Global Tables
    • Backup and Restore
    • Basic Operations for Amazon DynamoDB Tables
    • Lab 5.1: Working with Amazon DynamoDB
    • Knowledge Check

Module 6: Developing REST APIs

  • Introduction
    • Introducing APIs
  • Introduction to Amazon API Gateway
    • Creating a REST API
    • Integrating with API Gateway
    • Deploying an API
    • Controlling Access to a REST API
    • Monitoring a REST API
    • Optimizing API Gateway
    • Lab 6.1: Developing REST APIs with Amazon API Gateway
    • Knowledge Check

Module 7: Developing Event-Driven Serverless Solutions

  • Introduction
    • Introducing Serverless Computing
    • Introducing AWS Lambda
    • Invoking Lambda Functions
    • Setting Permissions for Lambda
    • Authoring and Configuring Lambda Functions
    • Deploying Lambda Functions
    • Monitoring and Debugging Tools for Application Developers
    • Demonstration: Using AWS X-Ray with Lambda
    • Lab 7.1: Creating Lambda Functions Using the AWS SDK for Python
    • Knowledge Check

Module 8: Introducing Containers and Container Services

  • Introduction
    • Introducing Containers
    • Introducing Docker Containers
    • Lab 8.1: Migrating a Web Application to Docker Containers
    • Using Containers for Microservices
    • Introducing AWS Container Services
    • Deploying Applications with Elastic Beanstalk
    • Lab 8.2: Running Containers on a Managed Service
    • Knowledge Check

Module 9: Caching Information for Scalability

  • Introduction
    • Caching Overview
    • Caching with Amazon ElastiCache
    • Lab 9.1: Caching Application Data with ElastiCache
    • Caching with Amazon CloudFront
    • Caching Strategies
    • Lab 9.2: Implementing CloudFront for Caching and Application Security
    • Knowledge Check

Module 10: Developing with Messaging Services

  • Introduction
  • Processing Requests Asynchronously
    • Introducing Amazon SQS
    • Working with Amazon SQS Messages
    • Configuring Amazon SQS Queues
    • Introducing Amazon SNS
    • Developing with Amazon SNS
    • Demonstration: Working with Amazon Messaging Services
    • Introducing Kinesis Data Streams
    • Lab 10.1: Implementing a Messaging System Using Amazon SNS and Amazon SQS
    • Knowledge Check

Module 11: Defining Workflows to Orchestrate Functions

  • Introduction
    • Coordinating Tasks in Distributed Applications
    • Introducing AWS Step Functions
    • State Types
    • Step Functions Use Cases
    • Step Functions API
    • Demonstration: Creating Simple Calculators Using Step Functions
    • Lab 11.1: Orchestrating Serverless Functions with AWS Step Functions
    • Knowledge Check

Module 12: Developing Secure Applications on AWS

  • Introduction
    • Securing Network Connections
    • Authenticating with AWS STS
    • Authenticating with Amazon Cognito
    • Lab 12.1: Implementing Application Authentication Using Amazon Cognito
    • Knowledge Check

Module 13: Automating Deployment Using CI/CD Pipelines

  • Introduction
    • Introducing DevOps
    • Using AWS Code Services for CI/CD
    • Deploying Applications with AWS CloudFormation
    • Deploying Applications with AWS SAM
    • Lab 13.1: Automating Application Deployment Using a CI/CD Pipeline

Module 14: Bridging to Certification

  • Certifications and Resources
    • Additional Resources

Optional: Instructor Sandbox

Lab: Sandbox

Leave a comment