I would simply trigger a Lambda function once a minute (or every X minutes) using CloudWatch to fetch the latest articles and save them to an S3 bucket which I would expose and cache using CloudFront or any other CDN service.
This would lead to:
- No Lambda costs as it would be covered by the monthly free tier of 1M requests.
- No storage costs as the size of the stored data would be extremely small.
- Really fast responses as the “response” would actually be a static file cached at the CDN.
- The only parameter defining your cost would be your CDN of choice, which would cost somewhere between free and as low as $10/TB. For a project like the one in the article, that’s hundreds of millions of requests for just $10.