Hi, welcome to another weekly update.
You are thinking about serverless costs all wrong. This is my response to the click-bait article published in The Register that clearly illustrated widespread misunderstanding when it comes to understanding the financial benefits of serverless. Many have discussed the cost savings serverless can give you in terms of your monthly AWS spend. However, the more significant cost saving in terms of expertise and personnel has largely been overlooked. With this post I hope to redirect the discussion and point it towards the Total Cost of Ownership (TCO), beyond just operational spending with your cloud provider.
Not so FaaS. To balance things out, I also wrote a guest post for Binaris on when serverless, or more specifically, Function-as-a-Service (FaaS) is not a good fit right now. This is my attempt at a reasoned discussion on when we should adopt serverless and when we shouldn’t. Rather than the overly generalised statements you often find elsewhere (I’m looking at you, The Register!)
Subscribe SQS to a SNS topic in another account using CloudFormation, and gotchas. This is a summary of what I found when attempting to subscribe a SQS queue to a SNS topic in another account, without resorting to clicking around in the AWS console. And the gotchas I found along the way.
New course – Complete guide to Step Functions
Over the last couple of weeks, I have been quietly working on a new video course that focuses on Step Functions and its design patterns. The course would cover all the basics, including how Step Functions works, how to use each of the 7 types of states. But we will also cover less explored use cases such as Activities, HTTP and CloudWatch Event triggers, as well as how to integrate with SNS, SQS and DynamoDB directly.
To top things off, we will also explore several design patterns using Step Functions, such as how to implement distributed transactions with the Saga pattern.
I have just finished shooting all the videos and hope to announce it in the next few week to you all! In the meantime, I’m already thinking about what other courses would make sense. If you have any suggestions, please let me know via the comments below. Would you like a course on how to go from zero to expert on DynamoDB? Or perhaps a course that focuses on choosing the right AWS service to use?
Open source contributions
serverless-step-functions plugin supports other AWS services. In the course of making the Complete guide to Step Functions I also made a small contribution to the serverless-step-functions plugin for the Serverless framework.
If you have been using the plugin then you’ll no doubt love the fact that it auto-generates a fairly restricted IAM role for your protection. The generated IAM role grants the lambda:InvokeFunction permission to only the functions you have referenced in the state machine. However, Step Functions has since added 8 more service integrations including popular services such as SNS, SQS and DynamoDB.
My contribution was to add support for SQS, SNS, DynamoDB, ECS and AWS Batch so the auto-generated IAM role would have the necessary permissions when you integrate with these services from your state machine. Big thanks to Takahiro-san for merging my PR quickly (so I can include it in the video course no less!)
So that’s it from me! If you’re based in Europe, please come and join us at ServerlessDays Cardiff and ServerlessDays Hamburg in the next couple of week. These are grassroot events (as in, affordable prices that welcomes everyone, not just those with a company training budget) that bring together industry practitioners, thought leaders and vendors under the same roof. Hope to see you guys around!
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 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. Including basic concepts, HTTP and event triggers, activities, callbacks, nested workflows, design patterns and best practices.
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 thinking about serverless costs all wrong
- Many faced threats to Serverless security
- We can do better than percentile latencies
- I’m afraid you’re thinking about AWS Lambda cold starts all wrong
- 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