Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: AWS Should Be Easy (github.com/nathants)
9 points by nathants on May 21, 2022 | hide | past | favorite | 14 comments


AWS is hard by design. This created a cottage industry of consultants that further push AWS into enterprises and basically create a form of job security.


I think there's an ongoing notion that all things somehow suppose to be easy, even trivial. AWS enables running very complex system and caters to a wide spectrum of users,so it can't be one fits all solution with button to click. The same can be said about virtually anything from Java to Linux administration.


aws absolutely should be easy, and needn’t sacrifice any capability to do so.

i can choose to use none of apigateway but wiring up a domain to a lambda. i haven’t removed any of its other functionality, i’ve just chosen not to use it.

it will always be there, if i change my mind. one of the best reasons to use aws is that all those extra knobs are there, just waiting for you, if you need them.

trying to fiddle with all the knobs immediately is usually where the problems start, and the fun dies.

aws should be easy. maybe later, if it’s worth it, it can be hard.


Sure, it may be suited for large enterprise customers. But no early stage startup should start on AWS imo


no startup should start on aws unless they have years of expertise with it.

unless they can tape over all the knobs they don’t need with little notes that say: peel off when your on the moon.

this is what i’ve done here.

i believe there should be fewer knobs.

i believe i shouldn’t have to remember which knobs to tape over every time i launch a new product.

i believe for almost every use case, a single subset of the knobs is sufficient.

i believe that when the day comes this is no longer true, it should be just as easy to peel off the tape.

aws is easy, and is fun, and (egress aside) is cheap thanks to scale-to-zero and spot.

i believe this more every day.


it’s certainly possible this was the original intent, or just an accident and they leaned into it. we’ll never know.

either way the essential core of primitives is down there, just wrapped in multiple levels of nutshell.

the sre excellence is probably indisputable.


AWS is hard to use because it maximizing ROI for Amazon. If it was profitable to make it easy to use they'd make it easy to use.

Good tool though.


i disagree. i believe that aws is hard because it provides the feature set that is the union of the needs of all customers, and that the customers are massive company inc.

inside of that bloated feature set, there exists an essential core of primitives, operated by the best sre the world has seen.

i believe this core should be easy to use, and fun too.


With the CDK and solutions constructs, AWS is much simpler if not outright easy. Apparently this was profitable for them. It was also sufficiently easier that its being used extensively inside Amazon itself for development. (Yes, most folks dislike CloudFormation.)

For what it's worth, I cannot fathom how competitors like Azure or Google Cloud could be seen as simpler for non-trivial stacks. DigitalOcean and its ilk aren't even competitors; they are made for simplifying what AWS used to be 10 years ago. (That's not a bad thing, just recognize it for what it is.)

For a lot of folks (myself included), the hardest part was mapping the concept to the product name in my head, eg. DNS is Route53, file storage is S3, relational database is RDS, auth is Cognito, queues are SQS, Redis/Memcached are ElastiCache, etc. There's very little in AWS that doesn't map directly to a well-known concept in software architecture.

If your context for an app is some autoscaling VMs (or dedicated server) serving a REST API with a relational database backing it, you're probably not the target audience.

That said, if you have a small site with meager database query requirements, DynamoDB (less that 20GB) + Lambda + API Gateway are basically free for less that a million requests per month. Hell, RDS is free for the first year. A statically generated site on S3 might be an even better option.

If you want/need queues, push notifiers, advanced DNS management with certs, flexibility with serverless constructs, machine learning engines, relational databases with automatically rotating creds instead of fixed passwords, analytics engines, an essentially infinitely scalable key-value store, flexible secrets management, stack change auditing, content delivery network, integrated CI/CD infrastructure, comprehensive authz at the app, dev, and ops levels, etc., you've graduated well last what a few VMs and a Postgres instance can do.

That's what AWS is for and what it currently does way better than anyone else. If that's not what you need right now, that's fine. But unless you're at Facebook or Google scale where provisioning, tooling, and staffing this yourself is doable, AWS (and to a lesser extent Azure and GCloud) are where you want to be.

(Shout out to Google Cloud for their Spanner database. Simply amazing. I just wish the rest of their cloud tools were similarly amazing.)

AWS is where folks go when the solution to their problems isn't a clear cookie cutter but in that vast expanse where "it depends" rules.


extremely well said. bravo.

i don’t enjoy cdk/cf, and want to explore further, but i’m glad cf exists.

if i were to use one of the big 4 iac, it would be cf. it’s not that much worse than the others, and it’s documented and used in the exact same way as the api primitives.


I hate writing/editing/maintaining CloudFormation templates. Hate them in yaml. Hate them in json. Hate the ambiguity. Hate "debugging" them (which of course I mean try to deploy and fix problems that pop up one at a time).

And while I realize CDK mostly just synthesizes down to CF, it was honestly a breath of fresh air in the world of IaC.

"Oh! You want IaC that can also build/test all of your lambdas, containers, and VMs in a monorepo, generate the policies you need, and set up CI/CD pipelines that cross account boundaries without much fuss? Welcome to CDK World!"

https://youtu.be/1ps0Wh19MHQ


cdk is for great good, and i’m glad it’s putting the spring back in your step! a rising tide raises all ships. i can’t wait until i’m embarrassed by how slow and annoying my aws sdlc is compared to sota. then i’ll have to do better. embarrassment driven development.


to be fair, deeply understanding the aws primitives, their apis, and their relationships, is a lot more work than slapping together some cf json.

while i enjoy it, and value the experience of it, i realize not everyone feels the same or has the time.

this is fine, and why cf exists.


re-posted to update to final title and readme what/why/how.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: