Live data from Hacker News

Fake it until you automate it

understandlegacycode.com

1–10 of 52 posts

Re: Fake it until you automate it

#2
Try including the IT support cost of the collateral damage unskilled workers can do with administrative rolls. You will end up supporting hundreds if not thousands of operational features.

I am not suggesting you should give a toss, but at least admit what happens before you inflict the decision on your team.

Have a wonderful day =)

Re: Fake it until you automate it

#3
Wow, please don't ship that. A whole suite of CLI tools for a custom deployment pipeline is my worst nightmare if something goes wrong. The purported benefits:

> It gets people into the habit of running a single command to initiate deployments

npx firebase-tools deploy --only functions -P staging

is also one command

> It’s a more obvious source of truth for putting the deployment instructions

If that command were put into CI/CD, that would be an even more authoritative source of truth.

> Because it’s already an executable script, it makes it easier for us to automate some of the steps listed

The executable script can't be run by CI/CD and is another potential source of bugs/mistakes.

The real "fake it until you automate it" for deployment would've been ssh'ing into the server, running git pull, and restarting the server. That's no longer possible with serverless nowadays, but this seems to go from taking something that's relatively straightforward to something that's very complex.

Re: Fake it until you automate it

#4
post #3

Wow, please don't ship that. A whole suite of CLI tools for a custom deployment pipeline is my worst nightmare if something goes wrong. The purported benefits: > It gets people into the habit of running a single command to initiate deployments npx firebase-tools deploy --only functions -P staging is also one command > It’s a more obvious source of truth for putting the deployment instructions If that command were put…

> npx firebase-tools deploy --only functions -P staging

Better yet:

    make deploy-staging
Even when it's just wrapping something else, I strongly prefer to use make(1) as the universal all in one command.

Re: Fake it until you automate it

#5
Bottom up automation when top down automation can’t figure out what is really needed for a deployment. Once your weird cli deploy thing is complete, it can be given to a proper automation software team as a very clear spec.

But one side note: if you have sysadmin skills and can write some shell scripts and have used more than one distro, you are effectively a Do ker expert. Configuring a docker image is just says admin 101 with little bitty shell script fragments.

Re: Fake it until you automate it

#9
post #3

Wow, please don't ship that. A whole suite of CLI tools for a custom deployment pipeline is my worst nightmare if something goes wrong. The purported benefits: > It gets people into the habit of running a single command to initiate deployments npx firebase-tools deploy --only functions -P staging is also one command > It’s a more obvious source of truth for putting the deployment instructions If that command were put…

> npx firebase-tools deploy --only functions -P staging Better yet: make deploy-staging Even when it's just wrapping something else, I strongly prefer to use make(1) as the universal all in one command.

I don't know if that pattern has a name, but I really love that on my team if there is a script it should be runnable through the Makefile. I know some people are very good a remembering commands, but I'm not and being able to do `make docker`, `make init`, `make eval`, etc... really simplifies my workflow.

Re: Fake it until you automate it

#10
post #9

Earlier quoted context omitted.

> npx firebase-tools deploy --only functions -P staging Better yet: make deploy-staging Even when it's just wrapping something else, I strongly prefer to use make(1) as the universal all in one command.

I don't know if that pattern has a name, but I really love that on my team if there is a script it should be runnable through the Makefile. I know some people are very good a remembering commands, but I'm not and being able to do `make docker`, `make init`, `make eval`, etc... really simplifies my workflow.

There can definitely be some downsides to this approach. For example, let me see what the CI script does to deploy. "make deploy", ok let me checkout the Makefile. Ok, that calls some python module "deploy.py". I tend to get frustrated with all the indirection and would prefer to just see the deploy steps in the CI script itself.
Post reply on HN