Hacker News new | ask | show | jobs
by geofft 4191 days ago
I don't really like this argument. (This is a bit different from saying that I disagree.) There's a tradeoff here, and it's more than a cliche in this particular case.

The same argument would imply that you shouldn't do computing on VPSes or similar services that other people own. This might be strictly true, but the alternative for lots of people is that they just won't be doing that computing. At least with free software, we can say that it's usually monetarily cheaper than proprietary software. Buying and running your own server is much more expensive than running an EC2 box for pennies per hour. A lot of people's first introduction to free operating systems, these days, tends to be on a remote server instead of their personal computer. I don't think we should halt that.

The same argument would imply that you shouldn't use the email or shell account from your university, and you should self-host. While I actually do believe that to some extent, I get the feeling that Richard doesn't.

And even if you do end up self-hosting everything, chances are you won't be responding to security issues as quickly as a full-time team of professionals on call. At that point, anyone who wants to take your freedom can do so. This doesn't seem like a win.

I appreciate the goal, but we have a long way to go to the day when this becomes the right advice.

4 comments

At a minimum you should know what you're getting into.

Imagine that that server is controlled by your worst enemy.

Still okay with using it? If so thats good evidence that you can just go ahead. If not, ... well, it gets harder because how do you know your worst enemy doesn't or won't gain control of it? (What? your worst enemy is the neighbour's chihuahua and Amazon doesn't hire dogs?)

WRT the costs there, I'm not sure that really follows. At least on the high end EC2 is phenomenally expensive if your load is predictable, it's interesting when you can't predict it. The large high cpu instances basically pay for the hardware in a couple months worth of use. Small instances are low performing to the point that a $35 quad core arm or $50 atom device is competitive. Surely there are cases where EC2 is cheaper, but "not computing at all" sounds like an exaggeration.

"Small instances are low performing to the point that a $35 quad core arm or $50 atom device is competitive"

You're forgetting the "Amazon data center connectivity", "can scale up or down at will", and "someone else's problem if the hardware fails" parts. Those things are not free.

Yes but sometimes cheaper than cloud provider make you think.

IMHO, it' a bell curve. Before a certain point and past another threshold the "cloud" is more expansive than it's worth. Adapting your application/system to a IaaS or a PaaS model isn't free either.

> The same argument would imply that you shouldn't do computing on VPSes or similar services that other people own.

By my reading of the argument, they might not have a problem with VPS. First, the software on a VPS can be completely free (Linux). Second, it's not computing you would do on your own (short of buying a fiber connection and racked servers), and this is their argument for why a search engine might not be SaaSS.

As an aside, with a project such a YaCy, I think their final point that P2P software can replace SaaS (such as search engines) is coming to fruition.

> The same argument would imply that you shouldn't use the email or shell account from your university

Again, I don't think they're arguing this. They'd certainly want you to use a free client, but the email protocol can't really support running servers on a user's machine if it's ever going to be turned off.

Personally, I think the solution for SaaSS operators is to license their code as free software, preferably Affero GPL so that others can't make it non-free. This still introduces privacy concerns but remedies all the lock-in issues and gives users the option of running that software themselves.

To your point on self-hosting being insecure, I think it's still more secure than putting 100% faith in a 3rd party, and one that's a single point of failure (or surveillance). In the end it's not much different of a problem than updating your personal OS.

>The same argument would imply that you shouldn't do computing on VPSes or similar services that other people own.

I don't think he saying that exactly. I think is more of a consider who has the control of the data .

For example. I worked for a company that monitored power use circuit but circuit. The data was uploaded to our servers and processed by our software. All very convenient. You could download some of the raw data, but generally small chunks. (minute by minute, day by day). You stopped paying and you lost functionality.

This is a similar problem with user generated fitness data. Some "Services" don't make it easy to take your data with you.

VPSs you generally have more control, and can just dump your data and move to another provider.

> Buying and running your own server is much more expensive than running an EC2 box for pennies per hour.

Is it really? You can get a Pentium III era server essentially for free. Suppose it uses 60 watts (0.06KW). At the national average 12.2c/KWh that's 0.732c/hour. An Amazon micro instance is 1.3c/hour. That's the "I only need one instance" rate; if you need more than one then you can get slightly newer hardware with virtualization support which makes self-hosting even more attractive.

> And even if you do end up self-hosting everything, chances are you won't be responding to security issues as quickly as a full-time team of professionals on call.

Amazon doesn't maintain your VM. When your VM is vulnerable to Heartbleed or Shellshock you still have to patch it yourself unless you've configured auto updates, which applies the same to self-hosting.

What Amazon provides is convenience. If you need about a hundred cores for twelve hours, you can buy a dozen 8-core machines on eBay, use them for twelve hours and then sell them again for about what you paid for them, but that's a huge pain compared with configuring the equivalent on EC2. EC2 isn't necessarily cheaper, it's just a lot easier, especially if you don't already have the requisite experience and don't want to learn. Which is much the same as it has always been with free vs. proprietary software.

The CapEx costs of a server are a fraction of the OpEx costs of colocation (rack space, power, bandwidth, &c).
That's kind of the point. Most of those costs don't actually exist at small scales. The space required for one or two physical machines is negligible, with so little heat load you don't need a dedicated cooling system, there is no bandwidth cost when the server is in the same facility as the users, etc.

You pay Amazon to host your VMs because it's easier, not because you're saving money. There are only a small number of use cases (like having a highly inconsistent/unpredictable load from day to day) where paying someone to host for you will actually save you money.