profile

Master Serverless

Here's everything you might have missed in 2024 so far

Published 19 days ago • 2 min read

I can’t believe it’s May already! It’s been a busy few months here. Here’s what I've been up to and what you might have missed.

Blog posts

Real-World Serverless

Guest appearance on podcasts

Webinars

  • What Causes AWS Lambda Cold Starts & 7 Ways to Solve Them (slides, recording)
  • 3 Ways to Improve Serverless Performance (slides, recording)
  • Saving Money on Serverless: Common Mistakes and How to Avoid Them (slides, recording)

Public speaking

  • QCon London: Efficient Serverless Development: Latest Patterns and Practices on AWS
  • AWS Summit London: Patterns for efficient serverless development (slides)
  • Conf42 Cloud Native: Patterns for efficient serverless development (recording)
  • Serverless Toronto user group: Money-saving tips for the frugal serverless developer (slides, recording)

Production-Ready Serverless workshop

We had 162 students across the January and March cohorts, and here are some of the best topics we discussed:

  • How to tune the lambda memory to get the maximum cost benefit?
  • Lambda Function URLs look like an ideal target for DDOS; am I missing something?
  • How to manage Node.js function dependencies with the Serverless Framework? Would you use Lambda layers?
  • How do you convince people to give up traditional web frameworks to single-purposed functions with Lambda?
  • What are the pros and cons of using JavaScript with Lambda vs another (statically typed) language like TypeScript or Golang?
  • When to use Lambda over Fargate?
  • Should you have an AWS account for every employee?
  • How can I protect a public API endpoint from DDOS attacks?
  • What are the best practices for setting up AWS Organizations?
  • What are the most common gotchas for serverless deployments?
  • How to estimate the cost of an application as load changes?
  • What are the pros & cons of using mono repo?
  • How to handle long-running requests that take longer than API Gateway’s 30s timeout?
  • What do you think about unit testing infrastructure code?
  • How to control Lambda concurrency so we don’t overwhelm downstream systems?
  • How best to limit CI/CD role’s permissions?
  • Why hasn’t serverless taken over the world yet? (like it should have!)

There is still time to sign up for the next cohort and level up your serverless game.

Unlike on-demand video courses, I’m making myself available to you during the 4-week programme to answer all your questions and give you tailored advice.

It’s also constantly evolving based on your feedback and the latest developments in AWS.

The next cohort starts on May 27th and will feature more in-depth discussions about building event-driven architectures, including:

  • Best practices for structuring events.
  • Domain vs Integration events.
  • When to add an anti-corruption layer.
  • Comparing different event bus topologies and their trade-offs.

And there will be new lectures and exercises on Step Functions (because so many of you have asked for them!)

I’m working on lots of updates for the workshop, and I hope to share them with you soon!

Ciao for now.

Master Serverless

by Yan Cui, AWS Serverless Hero

Join 8k+ readers and level up you AWS game with just 5 mins a week. Every Monday, I share practical tips, tutorials and best practices for building serverless architectures on AWS.

Read more from Master Serverless

There's a common misconception that serverless architectures must use microservices. That's not true! Most of my serverless architectures are monoliths. And no, you don't have to use "lambdaliths". While lambdaliths and monoliths are related, they are ultimately different concepts. What is a monolith anyway? I consider a system to be a monolith if it has: A single codebase. A single deployment. No separation by domain or subdomains, encapsulating everything in one service. A monolith API...

4 days ago • 1 min read

Step Functions lets you set a timeout on Task states and the whole execution. By default, a Task state times out after 60 seconds. But an execution can run for a year if no TimeoutSeconds is configured. To a user, the execution would appear as “stuck”. AWS best practices recommend using timeouts to avoid such scenarios [1]. So it’s important to consider what happens when you experience a timeout You can use the Catch clause to handle the States.Timeout error when a Task state times out. You...

28 days ago • 2 min read

How to apply the TDD mindset to serverless Read on my blog Read time: 3 minutes. Testing is an integral part of software development. Your tests are a living documentation of your system. They inform others how to use your system, but they are so much more than that. One of the most understood parts of Test-Driven Development (TDD) is the "Driven" part of the name. It's not just about "writing tests before you write the code". If your tests do not inform and drive your API design, then you're...

about 1 month ago • 3 min read
Share this post