Live data from Hacker News

Ask HN: Solo-preneurs, how do you DevOps to save time?

news.ycombinator.com

241–250 of 328 posts

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#241
Here is one particular but typical example - enterprise backend server written by yours truly, PostgreSQL and single page frontend application in Javascript. I do it for my own company and also develop in a same manner for my clients.

1) Server is high performance native C++ application running on rented native hardware on Linux. It processes thousands of requests/s in sustained manner hence no real need to use any of that k8s / docker / etc. There is also separate rented standby server.

2) I maintain a reusable single script that can rebuild complete system from the scratch with a single command. I periodically test it on local VM. It installs all needed compilers, tools, PostgreSQL, restores database from the latest backup, checks out from VCS and builds that C++ server, registers it as a daemon and refreshes Javascript Frontend.

3) I also wrote small server that subscribes to webhooks from VCS and can build artifacts. I only use it to pull and build Javascript part. It could do main server as well but being super cautious I trigger that step manually fingers crossed.

3) for DB I use automatic scheduled backups.

All in all after I've debugged and tested new version locally the release takes seconds. Script is written years ago and does not require much maintenance other then updating artifacts to new versions (replace apt-get install XXX-31 with apt-get install XXX-32) and register and build ZZZ server instead of YYY server. Compared to insanity I saw in some orgs my setups are piece of cake.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#243
post #238

Earlier quoted context omitted.

Yeesh I cannot imagine not setting up at least a basic CI. Even if you remove all unit/integration test alarms, a CI is still very useful. The 20 minutes of build -> upload -> deploy script -> check prod vs a 1/2 day to set up a CI and forget it. I'm not sure you save much time but you save a lot of headache

I think you mean automation is very useful. I've worked in a lot of places where we had a single `make deploy` that could compile, test, upload the artifacts, deploy the artifacts to hosts, start the new services, and slowly transition the load balancer to point at the new instances while automatically backing out if error metrics started lighting up. This is just automation, it doesn't have to happen on every commit…

I guess that's fair, I'm probably coming into this having only seen it done a certain way and blind to other possibilities.

That being said, it would take a lot to convince me a standard CI/CD pipeline is not worth the investment. My only experience with non CI/CD deployment process was a very manual process at a startup, then when I saw my first CI/CD it felt like magic.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#245

I have no idea why there's nothing here saying "don't". Go and get a Heroku account, hook it up to your Github repository's master branch for deploys, use Github Actions for CI, and then get on with life. Yes, you'll pay more for a Heroku Postgres instance than you would for a VPS on Digital Ocean with Postgres running on it, likewise you'll pay more for Heroku Dynos than another VPS to run your application server. O…

This is what I've been doing for years, but Heroku Postgres is so bloody expensive, it just doesn't make sense for apps that don't make much money. So I just moved my data to an RDS instance, shared between multiple apps. Cost savings are great, headache savings much less so. I would say if you are going to move off Heroku, do it with the apps/projects where you can f-up, or have downtime without much repercussion. AWS stuff is a deep dark forest, undocumented and confusing. I'd say for anything that is critical, just keep paying Heroku. It isn't worth it.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#246
this is why everytime i post here on HN that i want to make my toolset smaller, and i’m not interested in learning more tools. i catch a lot of flak, but i’ve been in this boat now for more than 15 years and I can say that if you need to manage everything with 1 or 2 people, you need to approach this differently than what a normal startup does especially if you are not able to raise funding.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#247

I have no idea why there's nothing here saying "don't". Go and get a Heroku account, hook it up to your Github repository's master branch for deploys, use Github Actions for CI, and then get on with life. Yes, you'll pay more for a Heroku Postgres instance than you would for a VPS on Digital Ocean with Postgres running on it, likewise you'll pay more for Heroku Dynos than another VPS to run your application server. O…

Heroku is by far the best for this but just to throw in some alternatives: * Digital Ocean Apps -- somewhat finicky but works very similar to Heroku, it gets closer to bare metal so I prefer it * render.com * AWS Elastic Beanstalk -- though setting this up is non-trivial, it is very similar to Heroku with its "set it and forget it" * AWS Container Services -- if you're using Docker * Google App Engine * Supabase -- g…

Fly.io is a pretty nice alternative too.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#249
I try to use simpler/friendlier tools, so it can be managed with a simple SSH scripts for as long as possible. Use static binaries whenever possible. My typical stack is Go+gRPC+Flutter – so it's really easy to ship it as a single binary (for the web builds). For the DB I also started to use EdgeDB on some projects and it's such a relief in term of migrations.

Re: Ask HN: Solo-preneurs, how do you DevOps to save time?

#250
post #34

Earlier quoted context omitted.

> spooky arcane oldhat sysadmin deploy techniques (scp release to prod hosts, run deploy script I never realised I was using spooky arcane oldhat stuff! I feel wizardly now. My projects (for small clients and myself) basically use this. - A "build.sh" script that does a local build of back end and front end - A "deploy.sh" script that scp's everything to the server (either a digital ocean VPS or an EC2 instance), run…

Naive question: what's the correct way of doing this when you need to cp your content to a dir like /var/www/html that your user doesn't own (when logging in as root is prohibited)? My "spooky" (and probably very stupid) method is an Expect script that lets me supply a password to sudo.

Ansible can do this (you tell it the user to initially log in, and that you need to "become" another user for a task)
Post reply on HN