Weekly update 39

Yan Cui

I help clients go faster for less using serverless technologies.

This article is brought to you by

Is your CI build step taking too long? Try Depot for free today and experience up to 40x faster build speed!

Unlock faster CI for FREE

Hi, welcome to another weekly update. I have a couple of exciting announcements for you this week :-)

Learn you some Lambda best practice for great good!

First up, I want to tell you about my new video course, which is focused on what best practices you should follow when working with AWS Lambda. It covers areas of performance, security, scalability, resilience, observability and cost. I will discuss topics such as:

  • how to improve cold start performance
  • what is the new Provisioned Concurrency feature and when to use it?
  • fan-out patterns and load testing tools
  • secret managements
  • tuning function memory for performance and cost
  • SNS vs SQS vs Kinesis vs EventBridge
  • API Gateway vs ALB vs HTTP API
  • cost monitoring tools

and much more. The course will have a full retail price of £29.99 (~$39) but while I’m still working on the content you can get it for just £9.99 (~$13).

The first batch of lessons (7) are already available, and I’m going to drop the next batch (8 lessons) on the 24th Jan. The course is scheduled to complete by 13th February, so get it at the preorder price while you can!

Workshop tour in Europe

My second announcement is that I am taking my Production-Ready Serverless workshop public, and running a series of them around Europe.

It’s a 2-day workshop, designed to get you up to speed quickly and expose you to a variety of best practices and useful techniques for working with Lambda. I have run this workshop as in-house training at many clients, from startups to large enterprises, and taught students of a variety of backgrounds: backend, frontend, devops, infosec, engineers, testers, engineering managers and even CTOs. In other words, there’s something for everyone here.

Whatever your background I’m confident that you will learn something new and useful from this workshop. In fact, I’m so confident of that I’m willing to give you a full refund if that’s not the case!

So far, I have planned 6 stops:

As a thank you for your continued readership, here’s a promo code that gives you 10% off at any of these workshops: thank-you-for-your-readership-wk39. It is valid for the next 2 weeks, and the first five of you that sign up.

New posts

Amazon Builders’ Library in Focus #3: avoiding fallback in distributed systems. I summarised this article by AWS senior principal engineer Jacob Gabrielson on why Amazon don’t use fallbacks in their systems and what they do instead.

Amazon Builders’ Library in Focus #4: avoiding insurmountable queue backlogs. I summarised this article by AWS principal engineer David Yanacek on the design approaches Amazon employ to avoid building up an insurmountable amount of backlog in their queues.

AWS Salary Survey. I wrote the foreword for the AWS salary survey 2018-2019, published by Jefferson Frank. It contains a bunch of useful insights about salary trends by country, benefits of certification, diversity at the workplace, and the job market for AWS professionals in general. If you’re considering a new career in 2020, then give this a read to see what you might be able to expect from the market.

Upcoming talks

I’m talking about common mistakes companies make when adopting serverless at ServerlessDays Belfast on Jan 24th.

And then on Jan 31st, I will be at the AWS Community Day Nordics in Stockholm, talking about the essential open source tools for serverless developers.

After that, I have a busy February ahead of me:

Hope to catch you at one of these events!

Open source contributions

We have continued to push more features into the lumigo-cli.

For instance, I often find myself wondering about my functions’ cold start performance but don’t have a way to measure it reliably as it’s not easy to collect statistically significant sample sets by hand. So I added a new measure-lambda-cold-starts command to help you do just that.

When you run the command, it’ll deploy a state machine to induce the desired number of cold starts and collect stats about the initialization time (the only part of the cold start process that you can actually optimize). The state machine inserts and touches a random environment variable between each invocation to ensure that each invocation is a cold start. Shout out to Alex Casalboni as this approach was inspired by his lambda-powertuning SAR.

Another challenge that we have come across time and time again, is how to clear those temporary AWS accounts you use to experiment with new services or features. It has stung many of us when we get a big bill at the end of the month because we forgot to delete some of these resources…

Many thanks to Efi for contributing this wonderful command that will hopefully save you from a similar pain!

And I also made some changes to the analyze-lambda-cold-starts command to support analyzing cold starts that happened in the last X minutes (previously you had to set a minimum of 1 hour).

And the command now returns additional data points – p75, p95 and standard deviation.

Thank you to my patrons

Finally, I want to say hi to my new patrons:

Alexis, Michael Wills, Tendies123 and Kevin Woods

and give a shout out to my other patrons:

Andre Silva, Boseok In, Ebru Cucen, Hrafnkell Palsson, Joe Kearney, Jon Barber, Jonathan Kosgei, Luis Gutierrez, Marko @ Serverless Life, Sal DiStefano, Shawn MacIntyre, Will Saunders, Yinan Xue

Thank you guys so much for your continued support!

Whenever you’re ready, here are 4 ways I can help you:

  1. Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
  2. Do you want to know how to test serverless architectures with a fast dev & test loop? Check out my latest course, Testing Serverless Architectures and learn the smart way to test serverless.
  3. I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
  4. Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.