Building a Full-Stack Serverless Application on AWS
AWS Training Architect II
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
This is a course introduction video where we'll go through the syllabus and scope of this course.
About the Training Architect
Get to know the Training Architect who'll be taking you through this course!
AWS Free Tier: Usage tracking and Billing Widget
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
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.
Why Use Serverless?
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.
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
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
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
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
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.
Application Layer: AWS Lambda Functions
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
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
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
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.
Back-End Data Persistence Layer: AWS Aurora Serverless
This video offers an overview of data persistence and how it relates to serverless architectures.
What Is Amazon Aurora Serverless?
In this video, we dive a bit deeper into what Amazon Aurora Serverless is and its benefits at a glance.
Aurora Serverless Concepts
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
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.
Monitoring Serverless Application Metrics
Metrics and CloudWatch Dashboard for Serverless
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.
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 for all the skills you've gained throughout your learning in this course. Demonstrate your hands-on skills to the world!