You may have a lot of personal digital assets: web applications, a blog, productivity and collaboration software, email, calendars, photos, video, documents, music, social networking bots or servers, monitoring and security tools, game servers, content management systems, home automation software. All of these have to live somewhere and sometimes it's not easy to decide what the best place is for each.
The suitability of your homelab for a particular workload will, of course, depend in part on how sophisticated your homelab is. But there are a few rules of thumb that can help you decide.
Your workload may be well suited for the public cloud if:
- It has extremely high durability and availability requirements e.g. storage with 99.999999999% durability and 99.99% availability of objects over a given year.
- It exposes services to the outside world and demand is unpredictable so elasticity is important.
- It needs specialized hardware like GPU-based instances or FPGAs.
- You want someone else to take care of administrative overhead, power, cooling, physical security, and other undifferentiated heavy lifting.
Your workload may be best on your homelab if:
- It only provides services to your home network and doesn't need to expose services to the outside.
- Its demand is predictable.
- In the event that your house burns down or is flooded, the loss of apps and data is not your biggest concern.
- It doesn't need specialized hardware.
- You want local control of your data and the infrastructure that hosts it.
- You want to learn more about clusters, networking, containers, or orchestration with a hands-on approach.
Some apps that are great for a homelab include a network-wide ad blocker like Pi-hole, a Mastodon bot, an internet speed monitor, open source home automation like Home Assistant, a media server like Plex, a private cloud for your family like Nextcloud, and pet projects/experiments for learning new technologies.