4 ms·
It looks to me like you've been poisoned by the modern scaling approach. You're not going to run N web servers and M load balancers and P application servers, d
by dsr_ 3y ago
It looks to me like you've been poisoned by the modern scaling approach. You're not going to run N web servers and M load balancers and P application servers, deploying them automatically from a CI system. You're going to run nginx and six single applications behind it and one database, right? So when you adopt ansible or puppet or nix to run a config, you are adding complexity, not simplifying your life. Even docker may be overkill.
The points to consider:
- architecture. You have three boxes. One of them has lots of storage. One of them is cheap. One costs you monthly. I don't know that this is what you actually want. You probably need a main box that can do anything, a backup facility for that, and a proxy to expose services to the outside world.
- a common operating system on all nodes. I like Debian stable. Not everybody does. Being happy with it is more important than being the "best". But you should only have one.
- automatic backup of config and data. Snapshots are nice.
- if you can't have perfect snapshots, you can at least check your config into git. Use etckeeper.
- set up a common approach to running things. Make everything grab TLS certs from Lets Encrypt through nginx. Make a new user for each service. Make a new database user for each service that needs that, make a new PHP worker pool, whatever. Be consistent.
- document your policy and your exceptions. This can be a text file or a wiki or something weird.
- know where you are getting things, how to upgrade them, and how to get announcements of available updates.
- scott01 3y agoI like the pragmatism in this comment, I think I can unify an RPi with a NAS. My concern was keeping important data backups separate from other experiments, though maybe I'm overthinking it. Thanks for etckeeper, it looks really interesting, I didn't know about it.