Lambda Deep Dive
July 24th, 2018
Serverless architecture is rapidly growing and gaining a strong foothold in today's businesses. AWS Lambda provides the ability for developers and teams to focus strictly on their code, not having to worry about the infrastructure that hosts it.
This Amazon Web Services Lambda Deep Dive will take you in for a low-level look at the service and it's core concepts so you can utilize it to meet your needs! We have set up several lessons, hands-on live activities, and real-world scenarios for you to use to learn as much as possible.
Now, let's get serverless!
Hello, and welcome to this Lambda Deep Dive course! This course walks through the AWS Lambda service, starting at a foundational level and working down to a much deeper level. Our goal for this course is to help teach you just about everything you need to know about it!
About the Course Author
Allow me to introduce myself!
How to Use The Lambda Cipher
We have created and provided an interactive LucidChart diagram for you to explore! Be sure to check it out when you get time; it will help reinforce some of the fundamental concepts learned in this course. Access The Lambda Cipher HERE!
Course Features and Tools
There are a large variety of tools available to you in this course, all of which are explained in this lesson.
AWS Free Tier: Usage Tracking and Billing Widget
This video gives you a walkthrough on how to use the AWS Free Tier Tracking and Billing Widget for you own AWS Account!
AWS Lambda Introduction
AWS Lambda Basics
This video lesson discusses what we plan on covering within the next few videos. We will discuss many different fundamental concepts that are critical to understanding Lambda and serverless as a whole.
What is AWS Lambda?
What exactly is AWS Lambda? When and why would you want to use it? Well, this lesson dives into the overall essential knowledge you need to know about Lambda in order to get started.
What does Serverless mean? We will take a deep look at Event-driven architecture and how it all ties in with serverless applications; worry about the code and events, not the infrastructure!
Lambda Limitations and Retries
Lambda is fantastic, and it can do numerous, glorious things, but there ARE limits. This lesson will discuss some of the limitations of Lambda and how failures are handled.
Section Conclusion and Summary
Let's wrap up this section and review what we covered!
Lambda Core Essentials
Getting Started with Lambda
Let's discuss what we plan on learning during the next several video lessons! We get to start learning via some hands-on experience with Lambda!
Diving Into Lambda
Now that you have learned the fundamentals of how AWS Lambda works, as well as learned the concept of event-driven based serverless architecture, we can get with some in-depth learning! Here we will go over the basics of getting started with Lambda as well as which AWS Services integrate with Lambda, and how those services work in real life scenarios!
Creating a Function using the Console Part I
Using the console, we will start to go through the basic fundamentals of creating a Lambda function via the AWS Console. This will help you get a grasp on how easy it is to create a function yourself, which we accomplish in the next video!
Creating a Function using the Console Part II
In this second part of creating a function, we are going to discuss the fundamental components of Lambda function design and finally create our first function! Serverless is a go!
Logging and Monitoring with Lambda
This lesson touches on how logging and monitoring within Lambda works. We are going to discuss the different AWS services that work with Lambda to provide logging and monitoring.
Invoking Lambda Functions
You’ve now created a function, great! Now, how can we invoke that function? This video will discuss and present the different services within AWS that we can use to invoke your Lambda functions, as well as the different invocation types.
Lambda and CloudWatch
Close Look into CloudWatch Events
CloudWatch Events is a very powerful feature within AWS, and Lambda can utilize these events to invoke our functions. Let’s take a look at what they are and what they can do!
Lambda and AWS CLI
Creating Lambda Functions using AWS CLI
We will create a function similar to the function made in the "Getting Started with Lambda" section. We will create the function and invoke it from the CLI.
Updating Your Lambda Functions from the AWS CLI
You've created a function using the AWS CLI, but what happens when you need to make some changes? Do you have to delete and then re-create the function? Nope! This video will go through the different commands that you can use to update your existing functions using the AWS CLI! Have no fear, AWS CLI is here!
Viewing Lambda CloudWatch Logs using the AWS CLI
Now that we have created and updated our Lambda functions via the AWS CLI, we need to view the logs for all of the previous invocations. How do we do that? Well, this video walkthrough will show you how we can leverage the AWS CLI to pull down our CloudWatch logs specific to our Lambda functions. What are you waiting for?! Get to logging!
Pull Events, Push Events, and Permissions from the CLI
Okay, so we have the basics covered; we can create functions, update our functions, and view our CloudWatch Logs. Now let’s get into some more advanced scenarios and add in some event source mapping for push and pull based event models. Using the CLI, we can accomplish everything we can do in the console plus more!
Invoking Your Functions from the CLI
I'm sure you're saying "Alright, enough already! Let's get these functions going!". Well, in this video, we're going to go ahead and take a look at invoking our Lambda Functions using the AWS CLI.
Local Testing of Lambda Functions Overview
We’ve almost done it all via the CLI, but there’s one more concept to cover. In this video, we will be utilizing SAM Local to test your Lambda functions locally. Testing locally can drastically speed up testing and deploying for new versions of code.
Using SAM CLI to Test
Now that you have a solid understanding of SAM Local and the SAM CLI, let's put that knowledge to use! In this video topic, we are going to work on going through the process of using SAM Local to deploy and test our serverless applications locally and then package and deploy them to our AWS account; all of this with a few keystrokes! Let's get started.
Code Deployments within Lambda
Introduction to CloudFormation
In this video, we will have a brief introduction to CloudFormation and its uses. This lesson builds a foundation that we will use in the proceeding video where we discuss how we use Lambda with it.
Lambda Deployments Utilizing CloudFormation
It might seem too good to be true, but we can utilize CloudFormation to orchestrate Lambda code deployments within AWS! Let’s go through an example of how to do so!
Working with Lambda Function Versions and Aliases
Versions and aliases within Lambda are an extremely handy, yet overlooked, feature of AWS Lambda. This lesson is going to show you how, and when, to use versioning and aliases. Spoiler Alert! You should always use them.
Creating Versions and Aliases with AWS CLI
Building off of the last lesson, we will now go ahead and create versions and aliases for our Lambda functions; but this time we will be using the CLI!
Core Essentials Section Conclusion and Summary
Section Conclusion and Summary
Alright! You’ve made it through the longest section of this course, congrats! Before we move on, let’s have a quick recap and discussion the important concepts we covered in all the previous videos.
Real World Lambda Use Cases
What should we expect to see in the upcoming section? Well, this video discusses what we plan on covering and why.
Real World Use Case - Using Lambda to Perform Security Tasks
Use Case Overview
Let's discuss the upcoming security based use case at a higher level. We want to lay out what to expect and which services we are going to incorporate in order to accomplish our goals!
Configuring CloudTrail and CloudWatch
CloudTrail and CloudWatch are extremely important AWS services that we will utilize in this upcoming learning activity. So, let's talk about how and why we are going to be using them.
How We Can Use Lambda to Perform Tasks
We can't forget about AWS Lambda! In this video, we will walk through how we plan on leveraging AWS Lambda to complete security-related tasks for us in our AWS environments.
Real World Use Case - Canary Code Deployments
Use Case Overview
What are we doing in these lessons, and why? Let's discuss the real world use and implementation possibilities surrounding Canary testing and deployment.
Creating the Lambda Function and Configuring Weighting
AWS Lambda functions, versions, and aliases are critical in completing our upcoming learning activity. So, let's talk about how we plan on using them to meet our needs!
Real World Use Case - Automate ECS Container Deployments
Use Case Overview
In this video, we will talk about what we will be doing and how it relates to real-world scenarios, specifically handling DevOps related tasks!
Setup and Deploy Simple ECS Cluster
Let's start off by creating and deploying a simple ECS cluster within AWS.
Invoking Lambda With Our CloudWatch Event
In this lesson, we will create a simple CloudWatch Event Rule. The rule will be used to trigger our Lambda function later on in the video.
Lambda White Papers and Documentation
Let’s talk documentation! Everyone loves going through white papers, right?! In this lesson, I will walk through and discuss the different documentation resources that are made available to you by AWS. We will dive into the Developer Guide and the Service Page specific to AWS Lambda.
Section Conclusion and Summary
Congrats! You have made it through the Real World Scenarios section of this course, and in addition to that, the whole course is now complete! Thank you for spending your valuable time with me during this journey, and be sure to reach out with any questions or comments!
Thank you very much for taking this Lambda Deep Dive course! I sincerely appreciate you choosing to spend your valuable time learning from us here at Linux Academy. Hopefully, now you have an in-depth and thorough understanding of AWS Lambda and how it can be used for your needs. Now, go out and there deploy those serverless functions!
You've learned some valuable skills in this course, now it's time to show them off!