WoodITWork.com

It's about time I let the world know what I was thinking...

AWS Lambda Fundamentals

AWS Lambda is a compute service that lets you run code without provisioning or managing servers.

This video series introduces serverless concepts covering Lambda’s features and functionality.

1. What is AWS Lambda | AWS Lambda Fundamentals

AWS Lambda is a serverless compute service that lets you run code without thinking about servers or clusters.

This video explores what serverless means.


2. AWS Lambda features | AWS Lambda Fundamentals

AWS Lambda, a serverless compute service, has a number of very useful features:

  • Bring your own code
  • Integrates with and extends other AWS services
  • Flexible resource and concurrency model
  • Flexible permissions model
  • Availability and fault tolerance are built in
  • Pay for value

3. When to use AWS Lambda | AWS Lambda Fundamentals

AWS Lambda is a very flexible serverless compute service for building many types of applications if your application code can run using Lambda’s runtime environment and within the resources that Lambda provides.


4. Building AWS Lambda functions | AWS Lambda Fundamentals

There are a number of ways to author, build and deploy AWS Lambda functions.

You can use the Lambda console editor, an IDE toolkit, using command line tools, the AWS SDKs, or various automation and infrastructure as code tools.


5. AWS Lambda programming model | AWS Lambda Fundamentals

AWS Lambda allows you to run your own code in the cloud. You can use the programming language you already use, and the IDE that you are most familiar with.

The Lambda programming model is common to all of the runtimes. The programming model defines the interface between your code and the Lambda service.


6. Building an AWS Lambda function in the console | AWS Lambda Fundamentals

You can create Lambda functions using the Lambda Management Console. You can chose to deploy a function from a blueprint which provides sample code to do some processing or you can build your function yourself.


7. Building an AWS Lambda function using the AWS CLI | AWS Lambda Fundamentals

You can use the AWS Command Line Interface, CLI, to manage functions and other AWS Lambda resources. The AWS CLI interacts with the Lambda API.


8. Building an AWS Lambda functions using AWS SAM | AWS Lambda Fundamentals

There are a variety of frameworks available from AWS and third-parties to help you build and deploy serverless applications which can work with your developer tool chain.

From AWS there’s the open-source Serverless Application Model (AWS SAM). You provide AWS SAM with shorthand syntax to express functions, resources and event sources for your environment. During deployment SAM transforms and expands the AWS SAM syntax into AWS CloudFormation syntax and deploys the resources to your AWS account.


9. Building an AWS Lambda function as a container image | AWS Lambda Fundamentals

AWS Lambda supports two types of deployment packages, .zip archives and container images.

Lambda container image support enables you to pair the flexibility and familiarity of container tooling with the operational simplicity of Lambda for greater agility when building your applications.


10. AWS Lambda invocation models | AWS Lambda Fundamentals

The AWS Lambda API is provided by the Lambda service which is used by all clients and services that invoke Lambda functions. When you invoke a function, you can choose to invoke it synchronously or asynchronously. You can pass any event payload structure, making it extremely flexible.


11. AWS Lambda execution environment lifecycle | AWS Lambda Fundamentals

AWS Lambda invokes your function in an execution environment. This is a secure and isolated runtime environment within a MicroVM, which is a lightweight virtual machine to run just your function.

When you create your Lambda function, you specify some configuration information, such as the amount of memory for your function and the maximum invocation time allowed for your function. Lambda uses this information to set up the execution environment.


12. AWS Lambda function design best practices | AWS Lambda Fundamentals

When deciding how to design and write your Lambda functions, there are a few best practices you can follow. These practices are common to all Lambda runtimes.

  • Separate the business logic from the actual handler method
  • Make your functions modular and single purpose
  • Minimize your deployment package size and reduce dependencies
  • Store stateful data outside the Lambda function context

13. AWS Lambda function permissions | AWS Lambda Fundamentals

There are a number of ways to secure and protect access to your Lambda resources using AWS Identity and Access Management (IAM) with a number of policies you can define for fine grained access control.


14. AWS Lambda billing | AWS Lambda Fundamentals

With AWS Lambda, you pay only for what you use. Lambda has a Regional tiered pricing model for on-demand Lambda consumption.


15. AWS Lambda optimal memory configuration | AWS Lambda Fundamentals

In the Lambda resource model, you choose the amount of memory you want for your function, and are allocated proportional CPU power and other resources.

An increase in memory size configures an equivalent increase in CPU available to your function.

Depending on the function, you might find that a higher memory level might actually cost less because the function can complete much more quickly than at a lower memory configuration.


16. AWS Lambda observability and troubleshooting | AWS Lambda Fundamentals

Understanding the state of an AWS Lambda-based workload is important for ensuring the reliability and health of your application.

You want to know how your application is performing, and troubleshooting any issues is an important part of building applications.


17. AWS Lambda logging | AWS Lambda Fundamentals

All AWS Lambda functions are automatically integrated with Amazon CloudWatch. Lambda monitors functions on your behalf and streams details about each function invocation to CloudWatch Logs.


18. AWS Lambda metrics | AWS Lambda Fundamentals

All AWS Lambda functions are automatically integrated with Amazon CloudWatch.

Lambda monitors functions on your behalf and automatically records a variety of standard metrics that are always published to CloudWatch metrics.

You can also generate your own custom metrics.


19. AWS Lambda tracing | AWS Lambda Fundamentals

Most serverless applications consist of multiple services working together. To track performance problems or errors you may need to follow a transaction from the source caller through a number of downstream services.

You can use a tracing tool like AWS X-Ray, or a number of third-party tracing services to achieve this.


20. AWS Lambda scaling and throughput | AWS Lambda Fundamentals

This video explains how AWS Lambda scales up to handle requests.

Concurrency is the number of requests that your function is serving at any given time.


21. AWS Lambda concurrency controls and quotas | AWS Lambda Fundamentals

When Lambda scales to handle additional concurrent requests it provisions additional execution environments.

There are controls you can use to manage concurrency with some helpful use-cases.


22. AWS Lambda networking | AWS Lambda Fundamentals

This video explains AWS Lambda networking and how ingress is handled only via the Lambda API.

Find out how to connect your Lambda functions to a VPC and whether this is required.


23. AWS Lambda safe deployments | AWS Lambda Fundamentals

Understand how to deploy Lambda functions safely into production using versions and aliases.