top | item 20639359

The Cloud

244 points| zulgan | 6 years ago |txt.black | reply

158 comments

order
[+] freehunter|6 years ago|reply
Man I wish HN had a downvote option for articles that are just not worth reading.

"Don't go to the cloud, just buy your own servers" completely ignores the reason anyone rents cloud servers in the first place. If I could easily say "I need exactly this much capacity, no more no less, with no unexpected scaling needs and no code/infrastructure changes" then I'd be sitting pretty. Now for a show of hands, how many companies does this describe?

And of those companies that raised their hand, how many can say "I'm fine with just having a server in Germany" who will then go on to say "and I don't need a CDN to serve customers in other regions"?

>keep running live/live setup...This is very critical

Oh I didn't know it was that easy. If all you have to do to keep a server running is say "stay running, it's very critical" then of course no one needs any managed services. Outages are solved forever.

Completely worthless advice from a text file written by... I'm sorry who is this person and what authority do they have?

[+] nostrademons|6 years ago|reply
I wouldn't go so far as the author when recommending tech stacks for startups or hobby projects. The main benefit of cloud providers is that you don't have to learn and pay attention to all the stuff he lists, and you can focus on building the software you want to build.

But I do think he's performing a useful service in highlighting just how much you're paying for not having to hire a devops or sysadmin person. 10x performance differentials have been replicated not just by him but in other benchmarks. I remember seeing a chart when I was still working at Google and GCP was being justified that showed a graph of hard disk prices vs. S3 rates - since inception (2007-2012 at this time), S3 rates had gone down by a factor of about 2-3x, but price/GB of physical hard disk space had gone down by ~100x. Amazon is hiding all of this improvement in the physical hardware behind vCPUs and opaque billing, and it becomes pure profit to them.

I'm surprised more mid-size companies - those with AWS bills in the 6-figure-per-month range - don't leave the cloud, get physical hardware, and pay some sysadmins. At that level you could easily afford them, and you probably can get old Linux greybeards cheap now that everyone thinks the job description is obsolete.

[+] jumpman500|6 years ago|reply
I think you’re right. But I think you and the OP are probably coming from different perspectives. Yes if you have frequent scaling issues you probably need the cloud. But a lot of companies shouldn’t have ever have scaling issues and are buying into the cloud to be hip. Just like Hadoop and other big data technologies they didn’t need in 2014.

Ya just gotta know your business needs.

[+] intc|6 years ago|reply
> Man I wish HN had a downvote option for articles that are just not worth reading.

I have to strongly disagree with this sentiment. Thoughts which are against mainstream deserve to be visible and thus open for debate.

My company for example decided to go with our own production hardware. I'm not saying it's easy. But it's doable. And very educational. =)

One has to remember that running your systems on 3rd party cloud provider will not strip you from responsibility and/or software maintenance cycle which usually presents most of the "human workload". Their nines are not yours.

