AWS

Choreography vs Orchestration in the land of serverless

Choreography and Orchestration are two modes of interaction in a microservices architecture. In orchestration, there is a controller (the ‘orchestrator’) that controls the interaction between services. It dictates the control flow of the business logic and is responsible for making sure that everything happens on cue. This follows the request-response paradigm. In choreography, every service …

Choreography vs Orchestration in the land of serverless Read More »

How I scaled an AppSync project to 200+ resolvers

I have been working on a large AppSync project for a client these past few months. The initial version of the app was built in just a few weeks, but the client has commissioned additional features and the project has kept growing. At the time of writing, this project has over 200 AppSync resolvers and …

How I scaled an AppSync project to 200+ resolvers Read More »

AppSync: how to inject table names into DynamoDB batch & transact operations

When working with CloudFormation, AWS recommends not to give explicit names to resources and let CloudFormation name them for you. This has several advantages: It’s harder for attackers to guess resource names such as S3 buckets or DynamoDB tables. You can deploy the same stack multiple times to the same account. This is useful when …

AppSync: how to inject table names into DynamoDB batch & transact operations Read More »

Are Lambda-to-Lambda calls really so bad?

If you utter the words “I call a Lambda function from another Lambda function” you might receive a bunch of raised eyebrows. It’s generally frowned up for some good reasons, but as with most things, there are nuances to this discussion. In most cases, a Lambda function is an implementation detail and shouldn’t be exposed …

Are Lambda-to-Lambda calls really so bad? Read More »

Production-Ready Serverless is back (with improved curriculum)!

My 4-week Production-Ready Serverless workshop is back! With an improved and more comprehensive curriculum based on student feedback from the last run in May, when over 50 students from around the world took part. This is a hands-on workshop where you will learn best practices for building serverless applications by building an e-commerce solution from …

Production-Ready Serverless is back (with improved curriculum)! Read More »

How to choose the right API Gateway auth method

Update 21/06/2020: following lots of feedback and questions on Twitter, I have updated the post to include a few more options. Quite a few clients have asked me “Hey Yan, what API Gateway auth method should I use for this REST API?” so I thought I’d share my answer with everyone here. This is the …

How to choose the right API Gateway auth method Read More »

AppSync: how to compare strings lexicographically in VTL

I had been working on a client project where I built the GraphQL backend for a new social network using primarily AppSync, Lambda and DynamoDB. One of the features of the app was to support private messaging between two users. To allow either user to fetch their chat messages in chronological descending order, I modelled …

AppSync: how to compare strings lexicographically in VTL Read More »

AppSync: how to error on DynamoDB conditional check failures

TL;DR To make an AppSync DynamoDB resolver throw exceptions on conditional check errors, we need to check $context.error in the response mapping template ourselves. Like this: #if ( $ctx.error ) #if ( $ctx.error.type.equals(“DynamoDB:ConditionalCheckFailedException”) ) $util.error(“your error message”) #else $util.error($ctx.error.message, $ctx.error.type) #end #end $utils.toJson($context.result) And now, the longer version. The problem AppSync lets us perform DynamoDB …

AppSync: how to error on DynamoDB conditional check failures Read More »

Skill up your serverless game with my new instructor-led online workshop

Have you been wondering about serverless but just don’t know how and where to start? Maybe you’re already building stuff with serverless, but don’t know if you’re doing it right? Are you unsure about the best practices for testing, monitoring and how to choose between similar services like SNS and EventBridge?   I have just …

Skill up your serverless game with my new instructor-led online workshop 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.

Close