A Guide to Serverless Microservices

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.

Matthew Fuller

Matthew Fuller is an author and Professor of Digital Media at the Centre for Cultural Studies, Goldsmiths College, London. He is known for his writings in media theory, software studies, critical theory and cultural studies, and contemporary fiction.

  • 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