Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.

AWS Lambda 2016 - The Complete Guide (With Hands On Labs)

Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.

A little bit of coding experience helps -- ie. what is a function, a variable, etc

Some experience using the command-line/terminal helps

Description

AWS Lambda is changing the way that we build systems in the cloud. This new compute service in the cloud runs your code in response to events, automatically managing the compute resources for you. This makes it dead simple to create applications that respond quickly to new information. Lambda is the backbone of Serverless Computing with AWS.

This is a comprehensive course that will teach you how to write, deploy, scale and manage lambda functions. Armed with this knowledge you'll be able to architect solutions from tiny composable microservices that scale massively and respond almost in real time.

In this course we'll take you through the entire Lambda journey. From setting up your local environment, writing your first Lambda function, to deploying interesting and unique lambda functions that will help you massively scale your operations.

In this lecture, we'll cover a little bit about the underlying parts of the Lambda service and help you understand the programming model. Knowing this, you'll understand how timeouts affect the application you're writing and what event sources are available to you.

We're going to start applying our knowledge in Lab 0, where we won't be setting up any event sources. Instead, we'll focus on learning how to use the AWS console to create and manage Lambda functions.

To do this lab (and all subsequent ones) you'll need to go to https://aws.amazon.com/ to create an account. The labs for this course all qualify for the free tier, so you won't be charged for the resources you use. For more information on creating and activating your AWS account, follow these instructions https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/

Finally! Learn to set up your first Lambda function, and see a hello world example on NodeJS version 4.3.

Blueprints and Handlers

01:18

Start your first Lambda function using the AWS console. We'll add in our hello world code and create security credentials so our function can run.

Using The Console

02:56

Learn about different memory and performance parameters on Lambda functions and get ready to take your function for a spin.

Create The Function

01:13

Test your function from the AWS console in the browser, then check that the output is saved (and searchable!) in AWS CloudWatch.

After this lecture, you'll have a much better understanding of what AWS CloudWatch is used for and how to take full advantage of it to manage and debug your Lambda function.

Testing And Logging

03:43

+–

Expanding Our Knowledge with Lambda & S3

8 Lectures
20:28

In this lab, we'll learn how to write a Node.js application that processes Comma Separated Value (CSV) files as they are uploaded to S3.

Introduction

00:46

For this lab we'll also be making use of the AWS command-line tool to upload code and view settings on our function. The CLI tool is extremely powerful, and makes it possible to script the deployment of Lambda functions to make it more repeatable.

Install The AWS Command Line Tool

01:39

Before we can react to S3 events, we'll need an S3 bucket. Remember that these names are GLOBALLY unique so you'll need to pick a unique name, otherwise you won't be able to continue.

Create An S3 Bucket

02:42

Learn how to make an event trigger from the AWS console, connecting events in your S3 bucket to the Lambda function we'll be making later in the lab.

Create an IAM role to allow your Lambda function to read the files it'll be reacting to. This will help teach you a bit about the IAM Policy system and how to control access to resources in the cloud.

Creating A Function And Trigger

02:35

Use the AWS CLI to upload the CSV processing code with the "update-function-code" command.

Updating Lambda Functions With The AWS CLI

01:59

Using the browser testing interface, test out the function using the CSV file we uploaded earlier. This will verify that you've deployed the new code properly and view the output from your new function. This will bring back the CloudWatch tool from earlier in the course.

Testing And Function Invocation

02:48

AWS Lambda provides a few builtin ways to manage versions of your code and to point applications at the right function. Versions and qualifiers are vital for safely deploying new code to your application, and directing events to the right version of code.

Function Versions And Qualifiers

05:46

Recall earlier when we mentioned timeouts? We're going to talk about them more now that we have some experience under our belts, and give you a way to check how much time your function has left during its execution.

Lambda functions can be called in different contexts, such as asynchronously by S3 or synchronously by API gateway or in the console. Using function outputs lets you send back values to callers that use your function synchronously, just like a return statement in normal programming.

