Skip to main content

Building a Full-Stack Serverless Application on AWS

Course

Intro Video

Photo of Moosa Khalid

Moosa Khalid

AWS Training Architect II

Length

05:16:39

Difficulty

Intermediate

Videos

21

Hands-on Labs

6

Course Details

In this course, we'll be building on serverless fundamentals and explore how we can leverage various AWS services to build a basic full-stack (front end, business logic, and back end) application without any virtual machines or servers to maintain. Knowledge of serverless fundamentals is expected prior to this course, as we'll be more hands-on and see it work firsthand, building confidence in the benefits it provides. Some of the AWS services we'll work on during this course are:

S3CloudFrontLambdaRDS Aurora Serverless

Interactive Diagram: https://interactive.linuxacademy.com/diagrams/ServerlessApplicationonAWS.html

Syllabus

Course Introduction

Course Introduction

00:01:32

Lesson Description:

This is a course introduction video where we'll go through the syllabus and scope of this course.

About the Training Architect

00:01:11

Lesson Description:

Get to know the Training Architect who'll be taking you through this course!

AWS Free Tier: Usage tracking and Billing Widget

00:03:38

Lesson Description:

Learn how to be savvy using AWS and not get carried away with spending too much on your AWS resources while learning!

What You Should Know Beforehand: Prerequisites

00:00:48

Lesson Description:

Be sure to go through this video to learn about this course's prerequisites. This is an intermediate-level course, so some experience or knowledge of AWS, Linux, and Python programming language is expected.

Serverless Defined

Why Use Serverless?

00:03:38

Lesson Description:

It's a popular buzzword and has been for a while: serverless. In this video, we'll go over why serverless is a popular platform and its benefits.

Serverless Architectures

00:03:55

Lesson Description:

In this video, we describe what components generally make up a fully serverless application as well as what type of application architectures serverless allows us to build and their benefits.

Limitations of Serverless

00:03:27

Lesson Description:

In this final video of the section, we briefly discuss some limitations of serverless and that — despite its many benefits and cost savings — one needs to ensure their use case suits serverless, as well as how to adapt to serverless platforms.

Front-End Serverless Layer: S3 and CloudFront

Overview

00:04:10

Lesson Description:

In this video, we discuss the traditional vs. serverless front-end component of an application/website. We also briefly take a look at what AWS S3 and AWS CloudFront services have to offer in helping us with a serverless front end.

Setting Up AWS S3 as a Standalone Website via Console

00:08:30

Lesson Description:

In this video, we go through the features and limits of what we can achieve with Amazon S3 when using it to host a website. We then run through the steps to create an S3 bucket, enable the S3 website hosting property, attach appropriate S3 policies and upload content to be hosted via our S3 website bucket, and verify everything works as expected.

AWS CloudFront as an HTTPS Endpoint Provider

00:09:23

Lesson Description:

In this lesson, we go through how we can use AWS CloudFront not only as a caching service for your website objects but also to provide a layer of security by providing an HTTPS termination endpoint. We then demonstrate this concept through the AWS Management Console GUI.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:30:00

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

01:00:00

Application Layer: AWS Lambda Functions

Overview

00:04:59

Lesson Description:

In this video, we cover the concepts and features of AWS Lambda functions and take a brief look at what goes on behind the scenes of the Lambda service.

Creating a Lambda Function and Lambda IAM Execution Role

00:08:00

Lesson Description:

In this video, we go over the creation of Lambda functions. We also talk about why Lambda needs IAM roles to be assigned. Finally, we create a Lambda function and discuss the Lambda basic execution IAM role.

Event Triggers for AWS Lambda

00:12:22

Lesson Description:

Event triggers are an essential part of serverless functions in general and specifically AWS Lambda. In this video, we discuss what event triggers are and the different types. Then, we demonstrate a working S3 event trigger, which invokes an AWS Lambda function. We also see what a basic Lambda IAM execution role is and how to modify it to allow Lambda to reach out to the SNS service to publish messages. The code used in the video can be copied from here: https://raw.githubusercontent.com/linuxacademy/content-Serverless-AWS/master/Section4-AppLayer/lambda_function_lessonVideo.py

Testing and Debugging Lambda Functions

00:09:30

Lesson Description:

This lesson is all about debugging and testing AWS Lambda functions. In this video, we go over creating a test event to invoke our Lambda function as well as discuss the various services one can use within the AWS realm to test performance, execution of functions, and debugging them. We finish off by testing and debugging a Lambda function in the AWS console using CloudWatch Logs and Lambda test events.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

01:00:00

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:45:00

Back-End Data Persistence Layer: AWS Aurora Serverless

Overview

00:03:09

Lesson Description:

This video offers an overview of data persistence and how it relates to serverless architectures.

What Is Amazon Aurora Serverless?

00:03:21

Lesson Description:

In this video, we dive a bit deeper into what Amazon Aurora Serverless is and its benefits at a glance.

Aurora Serverless Concepts

00:09:05

Lesson Description:

In this video, we dive into what goes on in the back end of Aurora Serverless to make it highly available as well as flexible. We also discuss properties of Aurora and creating and connecting to Amazon Aurora Serverless instances using the AWS Management Console and Query Editor via the RDS console.

Integrating Aurora Serverless with Lambda Functions

00:12:18

Lesson Description:

In this video, we discuss the workflow for setting up an Aurora Serverless DB and Lambda function integration as well as its requirements. Then, we go through a demonstration via the AWS Management Console.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:45:00

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

01:45:00

Monitoring Serverless Application Metrics

Metrics and CloudWatch Dashboard for Serverless

00:16:19

Lesson Description:

In this video, we learn how to leverage AWS CloudWatch and the readily available metrics it provides for components of serverless services to build meaningful monitoring dashboards. We also discuss which metrics to monitor.

Conclusion

What's Next?

00:01:29

Lesson Description:

The possibilities with serverless are limitless. In this video, we discuss our other courses that can help extend your knowledge and command over what you've learned, as well as how to participate in our fast-growing and highly active community of global learners.

Get Recognized!

00:00:46

Lesson Description:

Get recognized for all the skills you've gained throughout your learning in this course. Demonstrate your hands-on skills to the world!