←back to thread

804 points jryio | 1 comments | | HN request time: 0.426s | source
Show context
tempest_ ◴[] No.45661573[source]
The cloud has made people forget how far you can get with a single machine.

Hosting staging envs in pricey cloud envs seems crazy to me but I understand why you would want to because modern clouds can have a lot of moving parts.

replies(11): >>45661597 #>>45661608 #>>45661636 #>>45661649 #>>45661714 #>>45661726 #>>45661756 #>>45661835 #>>45662162 #>>45662794 #>>45663024 #
rikafurude21 ◴[] No.45661636[source]
The cloud has made people afraid of linux servers. The markup is essentially just the price business has to pay because of developer insecurity. The irony is that self hosting is relatively simple, and alot of fun. Personally never got the appeal of Heroku, Vercel and similar, because theres nothing better than spinning up a server and setting it up from scratch. Every developer should try it.
replies(7): >>45661682 #>>45661700 #>>45661807 #>>45661828 #>>45661946 #>>45661954 #>>45663412 #
jampekka ◴[] No.45661828[source]
> The irony is that self hosting is relatively simple, and alot of fun. Personally never got the appeal of Heroku, Vercel and similar, because theres nothing better than spinning up a server and setting it up from scratch.

It's fun the first time, but becomes an annoying faff when it has to be repeated constantly.

In Heroku, Vercel and similar you git push and you're running. On a linux server you set up the OS, the server authentication, the application itself, the systemctl jobs, the reverse proxy, the code deployment, the ssl key management, the monitoring etc etc.

I still do prefer a linux server due to the flexibility, but the UX could be a lot better.

replies(6): >>45661938 #>>45662033 #>>45662094 #>>45663568 #>>45664287 #>>45666447 #
bigstrat2003 ◴[] No.45663568[source]
> It's fun the first time, but becomes an annoying faff when it has to be repeated constantly.

Certainly true, but there are a whole lot of tools to automate those operations so that you aren't doing them constantly.

replies(2): >>45664673 #>>45674582 #
liqilin1567 ◴[] No.45664673[source]
Mind sharing these tools and what each one does?
replies(1): >>45664944 #
c0balt ◴[] No.45664944[source]
Ansible, Salt and Puppet are mostly industry standard. Those tools are commonly referred to as configuration management (systems).

Ansible basically automates the workflow of: log in to X, do step X (if Y is not present). It has broad support for distros and OSes. It's mostly imperative and can be used like a glorified task runner.

Salt let's you mostly declaratively describe the state of a system. It comes with a agent/central host system for distributing this configuration from the central host to the minions (push).

Puppet is also declarative and also comes with an agent/central host system but uses a pull based approach.

Specialized/ exotic options are also available, like mgmt or NixOS.

replies(2): >>45665144 #>>45674719 #
liqilin1567 ◴[] No.45665144[source]
Thanks, this is very detailed! Could you share some real-world use cases for these tools?

Actually I am looking for tools to automate DevOps and security for self-hosting

replies(3): >>45665822 #>>45666397 #>>45666464 #
1. indigo945 ◴[] No.45665822[source]
Salt and Puppet are useful for managing a fleet of servers running various applications, especially when you need to scale those applications horizontally or want geo-distribution.

Ansible can also do that, on top of literally anything else you could want - network configuration, infrastructure automation, deployment pipelines, migrations, anything. As always, that flexibility can be a blessing or a curse, but I think Ansible manages it well because it's so KISS.

RedHat's commercial Ansible Automation Platform gives you more power for when you need it, but you don't need it starting out.