Yan Cui
theburningmonk.com · Personal blog · on HN since 2011
Yan Cui writes about AWS serverless architecture, Lambda, and Cognito, with some posts on functional languages and games.
What HN saysCommenters recommend it for serverless topics, and cite his Cognito write-up on its shortcomings and his post on Lambda cold-start costs of dependencies.
28HN people shared it
9linked it in comments
83stories submitted
581story points
1 year agolast shared
2011people per year2026
Most-shared posts
- 1Choreography vs. Orchestration in the Land of Serverless3 people · 26 points · first shared 2020 · 1 comments on HN
- 2The case for and against Amazon Cognito3 people · 8 points · first shared 2021 · discussion on HN
- 3Fear and Loathing in APL (2015)2 people · 140 points · first shared 2015 · 33 comments on HN
- 4Modelling game economy with Neo4j2 people · 125 points · first shared 2015 · 9 comments on HN
- 5You are thinking about serverless costs all wrong2 people · 34 points · first shared 2019 · 4 comments on HN
- 6Experience report of first week with Elm2 people · 6 points · first shared 2014 · discussion on HN
- 7Lambda layer: not a package manager, but a deployment optimization2 people · 4 points · first shared 2021 · discussion on HN
- 8Replacing API schema coupling with semantics2 people · 3 points · first shared 2025 · discussion on HN
- 9We can do better than percentile latencies2 people · 3 points · first shared 2018 · discussion on HN
- 10You don’t need to test every line of your CDK application2 people · 2 points · first shared 2023 · discussion on HN
- 11Aphyr on Consistency Models and MongoDB, Elasticsearch, AeroSpike2 people · 1 points · first shared 2015 · discussion on HN
- 12Homepage2 people · first shared 2017
- 13Beware of “async void” in C#1 people · 54 points · first shared 2015 · 22 comments on HN
- 14Takeaways from “Measuring micro-services”1 people · 28 points · first shared 2015 · discussion on HN
- 15Serverless Architecture – All you need to know about caching1 people · 25 points · first shared 2019 · 4 comments on HN
What HN people wrote when they linked it
ed_blackburn · 2024-04-15
I've started reading this book and I rate it highly so far: Serverless Development on AWS [0].
I agree that finding comprehensive, non-sales-oriented best practices can be challenging. One useful resource is Serverless Land from AWS [1], which offers a collection of practical examples and articles.
Mastering serverless involves more than just wiring up functions—it's about adopting Infrastructure as Code (IaC) principles. Over time, you'll develop reusable patterns and tools like Terraform modules that encapsulate best practices such as asynchronous Lambdas with EventBridge subscriptions, SQS Dead Letter Queues (DLQ), and appropriate error handling configurations.
For a deeper dive into the Serverless philosophy explicitly applied to AWS, I recommend checking out Yan Cui's blog [2]. Yan provides insightful articles on serverless architectures and patterns.
I suggest exploring the Reactive Manifesto [3] for principles and best practices in building responsive, scalable systems if you're interested in asynchronous messaging patterns.
[0] https://www.oreilly.com/library/view/serverless-development-on/9781098… [1] https://serverlessland.com [2] https://theburningmonk.com [3] https://www.reactivemanifesto.org
zedpm · 2021-04-20
Every year or so I check back in to see if Cognito has gotten any better. I hasn't. I'd love to use it, but some very basic things are just not done correctly. Yan Cui has a nice writeup on Cognito [0] that touches on some of its shortcomings.
[0]: https://theburningmonk.com/2021/03/the-case-for-and-against-amazon-cog…
zn44 · 2017-09-06
checkout http://theburningmonk.com/ for good posts on some serverless topics you've mentioned
mythz · 2013-03-28
Would've loved to see http://servicestack.net on this list which has great performance on .NET and Mono: https://github.com/ServiceStack/ServiceStack/wiki/Real-world-performan…
And also maintains .NET's fastest JSON and Text Serializers:
http://theburningmonk.com/2011/11/performance-test-json-serializers-pa…
Tehnix · 2020-12-01
I wrote this in another comment here, but just so you don't miss it: Don't.
Dependencies for the dynamic languages matter A LOT! Take a look at what it'll cost you for requiring the AWS SDK in Node.js, for your cold starts https://theburningmonk.com/2019/03/just-how-expensive-is-the-full-aws-…
Personal benchmarks puts Rust as the most optimal language that I've tried to run on AWS Lambda so far.
k__ · 2020-11-15
Yes.
The orchestration vs choreography problem.
https://theburningmonk.com/2020/08/choreography-vs-orchestration-in-th…
hn_throwaway_99 · 2018-10-07
> The point is pretty moot though, because you can schedule Cloudwatch Events every 4 minutes to keep a lambda warm, if necessary.
I encourage you to read this article, https://theburningmonk.com/2018/01/im-afraid-youre-thinking-about-aws-… , because if you're running a web API with Lambdas, keeping one instance warm with the "cloudwatch event every 4 minutes" trick will most definitely not solve your cold start issues.
qop · 2018-06-27
I think there are times when the graph model shines.
https://theburningmonk.com/2015/04/modelling-game-economy-with-neo4j/
I read this article I found on HN a few years ago, and for some reason it came to my mind just now.
The neat thing about the graph model of course is being more immediately expressive to the query-er, and that takes cognitive load away from that person.
I'll never say a bad thing about SQL or the relational model. I completely agree that it's superior in terms of flexibility, performance (almost always), modelling (usually), etc but I guess there are times where you have a weird project and it's just I guess the convenience and ease of using Neo4j and a few cypher queries and then it's over.
In the case of the article I linked, there is also the benefit of having a convenient way to see how changes echo throughout the graph, something that is more involved to do with tables and joins and all that. I'm not a DBA, I've really only ever dabbled, but if I got dropped into that situation and DIDN'T have a graph model, I'd have no clue where to even start. Maybe I'd start trying to walk tables and build graphs out from each item type to each other item type. That'd be gross.
Of course, that's probably not a problem scenario that comes up very often. Most of the times I've interacted with databases in general I've been just dealing with sanitizing params, getting HTTPS configurations configurated, just boring infosec stuff. That problem is probably very…
kiitos · 2025-06-22
The link invites readers to
explore our MCP directory https://www.anthropic.com/partners/mcp
The CloudFlare and Linear MCP servers (at a minimum) seem to use the same approach, the mcp-remote npm package, e.g.
https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/wor…
{ "mcpServers": { "cloudflare": { "command": "npx", "args": ["mcp-remote", "https://builds.mcp.cloudflare.com/sse"] } } } But mcp-remote is clearly documented as experimental:
> Note: this is a working proof-of-concept but should be considered experimental
https://www.npmjs.com/package/mcp-remote
I'm not sure how this could be considered anything other than professional negligence. I'm reminded of Kyle Kingsbury's CraftConf talk, Hope Springs Eternal: https://theburningmonk.com/2015/06/craftconf15-takeaways-from-jepsen-i…