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:
- Amsterdam, March 19-20
- Helsinki, May 4-5
- Stockholm, May 14-15
- Dublin, June 16-17
- London, September 24-25
- Berlin, October 8-9
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.
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.
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:
- DDD Europe (Amsterdam)
- ServerlessDays Cardiff
- Frontend Developer Love (Amsterdam)
- ServerlessDays Rome (where I’m also running a 1-day workshop)
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…
Oh my god. 13 years after I sign up for AWS it finally happened to me: my first terrifying bill. $1300. ?
I’d been playing with Control Tower and set up a handful of accounts. Forgot about it for a month. Turns out it deploys a LOT of NAT gateways.
— Aidan W Steele (@__steele) January 18, 2020
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!