Live data from Hacker News

Libaws: A simpler way to declare AWS infrastructure

github.com

51–60 of 93 posts

Re: Libaws: A simpler way to declare AWS infrastructure

#51

Some feedback on this idea from someone who works at AWS and has worked on similar tools to make AWS easier, such as AWS Copilot ( https://aws.amazon.com/blogs/containers/introducing-aws-copi... ): The hard part isn't making AWS easier, it is making a tool which is both easy and flexible enough that a user can do what they need (within reason), then outgrow your tool and move on. In specific any tool based abstractio…

In case of cloud providers its quite often that Terraform Providers are updated faster by dedicated teams than their own Cloud solutions.

Cloudformation or AWS CDK are upgraded slower than providers for example.

So this argument is mot.

Re: Libaws: A simpler way to declare AWS infrastructure

#52

Why should it be? is Linux easy? Is Windows? AWS (as is GCP and Azure) can basically be thought of as an entire operating system, with extremely low level concepts (VPCs, EC2 machines), mid-level (Lambda, StepFunctions, EventBridge), and high-level (Translate, Comprehend, Rekognition, etc) I am not sure if this library helps. It presents its own opinionated flavour of AWS but doesn't really hide enough of the details…

We need AWS Distributions, like Linux distributions, and pre-made Apps that work with that distro.

Re: Libaws: A simpler way to declare AWS infrastructure

#53
post #49
post #19

Terraform modules? In particular, https://github.com/terraform-aws-modules/ is a better solution for anyone looking for this IMO. (Yes there is a comparison to 'terraform' in the Readme - I'm not convinced it's considering modules, versus just using the AWS provider directly. Another bonus of using tf modules over this: you can eventually realise you need to graduate to using the AWS provider directly, and do so quit…

We've had a lot of success using the AWS CDK (our code[0]). We wrote a tonnn of stuff with Terraform back we were building a low-code platform, but it was a ton of work to manage. The AWS CDK has higher level "constructs"[1] that are really nice to use. How does that compare to the state of the world for things like Pulumi or Terraform these days? 0: https://github.com/lunasec-io/lunasec/tree/master/lunatrace/... Any…

You were building a lowcode platform so it makes sense. I wouldn't promote that to every other DevOps team out there because they'd shoot their feet regularly.

Re: Libaws: A simpler way to declare AWS infrastructure

#54
post #48
post #35

Earlier quoted context omitted.

Using a proper programming language seems to be the obvious end-game of configuration. Everything as code. Not quite sure why we keep trying and failing to use non-Turing complete configuration languages.

...and doing that allows one to interface to existing sources of truth for inventory and whatnot.

Just like with every other tool, right? Ansible dynamic inventories, Terraform plugins, etc.

Re: Libaws: A simpler way to declare AWS infrastructure

#55
There is no tool in the world that will make you good at something you don't know.

If you allow me a story, I sail on a kind of boat, called a squib. For the foresail, eg the sail that is in front of the mast, it has the regular sheets, a Cunningham, a halyard tensioner and barber haulers. The squib is a very easy boat to sail, notoriously hard to sail fast.

Complaining about AWS being complicated, is the same as complaining the squib is complicated, just because it gives you options. I don't have to use all those controls, I still can get from a to b without using them. But if I want to win the race, I have to understand what they do and use them appropriately.

Re: Libaws: A simpler way to declare AWS infrastructure

#56

As stated earlier this week, AWS's CF is your opportunity . Seriously, there is a business opportunity here. Make a multi-cloud interface that is easy to use, prevents lock-in, has reasonable defaults ... please?

Orchestrations that promise they are “cloud-agnostic” like Kubernetes in fact are also bound to vendor lock-ins due to services they are run on.

This makes a pretty sound argument that “cloud-agnostic” solution is never going to be built.

Its bad for cloud-providers business and so they will never unify.

Re: Libaws: A simpler way to declare AWS infrastructure

#57

IMO, this is seeing everything as a nail when you're a hammer. AWS provides extreme flexibility. This really only becomes valuable once you hit a scale that you can optimize your infrastructure around the shape of your needs. * Need some heavy workload to run in the most cost effective data center at the most cost effective time. Yep, AWS is great for that. * Need a specialized GPU set. Yep, AWS is great for that. *…

It's interesting to see everyone's different views on Docker. Here you (at least to my reading) suggest that people who need simplicity should just chuck their app in a Docker container, but elsewhere I've seen it portrayed as something you shouldn't touch until you have an infrastructure team.

Maybe I'm interpreting this wrong and the HN-consensus path is something like bare VPS => Docker => use AWS directly and tweak everything how you want it?

Re: Libaws: A simpler way to declare AWS infrastructure

#58
post #35

Earlier quoted context omitted.

Agreed, trial & error with YAML sucks. People hated it so much that Amazon created CDK, a tool that basically generates/executes Cloudformation templates.

Using a proper programming language seems to be the obvious end-game of configuration. Everything as code. Not quite sure why we keep trying and failing to use non-Turing complete configuration languages.

The worst offense is perhaps that we've evolved quite intuitive languages that would impeccably serve most con/prosumer needs as far as "mostly static but smartly architected" configurations are concerned.

Python, Go, even Scratch (for a 100% GUX)… And among the many pros, error handling is enough to warrant the change from markup.

But IMHO here's the one barrier: people need to stop thinking of an Information System (IS) as a collection of machines, and move one level of abstraction above to consider said IS as the unit, and machines as subs of sort (subsystems, components, modules, call it what you want). Conceptually, your "main" space is the IS, everything else is modules down the namespace hierarchy. We need to think of machines as we used to think of programs, and think of IS's as we used to think of machines. In the UNIX philosophy, any application is a collection of programs, just as an IS-as-code is a collection of machines-as-software-modules (basically feature libraries for "main" to use).

When that paradigm comes, you'll be able to simply "import" some subsystem (say Elastic Search, whatever machines in the IS) and add that (as a class, method, whatever) to all your existing objects, because the concept of "interfaces" (quite literally the basis of interoperability, dating back forever in computing) will be _native_ to your IS model in a Turing-complete paradigm.

Not sure my wording made sense to non-programmers (cue: "quotes" are technical terms, not general meaning), but I'm too lazy to write a layman expose.

Re: Libaws: A simpler way to declare AWS infrastructure

#59
post #49
post #19

Terraform modules? In particular, https://github.com/terraform-aws-modules/ is a better solution for anyone looking for this IMO. (Yes there is a comparison to 'terraform' in the Readme - I'm not convinced it's considering modules, versus just using the AWS provider directly. Another bonus of using tf modules over this: you can eventually realise you need to graduate to using the AWS provider directly, and do so quit…

We've had a lot of success using the AWS CDK (our code[0]). We wrote a tonnn of stuff with Terraform back we were building a low-code platform, but it was a ton of work to manage. The AWS CDK has higher level "constructs"[1] that are really nice to use. How does that compare to the state of the world for things like Pulumi or Terraform these days? 0: https://github.com/lunasec-io/lunasec/tree/master/lunatrace/... Any…

There's also https://www.terraform.io/cdktf

Re: Libaws: A simpler way to declare AWS infrastructure

#60

> X should be easy > proposes solution that involves YAML Am I crazy, ignorant, or is YAML the most tedious and error-prone format edit?

To be fair, I find editing YAML files not that bad, especially with VSCode checking the syntax and pointing out anomalies.

But it can be tricky to read other people's YAML files on GitHub. It's easy to miss subtle mistakes.

Post reply on HN