The blog of Trek10, an AWS consultancy, covering serverless, DynamoDB data modeling, Fargate, Lambda, and cost comparisons.
HN commenters cite its single-table DynamoDB relational modeling article as insightful, though some doubt such NoSQL modeling; the author joins a Cloud9 discussion.
Author here. HN in a lot of cases has readership that I’d put in the segment of developers that should absolutely not be using Cloud9 daily.
I personally take using Cloud9 to the absolute extreme(https://www.trek10.com/blog/i-buy-a-new-work-machine-everyday), having my Cloud9 env setup scripted and creating a new one every day/project. I don’t really recommend that approach for most folks. Anecdotally, it has paid off well when I left a Mac on a train and I was able to walk in an apple store grab a new one and lost minimal productivity for the day.
However, the flip side of all this is I regularly work with a lot of IT people that have underpowered machines, flaky / poor internet, crazy restrictions on their work machines that cause all sorts of problems with CLI / program installation, etc. I’ve found Cloud9 to be super liberating for those folks particularly with the parity of Cloud9 to AWS Lambda runtimes.
Shameless plug: I wrote AWSets[1], which can be used to do some of this (although the graphs aren't as pretty). It was written because at work we regularly interact with hundreds of AWS accounts and wanted something to quickly scan/catalog all of the resources (launch blog post explains more [2]).
It's free to run locally (doesn't use or require Config), the data is normalized & output as JSON for you to do whatever you want with it. It has better coverage than similar tools (>250 resources & growing), and provides relationship mapping between them as well. It's still a work in progress and might have rough edges, so feel free to file issues to help make it better.
[1] - https://github.com/trek10inc/awsets
[2] - https://www.trek10.com/blog/awsets-aws-resource-listing-made-easy
Source on the price comparison? Or did you mean that Lambda is 1000x cheaper than EC2 [1][2]? It's obviously load dependent but functions-style code is going to typically be cheaper than even the smallest EC2 instance while handling more load (provided your RAM/CPU usage fits within the envelope it's optimized around).
Disclaimer: I work at Cloudflare on R2 and Workers is even cheaper than Lambda@Edge (provided your workload fits within the compute envelope). Billing is based on CPU time not wall time [3]. Workers Bundled pricing can be more cost effective in some cases if you only need <= 50ms of compute.
[1] https://lumigo.io/blog/aws-lambda-vs-ec2/
[2] https://www.trek10.com/blog/lambda-cost
[3] https://blog.cloudflare.com/introducing-workers-unbound/
I've seen a very good article on this: https://www.trek10.com/blog/dynamodb-single-table-relational-modeling. It's an insightful dive into how KV stores can model relational data. However I also feel that these 'NoSQL can do relational modelling!' proponents are kind of hijacking the term: a relational model is understood to be based on relational algebra, and DynamoDB's Everything is One Big Table design ain't it.
NoSQL can model relational data, but it is not a relational model (as understood by E.F. Codd).
Also, NoSQL data access patterns are pretty much set in stone, which is kind of what the relational model explicitly avoids.
Every technology has some degree of lock-in. Serverless has tradeoffs like anything else. The question is, do the benefits outweigh the costs? I recently did a writeup on this that helped me work through my own thoughts on the issue: https://www.trek10.com/blog/think-faas-podcast-talkin-lock-in/
Fargate isn't really expensive? It does have a premium but I wouldn't say 'really expensive'. https://www.trek10.com/blog/fargate-pricing-vs-ec2