Before starting on the Lambda function for this lab, learn about Kinesis, AWS' streaming service. Kinesis lets you have many writers and many readers against a stream for high scale applications. Kinesis is commonly used for collecting analytics such as clickstream or transaction data, and we're going to use it to collect the same transaction lists from S3, but in a more realtime fashion.

Introduction To Kinesis

02:29

Back in the AWS console, apply some of the vocab you learned in the last lecture to navigate around the Kinesis console and create a stream for us to attach our Lambda function to.

Create A Stream And Function Trigger

02:54

In Kinesis, messages are sent to Lambda in a base64-encoded format, so to make a test event we must encode the input before putting it in the test event in our console. Once the event is set up, we'll test the new function in the console before hooking it up to the real stream.

Test The Function

02:19

Finally, we're going to use the AWS CLI to put events in our Kinesis stream and check that the function executed by viewing the CloudWatch logs.

End To End Testing With Kinesis Events

03:09

+–

Creating Data-Driven Apps with Lambda & DynamoDB

4 Lectures
11:32

DynamoDB is a popular managed NoSQL store that's easy to get started with. In the previous labs we've been moving closer and closer to a "realtime" way of processing data as it comes in. Now we'll be taking new transactions as they get written to the database and calculating the sums, then storing those back into the same record.

Introduction To DynamoDB

02:03

Learn how DynamoDB and Lambda integrate to make a powerful compute+storage combo for making your database smarter and adding asynchronous processing to your datastore.

About Function Triggers And Tables

03:31

From the AWS Console, create the event trigger for DynamoDB to send updates to the Lambda function we're creating and try out the custom code from the testing interface in the console.

Create And Test The Function

04:39

With the function set up, we can use the AWS Console to write data into our DynamoDB table and check the reaction of our Lambda function in CloudWatch.

Testing With Live Data

01:19

+–

Cleaning Up

1 Lecture
02:47

To avoid future charges for AWS resources, make sure you clean up all the things we made in this course. If you'd rather use a checklist, here's the list of all the resources created that you'll want to delete:

Storage

S3 Bucket

Kinesis Stream

DynamoDB Table

Lambda functions

cloud-guru-demo

cloudguru-lab-1

lab-2-cloudguru

cloudguru-lab-3

Don't forget to delete all the CloudWatch log groups, which will be named for the functions. There are also IAM roles we created, but IAM roles and policies are 100% free for life, so you won't be charged for them ever.

IAM Roles

cloudguru-lab-2-role

cloudguru-lab-3

lab1-cloudguru-role

Thanks for taking the course, reach out to @ryan_sb on Twitter to tell me what you thought!

I am the founder of A Cloud Guru and an Amazon Web Services community hero. I hold every associate certification and I am a certified AWS Solutions Architect Professional. I am ex-Rackspace, ex-Sungard & ex-Smart421. I have been working in the Cloud space since it's very inception.

I am not just another I.T. trainer. I teach Cloud because I know it. Inside and out. I've worked as a systems administrator, developer, solutions architect & managing director/general manager for some of the biggest companies in cloud. My courses are not just some other IT training course, delivered by some IT trainer. My background is very hands on. I live eat and breath cloud. I will teach you everything that I know. If you want some boring, high level and theoretical cloud training platform, then my courses are not for you! You will love my courses because of my explain it like I'm 5 approach.

I have 17 years experience in IT in total and I am fluent across both Windows and Linux platforms. My courses are all cloud based and will be aimed to accommodate both absolute beginners, as well professionals. I always start with the basics and by the end of my courses you will be proficient as a Cloud Guru. Please add me on Linkedin or follow me on Twitter!

I'm the author of Serverless Code and have been working with AWS Lambda since it was in developer preview in one capacity or another. Before Lambda, I learned AWS front to back as an engineer on a 27,000+ user video streaming site. These days I write about Lambda and work on Ansible's cloud automation modules.

Writing the last several months and answering reader questions, I got the inspiration to do a video series which grew into this course. Before (or after) you start the course, say hello on Twitter and get ready to be a Lambda pro!