According to my experience with two reliable machines (redundant PSU's etc) one can create a very reliable service platform. Using correct kind of management tools of course is essential. RAID disk system and a reliable backup arrangement are essential too.

We used Ganeti (https://en.wikipedia.org/wiki/Ganeti) in our 1st generation setup. The next generation will use our own manager (Deux).

[+] JMTQp8lwXL|6 years ago|reply
A $200 DIY hardware cost (equivalent cloud price quoted as $5000 in the article) suggests that, for $4800/mo, you too can do Dev Ops yourself. For a lot of people, that proposition is a hard pass. You want enterprise-grade backups. If your availability drops, your business will lose credibility.

Also, good luck finding a Dev Ops engineer for $57,600 a year.

[+] ryandrake|6 years ago|reply
I’m glad HN doesn’t have downvoting for articles. It’s probably one of the reasons we still have such a good diverse range of article topics, including controversial ones.

Add downvoting and the article queue would quickly become the same groupthink-swamp that the comments section has become.

One of the nice things about HN is you can still find articles that are against the grain and have topics that challenge the comments section’s “one correct opinion”.

[+] segmondy|6 years ago|reply
The internet worked pretty well without Cloud. I reckon a good 90% of the businesses out there don't need cloud, and all that crap about capacity. The issue is that admin cost is very expensive. To get your own network pipe, have someone wire it up, setup your routers, firewall, do backups, etc. That costs tons of money. So even for a small business that can run fine of a raspberry pi, the knowledge to run onprem is so expensive that it's cheaper for them to pay $1000 a month and go to the cloud than pay network/sysadmin $50k a year.
[+] x0x0|6 years ago|reply
I would bet the vast vast majority of aws customers are not there because of the dynamic resource scaling. Rather, they're there because aws has become the default system provider. At least for the sfbay startup.

I agree, they are very expensive for what you get at any even modest scale. (Except for s3 which is absolutely amazing). However, if you want to run your own stuff, you're buying into knowing the details of how it works. eg you better understand what vacuum is for pg, and how it interacts with availability, and be willing to create backups, etc. AWS does do real work; it's just expensive.

[+] tfha|6 years ago|reply
There are many aspects of our business that are in the cloud today that I am confident do not have scaling challenges, would be just fine running out of a single VPS.

We aren't going to suddenly have 20x employees one day, a lot of our infrastructure is highly predicable and stable in load and demand.

Some things need instant scaling, sure. But not everything that's in the cloud does.

[+] adito|6 years ago|reply
> Completely worthless advice from a text file written by... I'm sorry who is this person and what authority do they have?

I know you hate their opinion, but also attacking the character is kinda unnecessary. Can we just not?

[+] ay|6 years ago|reply
Their point (in my interpretation) is with bare metal you can get more capacity than you need, for cheaper.

With some cloudflare-ing you could quite easily get away with a single origin server in Germany, too. The latency from a rails app is probably higher anyway.

My anecdata with hetzner - 1.5 decades of lightly used servers for hobby project. One power supply failure resolved in a day. They have some quirks, but.

If you truly have to scale out, sure, cloud is great (sort of). But you can engineer your solution to take the benefit of both, you win.

[+] m463|6 years ago|reply
Some people buy cars, some people lease them, some people rent them, some people uber.

I think there are valid reasons for each viewpoint.

[+] sandino|6 years ago|reply
I'm sorry who is this person and what authority do they have?

His "homepage" is a raw directory dump with a high-contrast black background (the preferred color scheme of 10x engineers).

Isn't that enough authority for you?

BTW if anyone knows of more nuanced explorations of Cloud v. DIY tradeoffs -- we all know there's a tipping point in favor of the latter, somewhere -- please do share.

[+] macspoofing|6 years ago|reply
>Now for a show of hands, how many companies does this describe?

Honestly? Lots.

[+] vmizzle|6 years ago|reply
I run my own mini-cloud at home (42u rack with way too much hardware). I do my best to follow best practices with regard to hardware, backups, redundancy, etc. I keep downtime to a minimum (Plex is life, yo). I've been doing it for around 20 years, so I'm fairly confident I know what I'm doing.

As a Director of Technology for a real company, I have never, nor would I ever dream of even considering moving to bare metal for ANYTHING mission critical. The sheer number of possible catastrophies that can occur at the infrastructure level would have me shitting my pants 24/7. Could we hire someone (or a team) to do it? Yes. But EC2 and similar infrastructure beats the pants off those salaries any day.

[+] Townley|6 years ago|reply
Alongside a host of other issues ("Don't use CDNs because they increase your complexity" is a wild idea coming from someone advocating bare metal boxes) I think there's a confusion of terms when it comes to "cloud"

I prefer renting virtual private servers from Digital Ocean (or, yes, EC2 instances) and configuring them myself. Doing so is perhaps more involved than buying into the AWS/GCP/Azure ecosystem, but I already know the tools involved, and I value the safeguard against vendor lock-in/buy-in enough to spend more time on them.

Those VPSs are "cloud" solutions in my opinion, and a happy medium between AWS and the author's unnecessarily-profanity-laden proposal that everyone should rent/buy metal. You can be "pro-cloud" and "anti-closed-cloud-ecosystem" at the same time.

[+] burpsnard|6 years ago|reply
a big advantage to shoving containers into a larger vps is saving $$ and Mb/s internode.
[+] ElFitz|6 years ago|reply
That's... a point of view.

I'm just glad I can do my things without even having to think about, let alone maintain, 1/10th of all this, really. But YMMV, I guess.

[+] jcastro|6 years ago|reply
This article ends up being a good reason for using cloud. Reads like it was written by "I could write Dropbox in a weekend with rsync" guy.
[+] tobib|6 years ago|reply
It's very short sighted to ignore the money being saved by not having to worry about all those things. Their "$5k" example is probably wrong and also irrelevant in most (enterprise) contexts.
[+] wayoutthere|6 years ago|reply
Part of me wonders if this is a troll or just a green sysadmin.
[+] johngalt|6 years ago|reply
Respectfully disagree. I'm an ops person, and I have a nostalgic attachment to running my own stuff in boxes that I can touch (or at least visit). However, cloud is just better for most applications. Certainly there are some scenarios where rolling your own is important, but it is uncommon now and only going to increase.

Yes cloud is expensive in a raw performance per $ sense, but that isn't it's value proposition. Most workloads aren't limited by the processing power that you can buy anyway. The draw for cloud is that it abstracts away entire classes of problems. Certainly it provides new problems as well, but those can be worked on in concert with everyone else working on the same platform.

[+] tomc1985|6 years ago|reply
Oh look, all the cloud cheerleaders have come out to mount their defense!

RIP sysadmins, and all the IT knowledge that's slowly disappearing from the web because the sysadmins all work on proprietary stacks at FANG now

[+] fteem|6 years ago|reply
There was never a better time in the history of the internet where "all the IT knowledge" was more available and easy to get.

And the sysadmins are doing pretty well I am sure, they'll pitch in here once they find their way out of Terraform's documentation.

[+] wayoutthere|6 years ago|reply
The money you save in the cloud isn’t on hardware, it’s in not having to pay a sysadmin so you can work on business problems.

And that benefit only improves with scale.

[+] gopalv|6 years ago|reply
> it’s in not having to pay a sysadmin so you can work on business problems. ... > that benefit only improves with scale.

That's hard to derive from the same statement - there's a point after which you can afford your own 8 member SRE team across 3 timezones.

The cloud is incredibly attractive when you consider your scale problems as unknown (as a startup, the blitz scale day isn't a good time to go rack nodes yourself) & mostly as way to scale down the costs faster than physical infrastructure + associated human costs can.

I've started looking at this as slightly different model - I'm no longer hiring a good operations manager for those 8 people, I'm hiring a decent programmer who can automate and have code handling deployment tasks instead of a human being taking orders (i.e rack an NVMe + reboot this).

Honestly, even with your physical infrastructure, the trend is towards API based deployment models.

My time at Zynga working on ZCloud, migrating off EC2 to on-prem, that is what I saw. The API based deployment model + reactions from machines (on failure), was worth building everywhere - now that applies to k8s.

[+] pmlnr|6 years ago|reply
Those who think they won't need sysadmins and/or SREs with the cloud are delusional.
[+] mey|6 years ago|reply
That job doesn't go away, it just changes focus. See DevOps. Generally it is a net positive in my book, but don't believe that operations goes away.
[+] didip|6 years ago|reply
Ugh, what kind of opinion is this? He neglected to mention all the drawbacks:

* It takes forever for Dell or HP to ship your stuff.

* Your co-lo can physically ran out of space.

* Your predecessor will inevitable have tons of one-off unversioned changes in prod.

* Repetitive manual work when scaling multi DCs.

* Making unscalable database choices (non-master-master) because you are not in the cloud mindset.

* Don't worry about CDN? AWS S3 comes with CDN automatically.

* Too many more bullet points to mention.

[+] freehunter|6 years ago|reply
>Your co-lo can physically ran out of space

The number of times I've run into this at clients is ridiculous. Either there isn't enough space in the rack, or they're out of network switch ports, even down to being out of SFPs or network cables themselves. I've even seen clients run out of power... as in, they couldn't add one of our servers to the data center because the UPS and power delivery systems could not safely handle the load of one more server.

Running a datacenter is a lot harder and more costly than most people think.

[+] quickthrower2|6 years ago|reply
> It takes forever for Dell or HP to ship your stuff.

Not a problem for this guy, he uses hetzner's cloud. Did I say cloud, sorry I mean server rental.

[+] scarejunba|6 years ago|reply
This guy has a specific problem that's best solved this way. For ten years, I ran my own SQL server, DNS, web servers, game servers, etc. It was the right thing to do. Because I was a hobbyist. Price was everything.

That's not the deal for most startups, though. You're optimizing for the search process. So optimize for the search process. Even after you've found some fit, you're still searching and attempting to grow. Everything that cuts friction from ideation to sale is pure gold. That's why the cloud rules.

I don't figure out how to host the right-sized server with the right infra. I put it on GCS and BigQuery that shit. Or I snowplow into S3 and then Redshift Athena it. Two days to discovering product doesn't work.

If you've ever worked at a big company, you'll know that they have strict IT ops and then a shadow IT operation that manages to be every growth opportunity that gets late merged into the real thing. You want to bypass that. You want to enable people to build things they want to build and sell those things while having automatic best practices. That's the magic of the cloud: instantaneous infrastructure, instantaneous tooling.

$5k is nothing. For the gain I get from that I'd pay out of my own pocket.

[+] geekpowa|6 years ago|reply
Part of Friendsters death spiral was the decision to move to AWS, which was a technical disaster.

On Cloud vs baremetal arguments. I respect people find cloud works and is valuable for them. This inspite of my own personal experiences, direct or indirect with cloud have been adverse. I agree with author, for me, for dollar and time effort, baremetal is just better economically and performance.

Most recent. A web service I use heavily migrated from bare metal to cloud and their performance / reliability dropped significantly with numerous outages which tied me up on the phones to my clients. I gave them 6 months to get their act together, as a loyal client then gave up and moved elsewhere. Being a reasonably big client their sales tried to retain then win me back. Conversations were always the same:

Me: Moved because you guys stopped being reliable, reliability is important to me. Ever since you moved to AWS you have been unreliable.

Sales: we had to move to scale and grow

Me: whats the point in moving if moving weakens your product. there are other ways to scale.

Sale: we had to move to scale and grow

[+] andrewstuart|6 years ago|reply
It's not eloquent prose but the message is valid in some ways.

"The Cloud" (presumably AWS/GOOG/AZURE) has become very expensive and very complex.

[+] jasonvorhe|6 years ago|reply
Compared to pricing, features and UX cloud has gotten so much cheaper and easier to use if compared to just a few years ago, let alone the first steps AWS took back in the day.
[+] mktmkr|6 years ago|reply
Hard to take seriously and barely rises to the level necessary for rational debate. Is there a workload that is demonstrably 100x slower on AWS or GCE compared to the fully-loaded cost of bare metal?
[+] RandomTisk|6 years ago|reply
As expensive as AWS is, at my company (Fortune 500) company with at least 2 major data centers in the US for my division alone, serving around a hundred clients and thousands of web sites and applications, we found that AWS can still be a lot cheaper than a poorly run private data center. My department is technically a cost center, like most of Security, but the charge-backs we get from our own data center for various services are insanely high compared to the same services we can procure from AWS and Azure. We've been steadily moving our services out of our own data centers and into the cloud and so far, my life is a lot better.

Before, just getting someone to run down a blinking disk light on a server was a chore. Getting them to rack a new server took several days or weeks. Doing anything, any changes, took several days minimum. Now, we can do it all much faster, and from all accounts of my management, it's cheaper.

I don't doubt you can run your own data center cheaper, but not for my company.

[+] MadWombat|6 years ago|reply
Back in 2005 I used to work as a systems admin on a relatively high traffic real estate web site. Back at the time, cloud was not a thing, so we had a rented rack in a colo facility and stuffed it full of gear. I remember very well, just how much work and ingenuity it took to keep this thing running, despite the best efforts of our dev team.
[+] therealmarv|6 years ago|reply
He lost it on "don't use CDN". Asia/Europe/America ... if you run a little bit more world wide you will be thankful for every sort of CDN when it's not just text.
[+] PaulHoule|6 years ago|reply
I dunno. Going from "lift-and-shift" use of EC2 to Cloud Native (lambda, cloudfront, etc.) lowered my AWS bill from $300 a month to $50 a month.

I switched from the dedicated hosting that he advocates to AWS long ago because I was always having things get broken by the people at Softlayer. For instance one time I upgraded my network port and somehow that broke my record in the issue tracking system so I could not longer put issues (or any work reports in.)

There was the clunky and expensive backup server (I'm not sure if it would really restore...) and the breaking point was when somebody added a new disk but they did it wrong so that the partition table got overwritten when the machine rebooted. I was able to fix the partition table but then I moved my files to EC2 as fast as I could because i didn[t have time to deal with that.

As for queues I wonder what is up with that. When I build systems based on message queues they work OK, but I've got an eye for detail and for architecture that many people don't seem to have because I always see other people get in trouble with them.

[+] lliamander|6 years ago|reply
Yeah, I think the kicker with managed services vs. self-hosted is whether you're paying for capacity or by usage. The thing with capacity driven costs is that you will always have some unused capacity (and indeed you should as a safety measure). If you're paying by usage, then that pushes the issue of managing overhead capacity onto the service provider.
[+] trazire|6 years ago|reply
To be fair, those are cheaper because they want to make you more reliant on AWS and because those are more idyllic for Amazon to run, as with Lyft. Same with AWS Activate and etc.

But for most people, it's simpler to just use them and get it over with, and I'm glad it worked for you.

[+] neighbour|6 years ago|reply
I disagree with the author but I love reading articles like this.
[+] notwedtm|6 years ago|reply
The core benefit of "the cloud" is missed here. I don't think any serious engineers are saying you CAN'T do it this way, just that nobody wants to anymore.
[+] cateye|6 years ago|reply
Over generalization is the main problem here.

It all just depends on the context. Going to the cloud, can really make a lot of sense. For example, if you are a start up that is targeting a mass market and need to scale quickly in multiple regions... Or, if you are the CTO of a large company and don't want to spend time and focus on running your own data center and everything involved with it...

There are also many situations where running your own collocated dedicated server is the best choice. Keeping it lean and mean and removing as much as possible dependencies, complexity and layers does have benefits.

It is hyperbolic to state that something is just shit for everyone in all circumstances.