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.
Welcome to another weekly update! Apologies for the radio silence the last few weeks. A combination of vacation, work and re:invent has really messed up my posting schedule! Hopefully, I’m now back to my usual flow.
First of all, I want to give a shout out to my Patreon supporters:
Andre Silva, Boseok In, Joe Kearney, Jon Barber, Jonathan Kosgei, Luis Gutierrez, Marko @ Serverless Life, Shawn MacIntyre, Will Saunders, Yinan Xue
Thank you guys so much for your continued support!
Provisioned Concurrency – the end of cold starts. Over on the Lumigo blog, I wrote about the new Provisioned Concurrency feature for Lambda. It’s an important feature which removes one of the major hurdles for companies looking to move to serverless. It allows you to specify a baseline concurrency for a function where you pay for a combination of uptime + requests, and in return, no more cold starts.
I don’t think it’s something that everyone should enable by default, because many of you wouldn’t need it. And I still believe that step 1 should always be to understand your latency requirement (e.g. p99 of 3s) and then optimize your code so cold starts fall within those requirements. However, for companies with a large amount of existing Java and .Net code (that is not economically feasible to rewrite), or a latency-sensitive workload, or very spiky traffic, Provisioned Concurrency gives them the control they need to combat cold starts.
Checklist for going live with API Gateway and Lambda. A handy checklist that includes observability, security, performance and resilience considerations you should tick off before going live.
How to break the “senior engineer” career ceiling. TL;DR – stop optimizing for your personal output, start optimizing your impact on the organization instead.
Serverless @ re:invent
There weren’t many big announcements at re:invent this year compared to 2018, but the new Lambda features are very impactful to customers and address many day-to-day pain points. I will be covering them in much more detail with James Beswick (AWS) and Efi Kravitz (Lumigo) on Friday, 13th December. You can sign up to the webinar here. We will share our thoughts on the impact of these new features and how you should adopt them (or not!).
Until then, here are the new features, including a few just before re:invent.
- Provisioned Concurrency
- HTTP API
- RDS Proxy
- EventBridge Schema Registry
- Lambda Destinations
- SQS FIFO trigger
- Error handling for Kinesis and DynamoDB streams
- Express Workflows
Ironically, the biggest announcement at re:invent wasn’t any service or feature, but the AWS Builders Library. It’s a set of articles written by Principal Engineers at AWS about how Amazon builds highly scalable and resilient systems. I have read a few of these articles already and they are great. They provide a lot of insights into the thinking that goes into many of the services we have come to depend on. However, they are also not easy reads and sometimes the insights are buried deep into the pages. Based on the number of folks that responded to my tweet, I will be sharing my study notes so you can get a quick summary of each post (think of it as Blinkist for the AWS Builders Library). And then you can decide which post to dive into and read fully.
I'm making my own notes as I'm going through the AWS builders library articles, would people be interested in these? They're significantly shorter (1 pager instead of 20), but assume you are familiar with the problem domain and lingo already. #aws #reinvent
— Yan Cui (@theburningmonk) December 6, 2019
AWS re:Invent Recap – Serverless Edition – Friday 13th December, online
Driving innovation with Serveless at re:Invent 2019 – Thursday 9th January, Amsterdam
AWS Community Day Nodics – Friday 31st January, Stockholm
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