Serverless Training

This training course is the distillation of the knowledge I've gained from helping companies run serverless infrastructures over the last two years. It's designed to give engineers the skills to build and run production grade serverless systems.

The workshop is designed for those beginning serverless. It is hands on, practical focused. Partipants are guided through the process of building and deploying a serverless API backed by a multi-region database using DynamoDB, AWS Lambda, API Gateway and Route53.

This is typically a two day workshop, however, it can be adapted to suit your organisation's needs.

Get in touch to learn more.

Course Overview: Introduction to Serverless with AWS Lambda

Intro

  • What is serverless?
  • What is FAAS?
  • What kind of services is serverless a good fit for?
  • AWS serverless ecosystem
  • Tooling & framework options
  • Serverless APIs

  • REST vs RPC vs GraphQL
  • How to make portable APIs that avoid vendor lock in
  • Managing State in Serverless Applications

  • 12 Factor Apps
  • Configuration management
  • Writing stateless Lambda functions
  • Building a Simple Serverless REST API

  • Local development setup
  • Local vs remote execution
  • TDD
  • Packaging for deployment
  • Deploying to AWS Lambda & API Gateway using AWS Simple Application Model (SAM)
  • Adding persistence with Serverless Databases

  • Relational vs NoSQL DBs
  • Designing applications to embrace eventual consistency
  • Extend our simple API with persistence capabilities
  • Setting up a multi-region database using DynamoDB
  • Architecting Event Driven Systems

  • The single responsbility principle applied to serverless functions
  • AWS Lambda event sources
  • Lambda execution types (sync, async, streaming)
  • Controlling execution flow in a multi step Lambda data pipeline
  • Message queue AWS services
  • Dead letter queues
  • Steaming Architectures with AWS Kinesis
  • Logging & Monitoring

  • Cloudwatch
  • Xray
  • IOPipe
  • Troubleshooting

  • Dealing with bottlenecks in event driven architectures/systems
  • Designing applications to handle duplicate messages
  • Debugging lambda function timeouts
  • Creating a Serverless Data Pipeline

  • Using the AWS Serverless Application Repository (SAR)
  • Packaging and deploying a multi step pipeline using AWS SAM
  • Using AWS Step Functions to create complex execution flows
  • Setting up a CI/CD pipeline

  • Setting up AWS codedeploy for Lambda
  • Canary deployments for lambda function updates
  • Integration testing