News for hackers. Stuff that matters.
Re:Ask HN: Getting tired of complexity in web development by kbrannigan on Saturday October 08, 2022 @02:41PM (#33134804)
Speaking of ops. What is the simplest reproducible way to accomplish this task.

- create vm instance ( setup firewall, users, network dna, stuff) - install : apache, runtime - install app.

Re:Ask HN: Getting tired of complexity in web development by gregjor on Saturday October 08, 2022 @02:47PM (#33134851)
Set it up once. Snapshot an image (called an AMI on AWS, but applies on all cloud services). Use the image to make new identical instances.

You can also script the process with (for example) Terraform.

Re:Ask HN: Getting tired of complexity in web development by chrismarlow9 on Saturday October 08, 2022 @03:04PM (#33135007)
Nearly every company I've ever worked for could get away with only using:

- packer for images

- terraform for prod infra

- vagrant for local dev

- pssh for ci/cd and config management

And in some cases I would say they'd be far more efficient with this setup.

Re:Ask HN: Getting tired of complexity in web development by nikanj on Saturday October 08, 2022 @02:58PM (#33134951)
Heroku or alternatives
Re:Ask HN: Getting tired of complexity in web development by betaby on Saturday October 08, 2022 @02:59PM (#33134964)
create - terraform, install / manage - cfengine / ansible / chef
Re:Ask HN: Getting tired of complexity in web development by aprdm on Saturday October 08, 2022 @03:07PM (#33135030)
A single ansible yaml
Re:Ask HN: Getting tired of complexity in web development by Eduard on Saturday October 08, 2022 @03:08PM (#33135042)
All the responses you got so far suggest exactly what this "Ask HN" actually wants to avoid: Terraform, AMI, Packer, Ansible, Chef ..., the list goes on

Here is my suggestion for keeping it simple, by solely relying on skills you will need anyways: git and shell scripting.

- Write a shell script that executes all those commands you would run manually to set up your system.

- Put up a git repository in the `/` directory, `.gitignore` everything by default, and explicitly git-notignore all those configuration files and user files/maintenance scripts which are relevant for your environment. Use githooks to also track/restore file permissions and ownerships of these tracked files.

Re:Ask HN: Getting tired of complexity in web development by skydhash on Saturday October 08, 2022 @03:22PM (#33135181)
Either the snapshot route to have a base image you can then run a single script to install the app. Or use something like Ansible to have reproducible configuration.
Re:Ask HN: Getting tired of complexity in web development by eddsh on Saturday October 08, 2022 @04:15PM (#33135617)
Honestly I use bash for this. I keep a local repo of .deb/.tar.gz files and scp them onto a machine which makes them reproducible. I use uvt-kvm for VMs, config files to cover basic settings, and that's basically it. I run a fairly decent sized test lab with multiple servers that have to be reproducible, quick to edit, and install fairly complex toolchains.
Re:Ask HN: Getting tired of complexity in web development by icedchai on Saturday October 08, 2022 @04:26PM (#33135694)
You launch the instance with "aws" CLI, passing it a user-data script (cloud config) that does all the things you describe with simple shell scripts. You install the app by copying it from an S3 location (build output), which is also defined in the script.

If you later want to port this into terraform, you can.

Re:Ask HN: Getting tired of complexity in web development by bingo-bongo on Saturday October 08, 2022 @05:15PM (#33136082)
There is already many answers to your question and not to be rude, but I think it perfectly shows part of the problem OP is talking about.

Every single answer goes straight to name dropping various specific techs/tools and I don’t doubt it really is the most simple way for each poster. But I think a much better answer, would be a bunch of questions that dig into what kind of problem you are trying to solve, what are the circumstances, skillset, limitations, budget, is it 1 tiny private app for fun or a couple of apps your team or even company depends on etc.

Because it depends on the specifics in _your_ situation and jumping straight to _a_ solution, without understanding _your_ problem, is imho part of the over-complexity-problem in our industry.