Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
Openstack is like self-hosting your own cloud provider. My 2 cents is that it's probably way overkill for personal use. You'd probably be interested in it if you had a lot of physical servers you wanted to present as a single pooled resource for utilization.
From what I heard from a former coworker - with great difficulty.
A hypervisor runs virtual machines. A container service runs containers which are like virtual machines that share the host's kernel (more to it than that but that's the simplest explanation). Openstack is a large ecosystem of pieces of software that runs the aforementioned components and coordinates it between a horizontally scaling number of physical servers. Here's a chart showing all the potential components: https://upload.wikimedia.org/wikipedia/commons/a/a5/Openstack-map-v20221001.jpg
If you're asking what the difference between a container service and a hypervisor are then I'd really recommend against pursuing this until you get more experience.
To add, hypervisor is very low level, below the operating system often. Hypervisors allow you to run multiple operating systems on the same hardware.
Containers are isolated processes running within an operating system using stuff like cgroups.
It's for getting acquainted with the whole software stack. Also I have enough free time for it :) I'm also very well aware what the difference between a container service and a hypervisor are, I'm just a little overwhelmed by what open stack can do.
Fair enough. Personally I'd start with their documentation then: https://docs.openstack.org/install-guide/
For OS it looks like they support RHEL/CentOS, Ubuntu, Debian, and SUSE so I'd stick with one of those.
I used to be a certified OpenStack Administrator and I’ll say that K8s has eaten its lunch in many companies and in mindshare.
But if you do it, look at triple-o instead of installing from docs.
Would you mind explaining why this shift happened? Isn't OpenStack more capable than any k8 setup?
There is a lot of complexity and overhead involved in either system. But, the benefits of containerizing and using Kubernetes allow you to standardize a lot of other things with your applications. With Kubernetes, you can standardize your central logging, network monitoring, and much more. And from the developers perspective, they usually don’t even want to deal with VMs. You can run something Docker Desktop or Rancher Desktop on the developer system and that allows them to dev against a real, compliant k8s distro. Kubernetes is also explicitly declarative, something that OpenStack was having trouble being.
So there are two swim lanes, as I see it: places that need to use VMs because they are using commercial software, which may or may not explicitly support OpenStack, and companies trying to support developers in which case the developers probably want a system that affords a faster path to production while meeting compliance requirements. OpenStack offered a path towards that later case, but Kubernetes came in and created an even better path.
PS: I didn’t really answer your question”capable” question though. Technically, you can run a kubernetes cluster on top of OpenStack, so by definition Kubernetes offers a subset of the capabilities of OpenStack. But, it encapsulates the best subset for deploying and managing modern applications. Go look at some demos of ArgoCD, for example. Go look at Cilium and Tetragon for network and workload monitoring. Look at what Grafana and Loki are doing for logging/monitoring/instrumentation.
Because OpenStack lets you deploy nearly anything (and believe me, I was slinging OVAs for anything back in the day) you will never get to that level of standardization of workloads that allows you to do those kind of things. By limiting what the platform can do, you can build really robust tooling around the things you need to do.
Deploying openstack seems like a very fun and frustrating experience. If you succeed, you should consider graduating from selfhosting and entering hosting business. Then, maybe post your offering on lowendtalk. Not many providers there use openstack so you might be able to lead the pack there.