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 »

Weekly update 46

Hi, welcome to another weekly update, it’s been a busy few weeks for me so lots of things to catch you up on! Production-Ready Serverless workshop is back! My 4-week Production-Ready Serverless workshop is coming back in September. With an improved and more comprehensive curriculum based on student feedback from the last run in May, when over …

Weekly update 46 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 »

I left full-time employment, here’s what happened since

It’s been 12 months since I left full-time employment to fly solo as an independent consultant. After 15 years of full-time employment, I had to learn a lot, very quickly, after making this career change. Honestly, life has been great since. Even a global pandemic hasn’t managed to dampen my mood! In case you’re considering …

I left full-time employment, here’s what happened since 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 »

Weekly update 45

Hi, welcome to another weekly update. First of all, I want to thank Dynobase for sponsoring this week’s update. Dynobase – Professional GUI Client for DynamoDB Dynobase accelerates your DynamoDB workflow with easier data exploration, code generation, bookmarks, tabs, history, import/export capabilities and much more. Dynobase is available for Mac, Windows and Linux. Download Free 7-Day Trial. …

Weekly update 45 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 »

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