AWS Lambda - A Guide to Serverless Microservices takes a comprehensive look at developing "serverless" workloads using the new Amazon Web Services Lambda service. Lambda enables users to develop code that executes in response to events - API calls, file uploads, schedules, etc - and upload it without worrying about managing traditional server metrics such as disk space, memory, or CPU usage. With its "per execution" cost model, Lambda can enable organizations to save hundreds or thousands of dollars on computing costs.
With in-depth walkthroughs, large screenshots, and complete code samples, the reader is guided through the step-by-step process of creating new functions, responding to infrastructure events, developing API backends, executing code at specified intervals, and much more.
Introduction to AWS Computing
Evolution of the Computing Workload
Lambda Background
The Internals
The Basics
Functions
Languages
Resource Allocation
Getting Set Up
Hello World
Uploading the Function
Working with Events
AWS Events
Custom Events
The Context Object
Properties
Methods
Roles and Permissions
Policies
Trust Relationships
Console Popups
Cross Account Access
Dependencies and Resources
Node Modules
OS Dependencies
OS Resources
OS Commands
Logging
Searching Logs
Testing Your Function
Lambda Console Tests
Third-Party Testing Libraries
Simulating Context
Hello S3 Object
The Bucket
The Role
The Code
The Event
The Trigger
Testing
When Lambda Isn’t the Answer
Host Access
Fine-Tuned Configuration
Security
Long-Running Tasks
Where Lambda Excels
AWS Event-Driven Tasks
Scheduled Events (Cron)
Offloading Heavy Processing
API Endpoints
Infrequently Used Services
Real-World Use Cases
S3 Image Processing
Shutting Down Untagged Instances
Triggering CodeDeploy with New S3 Uploads
Processing Inbound Email
Enforcing Security Policies
Detecting Expiring Certificates
Utilizing the AWS API
Execution Environment
The Code Pipeline
Cold vs. Hot Execution
What is Saved in Memory
Scaling and Container Reuse
From Development to Deployment
Application Design
Development Patterns
Testing
Deployment
Monitoring
Versioning and Aliasing
Costs
Short Executions
Long-Running Processes
High-Memory Applications
Free Tier
Calculating Pricing
CloudFormation
Reusable Template with Minimum Permissions
Cross Account Access
CloudWatch Alerts
AWS API Gateway
API Gateway Event
Creating the Lambda Function
Creating a New API, Resource, and Method
Initial Configuration
Mapping Templates
Adding a Query String
Using HTTP Request Information Within Lambda
Deploying the API
Additional Use Cases
Lambda Competitors
Iron.io
StackHut
WebTask.io
Existing Cloud Providers
The Future of Lambda
More Resources
Conclusion
With in-depth walkthroughs, large screenshots, and complete code samples, the reader is guided through the step-by-step process of creating new functions, responding to infrastructure events, developing API backends, executing code at specified intervals, and much more.
Introduction to AWS Computing
Evolution of the Computing Workload
Lambda Background
The Internals
The Basics
Functions
Languages
Resource Allocation
Getting Set Up
Hello World
Uploading the Function
Working with Events
AWS Events
Custom Events
The Context Object
Properties
Methods
Roles and Permissions
Policies
Trust Relationships
Console Popups
Cross Account Access
Dependencies and Resources
Node Modules
OS Dependencies
OS Resources
OS Commands
Logging
Searching Logs
Testing Your Function
Lambda Console Tests
Third-Party Testing Libraries
Simulating Context
Hello S3 Object
The Bucket
The Role
The Code
The Event
The Trigger
Testing
When Lambda Isn’t the Answer
Host Access
Fine-Tuned Configuration
Security
Long-Running Tasks
Where Lambda Excels
AWS Event-Driven Tasks
Scheduled Events (Cron)
Offloading Heavy Processing
API Endpoints
Infrequently Used Services
Real-World Use Cases
S3 Image Processing
Shutting Down Untagged Instances
Triggering CodeDeploy with New S3 Uploads
Processing Inbound Email
Enforcing Security Policies
Detecting Expiring Certificates
Utilizing the AWS API
Execution Environment
The Code Pipeline
Cold vs. Hot Execution
What is Saved in Memory
Scaling and Container Reuse
From Development to Deployment
Application Design
Development Patterns
Testing
Deployment
Monitoring
Versioning and Aliasing
Costs
Short Executions
Long-Running Processes
High-Memory Applications
Free Tier
Calculating Pricing
CloudFormation
Reusable Template with Minimum Permissions
Cross Account Access
CloudWatch Alerts
AWS API Gateway
API Gateway Event
Creating the Lambda Function
Creating a New API, Resource, and Method
Initial Configuration
Mapping Templates
Adding a Query String
Using HTTP Request Information Within Lambda
Deploying the API
Additional Use Cases
Lambda Competitors
Iron.io
StackHut
WebTask.io
Existing Cloud Providers
The Future of Lambda
More Resources
Conclusion