You can become a serverless blackbelt. Enrol to my 4-week online workshop Production-Ready Serverless and gain hands-on experience building something from scratch using serverless technologies. At the end of the workshop, you should have a broader view of the challenges you will face as your serverless architecture matures and expands. You should also have a firm grasp on when serverless is a good fit for your system as well as common pitfalls you need to avoid. Sign up now and get 15% discount with the code yanprs15!
Hi, welcome to another weekly update!
Let’s work together in 2020
Are you still on the fence about serverless and need strategic guidance on how best to safely introduce serverless to your organization and reap its benefits?
Are your engineers lacking experiences with AWS and serverless and you need help upskilling the teams?
Or maybe you’re already building things using Lambda, but you need guidance on best practices and to help you avoid costly mistakes?
Or perhaps you just want an extra pair of eyes to review what you have implemented?
I have a lot of experience and expertise with AWS and serverless and I believe I can bring a lot of value to your organization. I know we’re only in Q4 2019, but I have started accepting consulting and speaking requests for 2020. If you’re interested in working with me, you can get in touch here.
I provide a range of services, from running in-house workshops, consulting to actually working with your teams to deliver features and enhancements. I spend most of my time in the UK and the Netherlands, but I have worked with clients from all around the world including the US and Australia. I’m not particular to any industry and take my pride in my ability to adapt to the demands of my clients regardless of organization size and domain. To date, I have helped clients in both public and private sectors, in industries ranging from gaming, finance and healthcare. Some of my clients are stealth mode startups, and others are multi-national enterprises.
Should you pack the AWS SDK in your deployment artefact? A lot of folks would tell you that you shouldn’t pack the AWS SDK in your Lambda deployment artefacts but I’m here to tell you otherwise!
All you need to know about caching for serverless applications. In this post, I discussed why caching is still relevant for serverless, and where should you implement caching – the client, the CDN, in API Gateway or the Lambda function, as well as the database itself.
The API Gateway security flaw you need to pay attention to. The issue is the default rate limit for an API, and how it interplays with the regional limits. Essentially it leaves you open to attackers taking down all your APIs in a region by attacking just one endpoint.
Introducing the lumigo-cli. This is the announcement post for the lumigo-cli, which includes a bunch of helpful commands for people using Lambda.
Monitor Lambda cold start durations with CloudWatch. The 1st step to improve cold-start performance is to monitor them. Lambda is now publishing cold-start latency in REPORT logs, and we’ve got the tool to help you turn them into custom CloudWatch metrics so you can monitor them easily.
Next week, I’m doing another run of my live online training session with O’Reilly. It’s not too late to register, you can even get it for free if you take advantage of their free trial period ;-)
On the 23rd of October, I’ll be back in London to speak at the Serverless in JustGiving event. I’ll be talking about the challenges people face when moving to serverless and common mistakes you should avoid.
Open source updates
I have been working hard on the lumigo-cli and have some wonderful updates for you :-)
The headline news is the new powertune-lambda command. It helps you find the optimal memory setting for either speed or cost. And thanks to Alex Casalboni‘s update to the aws-lambda-power-tuning SAR, you can also visualize the result for different memory settings as well.
But that’s not all, I also added a bunch of other useful features too:
- switch-profile command to let you easily switch between different named AWS profiles.
- whoami command to see which profile you’re currently using.
- the sls-remove command lets you specify an option flag (-e) to empty all S3 buckets configured in the stack, not just the deployment bucket
- list-kinesis-shards command to list all the shards in a Kinesis stream with their usage metrics in the last hour
I’m pleased to announce two major updates for dazn-lambda-powertools:
- You can now deploy ALL the packages via a single Lambda layer.
- DynamoDB Streams is supported! When you upsert a row in DynamoDB, correlation IDs are forwarded to the events in the stream, and auto-captured by any Lambda function that processes these events.
Lambda is reporting the init duration in the REPORT message at the end of a cold start.
The async-custom-metrics SAR can now parse these and turn them into custom metrics in CloudWatch.
Did you notice that when you change the tags on a CloudFormation stack, the changes are not propagated to Step Functions and IAM roles?
This has hit me a few times in the past, so I updated the propagate-cfn-tags SAR to better deal with this. Once deployed, the SAR will automatically propagate updates to CloudFormation tags to Step Functions and IAM roles for you.
Hi, I’m Yan. I’m an AWS Serverless Hero and I help companies go faster for less by adopting serverless technologies successfully.
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.
Skill up your serverless game with this hands-on workshop.
My 4-week Production-Ready Serverless online workshop is back!
This course takes you through building a production-ready serverless web application from testing, deployment, security, all the way through to observability. The motivation for this course is to give you hands-on experience building something with serverless technologies while giving you a broader view of the challenges you will face as the architecture matures and expands.
We will start at the basics and give you a firm introduction to Lambda and all the relevant concepts and service features (including the latest announcements in 2020). And then gradually ramping up and cover a wide array of topics such as API security, testing strategies, CI/CD, secret management, and operational best practices for monitoring and troubleshooting.
If you enrol now you can also get 15% OFF with the promo code “yanprs15”.
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!
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.
- All you need to know about caching for serverless applications
- 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?
- Check-list for going live with API Gateway and Lambda
- How to choose the right API Gateway auth method
- CloudFormation protip: use !Sub instead of !Join
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- Guys, we’re doing pagination wrong
- Top 10 Serverless framework best practices
- How to break the “senior engineer” career ceiling
- My advice to junior developers