How to make serverless framework boilerplates customizable

The Serverless framework lets you reference external JSON, YML and JS files using the syntax ${file:(fileName):propertyName}. However, you can’t customize these external config files with runtime arguments. A reader asked me: “I have this boilerplate that is repeated many times in my serverless.yml, how do I reuse the boilerplate but override only specific fields?” It’s …

How to make serverless framework boilerplates customizable Read More »

Serverless Step Functions: no more leaky abstractions

I have some exciting news to share with you about the Serverless Step Functions plugin. One of the main pain points of using the plugin was that you needed to use fully-formed ARNs. We addressed this in v1.18.0 by supporting CloudFormation intrinsic functions Fn:GetAtt and Ref. This makes it possible for you to reference a …

Serverless Step Functions: no more leaky abstractions Read More »

Weekly update 30

Hi, welcome to another weekly update :-) Let’s welcome Blue Matador as this month’s sponsor! Blue Matador is monitoring alert automation for AWS and Kubernetes environments. Our proactive alerts take the time and toil out of monitoring. Trying to understand baselines and thresholds, and configuring alerts, especially in black boxes like Lambda and K8s, requires …

Weekly update 30 Read More »

Introducing a better way to record custom metrics

Many clients have asked me “how do I record custom metrics from Lambda?”. Generally speaking, you can either: Publish custom metrics synchronously – e.g. send them at the end of an invocation. Publish custom metrics asynchronously by writing them to stdout first and then extracting them from CloudWatch Logs. Problems with sending custom metrics synchronously …

Introducing a better way to record custom metrics Read More »

How to connect SNS to Kinesis for cross-account delivery via API Gateway

At DAZN (where I no longer work), the teams work with a number of third-party providers. They often have to synchronize data between different AWS accounts. SNS to SQS is the primary mechanism for these cross-account deliveries because: it was an established pattern within the organization DAZN engineers and third-party engineers are both familiar with …

How to connect SNS to Kinesis for cross-account delivery via API Gateway Read More »

Weekly update 29

Hi, welcome to another weekly update. This is my first update since moving to Amsterdam, and I have perhaps been indulging myself on Stroopwafel a little too much! Seriously, they’re so good, and available everywhere! Anyhow.. on with the update ;-) New posts Meet the family, the “other” AWS serverless services. In this post, I …

Weekly update 29 Read More »

AWS Lambda: how to share code between functions in a monorepo

A while back, a client asked me “how can I share business logic between services in a Node.js monorepo?”. The TL;DR of it is: Encapsulate the shared business logic into modules, and put them in a separate folder. In the Lambda handler functions, reference the shared modules using relative paths. Use webpack to resolve and …

AWS Lambda: how to share code between functions in a monorepo Read More »

Step Functions as an ad-hoc scheduling mechanism

We previously discussed how you can implement an ad-hoc scheduling system using DynamoDB TTL as well as CloudWatch Events. And now, let’s see how you can implement the same system using AWS Step Functions and the pros and cons of this approach. As before, we will assess this approach using the following criteria: Precision: how …

Step Functions as an ad-hoc scheduling mechanism Read More »

Weekly update 28

Hi, welcome to another weekly update. Bye bye, DAZN! Yesterday was my last day at DAZN. Handed in my laptop, bagged my slippers, this is it. It's been a pleasure @dazneng! See you guys around ?? — Yan Cui (@theburningmonk) June 21, 2019 I’m fortunate and grateful to have had the chance to play a …

Weekly update 28 Read More »

AWS Lambda: how to detect and stop accidental infinite recursions

Lambda makes it easy to build event-driven architectures. Each function only needs to look after its own responsibilities. We chain them together through APIs, queues, streams, and other event sources. It’s a good way to build complex systems out of simple components. We need only managed services, and we only pay for them when we …

AWS Lambda: how to detect and stop accidental infinite recursions 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