Check out my new course Learn you some Lambda best practice for great good! and learn the best practices for performance, cost, security, resilience, observability and scalability.
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!
I specialise in rapidly transitioning teams to serverless and building production-ready services on AWS.
Are you struggling with serverless or need guidance on best practices? Do you want someone to review your architecture and help you avoid costly mistakes down the line? Whatever the case, I’m here to help.
Check out my new podcast Real-World Serverless where I talk with engineers who are building amazing things with serverless technologies and discuss the real-world use cases and challenges they face. If you’re interested in what people are actually doing with serverless and what it’s really like to be working with serverless day-to-day, then this is the podcast for you.
Check out my new course, Learn you some Lambda best practice for great good! In this course, you will learn best practices for working with AWS Lambda in terms of performance, cost, security, scalability, resilience and observability. We will also cover latest features from re:Invent 2019 such as Provisioned Concurrency and Lambda Destinations. Enrol now and start learning!
Check out my video course, Complete Guide to AWS Step Functions. In this course, we’ll cover everything you need to know to use AWS Step Functions service effectively. There is something for everyone from beginners to more advanced users looking for design patterns and best practices. Enrol now and start learning!
Are you working with Serverless and looking for expert training to level-up your skills? Or are you looking for a solid foundation to start from? Look no further, register for my Production-Ready Serverless workshop to learn how to build production-grade Serverless applications!
Here is a complete list of all my posts on serverless and AWS Lambda. In the meantime, here are a few of my most popular blog posts.
- Lambda optimization tip – enable HTTP keep-alive
- You are wrong about serverless and vendor lock-in
- You are thinking about serverless costs all wrong
- Just how expensive is the full AWS SDK?
- Many faced threats to Serverless security
- We can do better than percentile latencies
- Yubl’s road to Serverless
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- AWS Lambda – compare coldstart time with different languages, memory and code sizes
- Guys, we’re doing pagination wrong
- Top 10 Serverless framework best practices