AWS

How I built an affiliate tracking system in a weekend with serverless

Having taught thousands of students to build serverless applications via my online courses and workshops, I felt it was time to kick-start an affiliate program to boost sales. Affiliates would receive 50% of the revenue and get a 15% discount code for their audience. It feels like a good deal but I would need a …

How I built an affiliate tracking system in a weekend with serverless Read More »

CloudFormation: How to set Deletion Policy to Retain for production only?

It’s a good practice to use CloudFormation’s deletion policy to protect stateful resources such as DynamoDB tables or RDS databases from accidental deletions. Such as when someone accidentally deletes a CloudFormation stack! As I discussed previously [1], this is a much better way to guard against these accidental data losses than separating stateful and stateless …

CloudFormation: How to set Deletion Policy to Retain for production only? Read More »

Static IP for Lambda: ingress, egress and bypassing the dreaded NAT Gateway

Many vendors require you to have a static IP address for your application. Such that all requests to their API must originate from an allow-list of IP addresses. This means we need to force egress traffic from our Lambda functions through a static IP address. Sometimes, they even mandate that you use a static IP …

Static IP for Lambda: ingress, egress and bypassing the dreaded NAT Gateway Read More »

Step Functions: combine Standard and Express workflows for fun & profit

Step Functions’ state machines come in two flavours. By understanding their strengths and limitations, you can harness the combined power of both to optimize your processes for efficiency and cost. Standard Workflows Optimal for: Business-critical operations like payment processing. Strengths: Suitable for low-throughput scenarios. High maximum duration ensures enough time for retries using exponential backoff. …

Step Functions: combine Standard and Express workflows for fun & profit Read More »

What’s the most serverless way to wait for a slow HTTP response?

Every now and then you are faced with an awkward situation where you need to wait for a slow HTTP response and it can take more than 15 mins. Using Lambda is impractical because of the 15 mins timeout, and very cost ineffective because you will be paying for all that idle time by the millisecond.

If not Lambda, what’s the most serverless way for you to wait for a sloooow HTTP response?

Are we getting infrastructure all wrong in the Serverless era?

In my last conversation with Ben Kehoe on the real-world serverless podcast, he said something profound and it’s been bugging me ever since. And now I’m ready to infect you with this brain bug! You’re welcome ;-) On the infrastructure-from-code trend, Ben said: “I think infrastructure-from-code is wrong on all counts. I don’t think we should …

Are we getting infrastructure all wrong in the Serverless era? Read More »

Testing Step Functions: how to skip time when testing Timeout and Wait states

When I previously wrote about testing Step Functions, I gave you a general strategy that consists of: Component tests that target the Lambda functions (specifically, the custom code you wrote in those functions). End-to-end tests that execute the state machine in the cloud. Local tests using Step Functions Local where you can use mocks to …

Testing Step Functions: how to skip time when testing Timeout and Wait states Read More »

No, you don’t need to test every line of your CDK application

Several people have asked me about unit testing CDK applications recently. The questions often go something like this: “Because it can be in Python or TS, people bring up unit testing for CDK, whereas it’s not even thought about with Serverless Framework, SAM or Terraform. What are your thoughts on this?” “I have so many …

No, you don’t need to test every line of your CDK application 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