Is serverless overpriced? What can we learn from the PrimeVideo team?
The PrimeVideo team’s move from serverless caused much stir, but most people got it wrong because they read the article with tinted glasses.
This is what they actually said.
The PrimeVideo team’s move from serverless caused much stir, but most people got it wrong because they read the article with tinted glasses.
This is what they actually said.
~~~~~~~~~ UPDATE 02/08/2023: EventBridge Schedule now supports automated deletion upon completion. So the problem and solution discussed in this post is no longer relevant. Please see the announcement here. ~~~~~~~~~ The launch of EventBridge Scheduler was one of the highlights for me for re:Invent 2022. Finally, we have a scalable service that lets us …
The biggest problem with EventBridge Scheduler and how to fix it Read More »
Many software engineering concepts appear in different contexts. Modularity, the single-responsibility principle and separation of concerns are just a few examples that come to mind. They apply equally to how we write code, architect our systems and organize our teams. In this post, let’s discuss three ways we can control the concurrency of a serverless …
3 ways to control concurrency in serverless applications Read More »
re:Invent is almost upon us. Judging by the things that had been announced ahead of re:Invent, one can’t help but be excited about the main event itself! Here is a list of the serverless-related announcements so far that you should know about. Payload-based message filtering for Amazon SNS Here’s the official announcement. This is arguably the …
The biggest preinvent serverless announcements you may have missed Read More »
How Lambda pricing works When it comes to cost, Lambda charges you based on the amount of memory you allocate to the function and how long this function runs for by the millisecond. And it also charges you a fixed fee of 20 cents per million invocations. source: https://aws.amazon.com/lambda/pricing There can be other costs involved, …
An interesting question came up on the AppSync Masterclass forum, and it highlights a common way you can get into CloudFormation circular dependencies. In the CloudFormation stack, there is an AppSync API, which uses a Cognito User Pool for authentication and authorization. When a user signs up, the app should fire an update on a …
How to work around CloudFormation circular dependencies Read More »
Testing serverless architectures doesn’t have to be hard, and it doesn’t have to be slow.
Let me share my approach with you, and show you how I achieve a fast feedback loop by writing remocal tests against ephemeral environments, and how you can turbocharge your workflow as well. Once you “get it”, serverless testing can be a joy :-)
With API Gateway and Lambda, you can handle client errors gracefully by returning a 4xx response. module.exports.handler = async (event) => { // run validation logic return { statusCode: 400 } } This way, we can communicate clearly to the client that there’s a problem with its request. It also lets the Lambda invocation complete …
How to handle client errors gracefully with AppSync and Lambda Read More »
It’s been two years since I last wrote about Lambda layer and when you should use it. Most of the problem I discussed in that original post still stands: It makes it harder to test your functions locally. You will still need those dependencies to execute your function code locally as part of your tests. …
Lambda layer: not a package manager, but a deployment optimization Read More »
In the last post I discussed my preferred approach for modelling multi-tenant applications with AppSync and Cognito. This approach supports the common requirements in these applications, where there are a number of distinct roles within each tenant. This approach (and others like it) works great when the tenants are isolated. But what if they are …
Building a custom IAM system has made me appreciate AWS IAM even more Read More »
By continuing to use the site, you agree to the use of cookies. more information
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.