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

Learn how to write, deploy & manage your own AWS Lambda functions - to build amazing scalable, real-time cloud systems.
3.8 (61 ratings) 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.
1,044 students enrolled
$19
$50
62% off
Take This Course
  • Lectures 28
  • Length 1 hour
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2016 English

Course 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.

The hands on labs will show you how to write Lambda functions that:

  • Run when files change in S3 (eg. image thumbnail generation, metadata extraction, indexing etc)
  • Run when tables are updated in DynamoDB (eg. analytics/trend detection, auditing, etc)
  • Run when kinesis messages are received (eg. notification generation, message filtering, etc)

So join us and become a cloud guru today.

What are the requirements?

  • A little bit of coding experience helps -- ie. what is a function, a variable, etc
  • Some experience using the command-line/terminal helps

What am I going to get from this course?

  • Talk with authority about AWS Lambda
  • Write amazing application services that respond to S3/DynamoDB/Kinesis events
  • Understand where/when to use AWS Lambda
  • Write your own AWS Lambda functions
  • Deploy & run lambda functions in the cloud
  • Manage lambda functions including diagnostics/logging

What is the target audience?

  • AWS Absolute Beginners. No prior AWS experience necessary.
  • Developers who want to build micro-services
  • Developers who want to build massively scalable systems
  • Solution architects (not just developers) who want to understand more about Lambda

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: An Introduction To Lambda
02:01

Welcome to the course! Meet Ryan from https://serverlesscode.com/ and see what topics we'll be covering for the rest of the course on Amazon's Lambda service.

02:23

Serverless is a hot topic (and hashtag) these days. Learn about the origin of the word and what it means for an app to be serverless and to fully outsource the compute needs of your application.

01:48

Learn about the difference it makes to you and your team to write a service to use Lambda instead of Amazon's Elastic Compute Cloud (EC2). 

02:33

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. 

01:54

Walk through how a simple application works that uses S3 to trigger a Lambda function. This is very similar to the S3 lab later in the course. 

Also learn about your language options when writing apps for Lambda.

Section 2: Creating Our First Lambda Function
01:23

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/

00:51

This lecture isn't required for the course, but it will make it faster for you to get around in the console by making quick links to the services this course uses in the toolbar.

01:18

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

02:56

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.

01:13

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

03:43

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.

Section 3: Expanding Our Knowledge with Lambda & S3
00:46

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. 

01:39

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. 

02:42

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. 

02:35

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. 

01:59

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

02:48

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.

05:46

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. 

02:13

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.

Section 4: Reacting to Event Streams with Lambda & Kinesis
02:29

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. 

02:54

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.

02:19

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.

03:09

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. 

Section 5: Creating Data-Driven Apps with Lambda & DynamoDB
02:03

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. 

03:31

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.

04:39

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. 

01:19

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. 

Section 6: Cleaning Up
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!

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ryan Kroonenburg, Solutions Architect

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!

Get ready to become A Cloud Guru!

Instructor Biography

Ryan Scott Brown, Author @ Serverless Code

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!

Ready to start learning?
Take This Course