Live data from Hacker News

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

news.ycombinator.com

171–180 of 328 posts

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

#172
I'll get downvoted for this but use Dreamhost (if you're just starting out).

Both their Shared and Dedicated servers are fully managed. You can run PHP, NodeJS, etc on it. They also fully manage MySQL too.

All you have to do is drop your code onto their servers and it just runs. It's also hard to beat their pricing too.

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

#175
Hi OP and everyone else,

DevOps is not a synonym for "operations work" or "server work" or "devs doing operations work".

DevOps literally means "dev teams and ops teams working together". That's all. You don't "do DevOps" unless you are "doing the work of collaborating between two different teams of people".

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

#176
post #127
post #57

I scaled to millions of users as a solo founder and still run the whole show myself. AMA if you like. Here is what works for me: CI: From the terminal, I run my tests and commit to git. Deployments: rsync Rollbacks: Never did one. If something breaks, I fix it and rsync the fix to production. DB: MariaDB k8s: I don't use it. Computers are very fast these days. A cheap single VPS will get you a long way. Nightmare: No…

How do you host your DB? Do you use managed DB service?

If someone wants to know how to host a database for the first time, I have a full chapter on PostgreSQL (and one on Redis) in my new book https://deploymentfromscratch.com/. There is also a demo that sets up an independent database server (which you can treat as your own managed db).

It's easier than you think if you stick to your distributions' packages. Just need to know how to 1, do auth right 2, enable SSL 3, run with SELinux 4, set a different location (for attached storage) 5, managed backups.

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

#177

Talking about myself, as a python dev: - cheap VPS for hosting, postgres for the db, nginx as a proxy, redis for everything else, including caching. - deploy python projects by packing them as zipapp with shiv, then use fabric to ssh and performs any migrations necessary. No, not even ansible. - build, lint, format and test, like all automatizable stuff, are made using pydoit. If you are solo, you don't need a CI ser…

People are renting 32 cores for E$320/mo?

...Anybody wanna rent 56 cores and 128GB of RAM for that rate?

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

#178

Earlier quoted context omitted.

a pattern I have seen before is to clone the branch commit of each release to a folder /var/releases/{release_commit} and then html is not a folder but a soft link so /var/www/html -> /var/releases/latest_release_commit this is useful if you need to revert back quickly. But then releases folder needs to be cleaned up, or you can run out of space.

That's dangerous unless you've properly configured your web server to block access to your .git directory.

Safer/easier to keep the .git somewhere else entirely, rather than in the working directory. Git's got arguments that let you do that. Then you can check out to a dir that doesn't have the .git dir in it at all.

Alternatively, it's pretty easy to use git-archive (optionally, with an exclusions list to keep out files you don't want to serve publicly) to do something similar without ever cloning the remote repo. You can fetch a zip or tar.gz with a given commit's files, straight from a remote repo.

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

#180
Solo founder here. (Typed on my phone)

I’ve been running my small company for 4 years so far. It’s a podcast search engine & api.

Product & infra & Devop & all kinds of manual processes all evolve over the past 4 years. Things were added / improved on demand.

4 years ago: 3 digital ocean instances + ssh to manually deploy code. No users. So no devops.

Now:

- ~20 EC2 instances, provisioned via ansible

- to deploy code: run a bash script on my MacBook, which is actually to run ansible. The script can also rollback to any specific git sha

- use rollbar + Datadog + PagerDuty for monitoring & alerting

- 3 Postgres database EC2 instances (1 master, 2 slaves). Daily cron job to automatically upload db dump to aws s3 and google cloud storage

- no CI. No docker / kubernatte

- a few interesting devop events are sent to slack, so I’m aware of what’s going on for the entire system on my phone. Eg, when a db dump was successfully uploaded to s3, when a Django request is slower than 5 seconds, when an important cron job fails…

Not very sophisticated, right? But in practice, we rarely have outages and spend very little time to do devops.

The most annoying thing was to upgrade Postgres to a new version. We had to prepare for an entire week and minimize downtime (in practice, disable db write for I’ve got a couple old blog posts on engineering for solo founder:

- https://www.listennotes.com/blog/the-boring-technology-behin...

- https://www.listennotes.com/blog/good-enough-engineering-to-...

Post reply on HN