With stuff like proxmox you get a pretty similar level of ease of use to managed VM services too.
Also there were plenty of upstream routing issues where solving that became a headache. The #1 thing we wanted was uptime and the #1 outage was our upstream providers having trouble routing to other upstream providers.
The number one reason and tradeoff for cloud is uptime and availability and the cost of not having it
100%. I ran API networking teams at a Big Tech and I know the difference. My workload here is at a hobbyist+ grade, no controls, no compliance, best effort SLA. I don't want to ignore the reality that to get enterprise grade uptime and availability, it's really hard to do this on prem.
Uptime? There have been quite a few catastrophic cloud failures. And some lasted hours.
Five nine is something like 5 minutes of downtime a year. The clouds aren't anywhere near that.
At what point does a dynamic-but-unchanging IP become functionally static?
I feel like the biggest difference is the fact that there's no guarantee that the dynamic IP won't change, so all systems need to be prepared for that, or you need to be mentally prepared for that day.
One thing that came up is development. Modern devops culture is quite a good thing, and what's lovely about "cloud" - as in the ability to quickly buy compute and storage capability - is that ideas you would have tinkered with in on-prem labs (or across private sites) for months can be imagined and prototyped in hours.
I'm a big advocate of rapid prototyping as a _huge_ business lever, because the ability to try out ideas quickly, to easily reconfigure things, is the key for time to market. You can quickly see if something is going to fly or not.
And that's where the advantage ends.
After that, it's all downhill. Asymmetry. Lock-in and portability. Trust and privacy issues. Security perimeters. Unpredictable costs....
So the way forward is to render unto Caesar only the things that are Caesar's.... in other words, take the advantages of "cloud" when it suits you, and then get the hell out of Dodge.
What is ongoing from that conversation is media companies being interested in strategic planning to build, and even share, their own distributed computing resources to pull back to once a technology is off the ground.
Someone even mentioned that it's time for a European Cloud initiative,
I spent most of my career in large enterprises. The leverage you have against AWS or Microsoft is 0 compared to the old days. They are probably landing more infrastructure every month than my global company had in datacenters 15 years ago.
You can just have on-premise k8s and keep most of the velocity gained from developers being able to "just run stuff" instead of anything having to go thru sysadmins.
You can just rent few servers off OVH to start and not have to worry about actual hardware, while still being few times cheaper than cloud.
Yeah you won't have access to the slew of cloud services and will have to deploy your own database but with amount of readily available code and software to do it it doesn't really slow down experimenting all that much
You can deploy bare k8s, but then you'd figure that you need a lot more, starting with a load balancer (luckily there is MetalLB).
It's all possible, but not simple.
Too many businesses aren’t even properly utilising that key advantage. They’re moving servers to the cloud but still using their outdated development and deployment processes, and things move just as slowly in the cloud as they used to on prem. They know what Infrastructure as Code means, but only as separate words.
They’re moving servers to the cloud but still using their outdated development and deployment processes, and things move just as slowly in the cloud as they used to on prem.
For many non-tech corps, the purpose of moving to cloud is to downsize IT admin staff. It works well.your sysadmins are now Cloud Admins and can get an extra 50k in the market with a GCP or AWS certs. you're going to bump up their salary, right?
the useless offshore team is now a Cloud useless offshore team, and also wants their 20% bump. And bet your ass that Tata or Cognizant will get blood from a stone to make it happen, cuz as useless as they may seem you still need them.
change control meetings haven't gone anywhere, and if anything they're more important since now your entire infrastructure is a long one-liner away from being borked; cloud is an API, basically. just because you're not racking and stacking doesn't mean the demand, architecture & design, review boards, implementations, and due diligence steps go faster.
now we need an entirely new strategy to handle costs, since our architects and procurement can't track day to day cost changes easily, so when SuperDev decides he's going to #yolo 6 VMs and a few dozen containers into existence to test a few things we now have launch a technical and financial investigation into 1) how that happened, and 2) how much it cost.
still gotta use fortigates or palo altos, and internal networking hasn't changed too much overall; lean teams to begin with.
so in exchange for shoveling huge quantities of OpEx to companies that don't deserve more money, we don't really cut labor, and lose control of practically every other facet of our infra. Hope that Azure AD doesn't fail again, cuz the dashboard says 100% green but nothing is working and the execs are concerned.
IMO it should be a sneaky powerful declaration by major corps that your app should be built to be deployed nearly at will on at least two clouds. I mean terraform is so tantalizingly close to it, until it isn't. This is like Bezos sending out the "thou shalt service everything".
AWS knows this and they are all about lock-in. They want you on the more complicated products, because those are really hard to move off of. Oh yes, don't use cassandra, use dynamo. Man you'll never move off that.
So if you let the devs have "you can develop on AWS" but then they have to deploy on Hetzner ... that will force the devs to be far more cloud-independent. I guess if I was a CIO (never let me become one) I'd try to institute that.
That's the main advantage of the cloud early on -- flexibility.
What if your internet goes out? Even with a business line, I've had to wait five days for them to replace a fiber line that a squirrel chewed through.
What if the power goes out? I just had a five hour power outage. Even if you have a battery backup, when the neighborhood power is out for a while, the ISP equipment will die when its batteries go out.
What if your hardware dies and you aren't home to switch it out, assuming you even have spare hardware?
What if your A/C goes out and your server overheats and has to get shut down?
All of these are things you usually don't have to deal with when using the cloud or even a $5 VPS, because they design for all of these failure cases from the start.
If you're running a business from your house, it is by definition a lifestyle business, and that's not really what we are talking about here.
Any business that you can run from a home server
with a residential business line is not the kind
of business we are talking about here.
What kind of business are we talking about here? What does the "taking off" in your previous post mean, exactly?Depends on what you're trying to do.
You are not going to be able to run a Netflix competitor out of your garage.
You're not going to get high availability without some significant investment and even then you'll be at the mercy of whatever your ISP is doing upstream in the event of a power outage. I live in an area where we average something like 99.99% power uptime, but not everybody is so lucky.
You could, potentially, host something that serves up something non bandwidth-intensive to tens of thousands of users, give or take an order of magnitude. (SaaS, APIs, etc) You can do a lot of interesting things with a homelab and some of them are potentially profitable.
Perhaps more crucially: you're not exactly locked in to a homelab. You can start with that and once you reach a certain point, migrate to colo or cloud.
I have enough battery backup to run my rack for about 30 minutes, more if I shut down a node. That’s more than enough time for me to set up my generator and route power; it has an extended gas tank and can power the rack, fridges/freezers, fans, etc. for over 24 hours. I periodically run drills on this to ensure it’s doable, and that the gear works as expected.
If I’m not home, then yes, the latter would fail. Dual hardware failure is an unlikely scenario; single node failure is handled between K8s and Proxmox clustering.
In that case, your best bet is still a $5 cloud instance.
Sit back and relax? Being massively overprovisioned is a benefit of homelabs.
there are many dimensions to provisioning, not all of them are one ebay/amazon/newegg purchase away.
you could hardly get a symmetrical 10 gbps internet connection at home (in most places), and if you do it would be unlikely to be timely (and in that case, your business could probably be suffering).
Frankly, i think that the time when your startup is taking off might be the right time to start thinking about moving to the cloud (or to a proper datacenter).
If anything, if your startup is taking off then you're starting to get a real sense of what kind of compute and storage you actually need, and can maybe negotiate accordingly (eg: long-term committment for resources in some clouds give you very relevant discounts).
EDIT: regarding the internet connection... on a consumer connection, most contracts include a minimal guaranteed bandwidth that's usually way lower than the advertised peak bandwidth. i wouldn't be surprised to discover people getting throttled at those speeds if they start getting serious traffic...
> you could hardly get a symmetrical 10 gbps internet connection at home (in most places), and if you do it would be unlikely to be timely (and in that case, your business could probably be suffering).
if your startup takes off and you can't get a professional connection on time... it might just drive users away. particularly paying users.
and depending on where you are, that might not even be possible at all.
This does presuppose you have a business class internet connection, of course.
I think even with the cost of electricity, you can easily beat cloud hosting on a per-month basis. But, factoring in the initial cost of hardware and electricity, it's probably a wash.
But then, if you're running a hypervisor, and would otherwise have a LOT of VMs in the cloud, maybe it swings back the other way?
If I really wanted to optimize for power efficiency, I could do much better. I've seen decent homelab setups (with NAS, router, switch, and some slow compute nodes) that run under 100W, which would cost me only $10 per month in power, and would be far more powerful than a small DigitalOcean droplet.
I'm using about 60-100W for my home-prod, and a lot of it is "older". I'm running about 15 small VMs at any given time these days, and probably 20 containers.
I think my biggest single draw is the Mikrotik CCR1036 in the garage, but it saved me from buying new gear. Sure there's a break even point with hydro, but that's years in the future when the device is free. It's also pretty fun to watch VPN connections testing at 700Mbps from home.
I don't really care about uptime, and I've got gigabit fibre to the house, so bandwidth isn't a huge problem. It worked fine on 300/60Mb cable too.
Ryzen 3 2200G, 32GB RAM, 1T NVMe, 10TB HDD. This one runs services.
Orange Pi 5 16GB with another 500GB NVMe. This runs redundant services and monitoring.
I do some homelabbing at home and i do work for some "big tech". The difference, essentially, is reliability and high availability.
Most homelab posts i see are one decent (not even large) disaster away from losing everything.
I do something in that space at home, mostly around data backup and replication, but i am well aware that in case of decent disaster I'd probably be at least a couple of days offline (potentially up to one or two weeks).
Most people underestimate facet of the discussion.
In the absolute worst-case scenario for me, barring a lightning strike that fried my UPS and entire rack, I would lose a day’s worth of changes, as my backup node kicks on daily to ingest snapshots. Downtime would probably be 15 minutes or so - boot up backup, change target IP address on other nodes to access it.
I’m only running RAIDZ1, so I’d have to lose two disks in a VDEV for this to occur. I understand and accept the risks, but were I hosting anything of import, I’d probably accept the additional power draw of keeping the backup server on 24/7 and stream snapshots to it continuously.
Also, of course, I’d be streaming those snapshots off-site. Currently I do so for things like photos and documents.
If I lost 2/3 of my compute nodes, I’d be down for a bit longer, as I’d have to shift workloads to the backup server (which is a dual socket with enough RAM to handle it), and currently it doesn’t run K8s. I can shift things to Docker Compose easily enough, or I suppose I could register it as a worker node that’s just tainted most of the time.
Next time I have the energy (hah) for this flavor of home maintenance, the idea is to split the work it does off to a few fanless systems, I'm pretty sure I can knock at least 100W off that. Main challenge there is storage - I have a SAS shelf and need a low-wattage machine that speaks SF-8088.
Experimented some with a couple Raspberry Pis for some things, but they just don't seem built to run 24/7. One lasted about 4 months, the other died at about 12. (They PXEbooted, no local storage, it wasn't that.)
That’s a UniFi Dream Machine Pro, UniFi 24 port switch (powering two APs), 3x Dell R620s with a few SSDs and NVMe, and 2x Supermicros (one of which is the aforementioned backup server), each with a lot of spinners. Also some additional load from the overhead of the rack UPS.
I pay about $0.08/kWh, although with the base fee of $40 it's more like $0.11/kWh. In any case, it means I pay maybe an extra $30-40/month for my homelab, plus whatever additional heat load costs it places on my A/C.
If I moved to somewhere where electricity was significantly pricier, I would probably either invest in home solar, compress compute to a single node, or both.
uk internet infra is backwards.
The govt has a focus on download speeds (which are useful for high quality video) and does not care about upload or latency which filters down.
On reflection, even the the terms "upload" and "download" are based on the assumption connections are for consuming media.
BTW, I can get multiple lines if i'd ever need it
Nowadays internet speed is great to do self hosting. I have a business line internet at home with ~1gb up&down! Bought couple of 6-7 year old enterprise Dell servers (2x12core xeon, 128gb ram each) and no longer pay any cloud provider ... i'm also hosting 2 backend solutions for mobile apps with decent traffic for friends' startups!
The learning experience has been tremendous! It has actually gotten a lot better and easier with new solutions coming out for homelabs. Get started with Proxmox clusters and go from there...