Next: 15:48 Req#164196 HN    P    Q    Help Singapore software vendor says own hardware in colo costs $400M less than cloud | Hacker News
Hacker News new | past | comments | ask | show | jobs | submit login
Singapore software vendor says own hardware in colo costs $400M less than cloud (theregister.com)
79 points by branko_d 2 hours ago | hide | past | favorite | 66 comments





My goodness is it Monday already and time for yet another of these articles?

At a given scale and software maturity, it is cheaper to buy your own hardware and pay for your own team to operate it. Generally, this is when you start thinking of your hardware needs in terms of fractions of an entire data center, but in simple cases may be smaller.

This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware. Just let [cloud services company] handle it for you until you reach that point.

And then when you do reach that point, you get to write the article about how everyone using the cloud are fools because it's cheaper to self host.


The cost differential in my experience is generally higher on the low end. Once you get into the hundreds of k per month in cloud fees you can get steep discounts, and some of the gap starts to close.

You also need devops resources to manage a cloud setup - most of my jobs in recent years have involved exactly that, and it's not appreciably cheaper than managing "raw" hardware resources these days (ever since IPMI etc. became the norm); for some time I did consulting and provided devops services on retainer. The amount of time spent managing actual hardware was a rounding error of the overall devops cost for those of my clients relying on colo's or managed servers.

Since many colo providers also provide managed servers and cloud services, the flexibility is also not really an issue - you can start with cloud services, rent managed servers as you know what your base load is like, and can tie them into the same setup, and do the same with colo services if/when it's cheaper (the tradeoff between managed and colo is trickier than with cloud - the cost differential there is often dominated by realestate costs where the relevant data centres are; if you're somewhere expensive, managed servers elsewhere will often be cheaper than colo near you)


> This almost is not ever true for software startups, who get more value from speed, flexibility, and not needing to pay a team to manage hardware.

It's not that simple, some costs on AWS can be high and some tasks don't need the availability/reliability guarantees AWS provides. So even for small startups sometimes having own hardware can be a good cost saver, through with some risk attached to it.

For some mid-sized companies with relative fixed resource utilization sometimes renting rack space or renting bar metal (in a server center, with service for parts replacement) can be a good cost saving measure.

In the end while AWS is flexible and convenient with a lot of services easily accessible it is also expensive (at least when it comes to compute power) so the question is most times how much money do the flexible, convenience and services save. For many companies this is a lot. For some companies (of any size) this is not enough.

I mean this is why there are such funny things as being able to buy a "GPU compute min server center in a container" (through that's outside of the price range of an small company, but smaller versions similar to this exist, too).


> It's not that simple, some costs on AWS can be high and some tasks don't need the availability/reliability guarantees AWS provides. So even for small startups sometimes having own hardware can be a good cost saver, through with some risk attached to it

I agree. I'd like to add that AWS's value add can be the lack of need to understand the product configuration, just the SDK. Your start up already has developers that can read SDKs, you might not have someone on your staff that can set up an elasicsearch, redis, or other service.

When you grow enough that the fine tuning of such services might matter, you likely can hire the right people to run those in house.

I've been on a team with ~6 DevOps members for 5 years, and it's been very helpful to be able to pick up and drop services as we evolve.


>and not needing to pay a team to manage hardware But you pay for a team to manage the cloud instances and services. Usually more than the hardware guys.

Most of the hardware stuff is done by the data center anyway. You just create a ticket for remote hands and the data center staff is going to rack the server you sent them or replace a hard disk etc.

I always tell people to do the spreadsheet. There is a point at which bare metal or colo becomes cheaper and that point will depend on your work load.

If it’s outbound bandwidth intensive that point will come sooner than say a storage intensive work load.

You always hear stories like this where people didn’t do that and were lazy and massively overpaid on cloud.


I am often surprised how people in our field don't run the numbers, so they are not talking nonsense when these hard numbers are so easy to generate.

Also, people seem to forget that not all startups are consumer lo-CPU requiring applications. If one has a product that requires non-trivial compute, going immediately colo can be essential. In my own previous startup, my calculations showed an AWS monthly expense of $96K, while I could spend $60K to acquire higher end hardware than AWS to build a server cluster and colocate that for a measly $600 a month.And forget about the "it's hard to run a server, let along a server cluster" propaganda - it is not hard at all.


No doubt people will be commenting here on how cloud makes sense because you don’t have to hire experts to run your own computers.

Folks…… it’s pure fiction that cloud does not require experts to run it.

Cloud is more expensive and slower often more complex, and risks major vendor lock-in if you use the cloud vendors APIs instead of open source solutions.

And if you need GPU computing you’d be crazy to use cloud GPUs which are much, much more expensive and much much slower than consumer grade GPUs.

And if you can summarise which parts of your system are incurring traffic costs then you’re beating the deliberately complex systems intended to nickel and dime your architecture every time a byte turns a corner.


AWS "experts" are one of the most expensive. And they'll be pushing for EKS and the whole AWS stack. The funny thing is, if you are using K8s, you might as well setup your own servers. These experts cost upward of $1000/day. Hiring a full time is $150k+, and that's not for the expensive locations.

When I was doing devops consulting, my "cloud clients" were always by far my most profitable, because they were so used to that and so blind to the cost savings they could get.

Maybe the people running on the cloud are, therefore, efficient businesses? despite using a financially costly option? or thanks to AWS allowing an immediate setup ?

Getting set up in AWS in a remotely manageable way is in no way "immediate" - a lot of my income came from that fact.

If you want ad hoc rapid setup you can get a managed server up and running about the same time as an instance with AWS too, from a provider that also offers colos and cloud so you can pick and choose and move between the three depending on what is most cost effective for specific needs. In practice, ironically, having that option makes cloud instances even less cost-effective because having the option of spinning up cloud instances an tie them into your environment means your can allow yourself to have less spare capacity on your managed/colo servers.


So much kubernetes is just overkill.

A fast modern 16 core machine with 128 gig of ram can meet a lot of needs.


As far as I can tell AWS Cloud requires more expertise to run properly then hardware, but comes with the benefit of more flexibility and availability of various not too hard to integrate services.

In a certain way that's the big failure of AWS and similar, in another way it's a big win for them as it means people will pay more then necessary all the time and there is a huge consultant industry pushing people to adapt AWS (and similar) to then charge them for consulting later on.

Through this kind of patterns tend to fall apart at some point and only hold up for a while due to monopolistic market dynamics around server centers due to their high cost and locality concerns of customers.


And by using cloud your app and data become hostages.

Is there a way to just provide the hardware for your machines somewhere and have someone else manage everything else?

yes, through depends what you mean with "everything else".

There are "rent a rack" options (you provide hardware, they provide a rack in a datacenter + network switch(es) + management tooling through the network etc. and when asked will replaces RAM/Disks etc as asked). You still have to maintain the OS through depending on the service you get and what you want to do this can be easier then expected (e.g. because networking is handled through their switches/tooling this can makes things easier and if you e.g. just want to run a single application per server there are net-boot options which allow you to do so in a manner similar to running docker containers. But if you want to run your own OCI container orchistrations then it comes with the cost of you having to well do that.).

But if you ask for you provide server hardware and container and they manage all the rest then I'm not sure it exists. It seems like a bad deal for them.


Yes, you can. I used to provide those kind of services on retainer. Actually managing the "low level" parts of "everything else" was always a near rounding error of the cost, though. Managing modern hardware is not time intensive. And then you put a VM/container setup on top and tie it into an orchestrator and it still looks like a a PaaS to the devs.

Rent a server from ionos for $50/month.

Sure, cloud is usually more expensive, so is developer time. If your team is wrangling more with the quirks of your own setup instead of the standardized workflow of a paas provider, your calculation won't work in your favour anymore.

I have seen vast amounts of developer effort go into “programming the cloud instead of the application”.

It’s complete fiction that somehow developers are freed for all except application coding if the use the cloud.


A million application devs who used to write Java and SQL, but now do mostly Terraform, laugh and give a nostalgic sigh...

And then turn back to trying to work out how to grant IAM access to the resource that developer asked for before turning their attention to why traffic won’t come out of the VPC before trying to work out how to do compression on API gateway.

The whole time pining for the old days of running everything on Linux.


From the caveat at the end of the original article:

> This article doesn’t take into account other aspects that would make the comparison even more complicated. These include people skills, financial controls, cash flow, capacity planning depending on the load type, etc.

You can't handwave all this away in real life though. If you're rolling your own data center, the engineering time you need to put into managing servers, upgrades, hardware replacements, 24/7 oncall rotations etc etc is considerable and will often dwarf the costs of the hardware itself, particularly at startup scale. With a cloud provider, it's (almost) all abstracted away.


You know, you can't hand wave away all the additional costs of having anything in the cloud. You need lawyers to tell you your liability for using third parties. You need all that time and money engineering cloud solutions that work, that can scale, and aren't going cost tons of money. You need to factor all those multi-hour calls needed to get to a real person at the cloud company who isn't reading from a multiple choice book and actually knows what you're talking about. You need a rotation of people available 24/7 to know what to look for in the cloud instance and can handle things if / when they go sideways. All these costs are considerable and will often dwarf the costs of the oversimplified cloud estimate you're first given, particularly at startup scale. With an in-house team of systems administrators and colocated hardware, it's (almost) all well understood and abstracted away.

I wonder if people have actually thought about the costs you mention, or if the marketing forces that have led everyone to believe that everything should in the cloud are why people who've never done the slightest work in a datacenter think the cloud is the way to go. I hear it all the time, but people can't articulate real reasons aside from general handwaving about how much salary a company can save from getting rid of systems administrators. But I've also worked for companies that don't even have a single systems administrator of their own, and trust me - they pay much more money for everything as compared with paying for a good admin.


The curse of our industry: the majority of us are weak communicators, unable to explain why they sense the cloud is a poor choice. Meanwhile, the cloud sales people - picked because they are adept communicators - create a comprehensive reasoning mesh, literally playing with the in-house developers inability to explain the dangers they know and with which they are trying to snare the client.

One of my longest contracts was being on call for a a company to assist with their cloud setup. Most of this is not abstracted away all that well. Having managed both on premises, colocated, managed servers and cloud services, my customers when I was consulting tended to need more of my time for similar sized setups to manage cloud setups. Yes, with a colocated setup we needed to rack and wire up servers, but the amount of time spent for the lifetime of a server was typically measured in single digit number of hours amortised over several years.

EDIT: As to why the time to manage colocated servers is so low, consider that pretty much everything has IPMI or similar now, so apart from a few hours setting up an initial provisioning server for the entire environment, on a per server basis you're connecting power, screwing on rails, connecting the network, configuring IPMI (remote reboot, remote KVM, remote sensor access), running your provisioning scripts and starting (automated) burn-in tests, and then you have a bunch of new capacity in your orchestrator at the end of it. Everything else is pretty much the same as using a cloud provider, except your instance sizes are tailored to your actual workloads. The odd replacement of broken equipment can often be handled by your colo provider. When I was racking equipment myself, I'd often install more than one server an hour, and then not touch that server again physically for several years. Monitoring is largely the same - you need to be able to migrate away from failing instances either way, only now some of those failures might mean hardware has failed and you have a few more indicators in your monitoring system matching your IPMI sensors.


Not on the same scale but in my previous company we observed the same thing (though the other way around since we moved from self-hosted to cloud).

He had a team of 4 managing the infra for an app (82 million users, 30 million DAU) and spent around 500.000€ per year on the data centers + this team's salaries + some other expenses like travels to the datacenters, some new stuff etc..., let's say around 1.000.000€ per year.

At some point upper management decided to move to the cloud and we eneded up in a worse situation: the promise of easier resource management was unfulfilled since the same 4 people was managing now the cloud so no cost reduction on that side and most important, cloud costs were 4-5 times higher than self-hosting

I still wonder why management decided to go that way


I was PM for a cloud hosting solution that we were originally running colocated. We moved it all to AWS for about 5x the costs after you calculated capex vs opex etc.

"The Cloud" allowed our customers to set up their applications with High Availability and PITR (via RDS, building that ourselves at scale would have been problematic). It also allowed us to launch services anywhere in the world. Setting up data centers globally would have been hell.

The product was still easily profitable despite the costs, so I think we made the right move.


We are nearly two decades from the launch of EC2 and I still need to explain to people (technical and not) that the cloud isn’t cheaper once you get to a certain scale. Everyone is always amazed.

Cost is only one aspect and infra should know that moving to the cloud will usually be more expensive than running on colo. I assume there were other aspects that played a role in this decision like elasticity, scalability and high-availability which are easier to go for with a cloud provider.

Wow what a number ! 5 times more expensive !

This keeps being brought up since the early days of AWS. Yes, the cloud is more expensive. It simply adds another layer of management, scalability, and flexibility you would not be able to build yourself. And there is a layer of profit for the cloud provider as well. Whoever was told the cloud would be cheaper was being lied to.

I've built cloud, colo'ed and hybrid systems. Every few years this would come up. Now, so many cloud services we use are connected to the cloud providers we don't even need to spin up SSO/authentication servers because it's simply built in at this point.


Something which sometimes gets lost from a US centric perspective is that cloud lets you get servers much closer to the end user without having to establish relationships with hosting companies and colo facilities on another continent. Shaving 100ms off of each request can be useful in a lot of circumstances.


@dang: the original blog post by Ahrefs is much more informative and detailed.

https://tech.ahrefs.com/how-ahrefs-saved-us-400m-in-3-years-...


Why don't companies just use hosting services such as Hetzner? way cheaper expecially for bandwidth, you don't have to pay the hardware costs, and you can scale

It misses the coolness factor. And the engineers need to put cloud on CV.

People are scared they have to pay for managing servers but they end up paying more for managing the cloud.

These articles are usually pretty honest and non-controversial but bring out all the AWS brainwashed "Cloud Transformation" consultants.

They cling to a set of vendor principles drummed into them and can't seem to view other angles. Good 'ole Enterprise IT.


True, but the cloud is more modern. You want your startup to be cool and modern, not doing things like they did in 2000s, even if it saves you money.

The cloud isn't about saving money, it's about convenience and automation of using someone elses environmentand tools.

Over the weekend I created a globally distributed CDN pulling data from a globally distributed, auto healing database as a cache. It took a few hours then I tore it all down in 15 minutes, and it probably only cost a few dollars.

The cloud trades agility for cost.


This.

We're a small company that used to have a full rack in a colo, and have completely migrated to AWS 6 years ago. Our cloud costs are ~20x what our colo cost was.

There are things we use in the cloud (DynamoDB, Aurora, CDN, etc.) that I just don't want to have to build and manage on my own. For us, the managed services are very much worth the extra cost.

I couldn't believe how much better life is without having to diagnose failed DB backups.


Like in every utility, at certain point of scale it make sense to cut the middle man and do it on your own. Mcdonald's, for example, own potatoes fields.

In my current working place, the cloud really saves us money. I would estimate 500k$ a year.


So ahrefs is a special case because they're literally crawling the internet and scrapping Google.

Their entire service is based on having a lot of servers.

It's not the same as your typical Silicon Valley CRUD app.


Using cloud is renting hardware (and maintenance, and redundancy), of course someone is making a profit from it.

They article notes that it’s unclear whether the analysis considers discounts from reserved instances, but then brushes it off. Considering that reserved instances save about 40%, that is a huge deal.

Next, the comparison doesn’t seem to account for the cost of personnel to maintain the self-hosted infrastructure, not to mention the replicate the security and other layers of infrastructure management that are built into AWS.

Next, Singapore sits atop at least 5 different pan-Pacific cables. They are connected to HK, Taiwan, Japan, Vietnam, etc. So this company uniquely benefits from redundancy that other companies not in Sing may not enjoy.

That said, I wouldn’t put all my eggs in region basket, let alone one DC! It doesn’t say, but it doesn’t appear that the analysis includes the cost of maintaining a subsidiary company in another region for HA.

Basically, this analysis, or at least the reporting of it, leaves a LOT to be desired. As it is, it is just a fluff piece that lets you see what you want to see. If you don’t like cloud, it confirms your bias. If you like cloud, the article looks like junk you can ignore.


Cloud was always more expensive (in the short term) than self-managed/collocated servers.

How is this news?

In cloud, you pay for availability, for ad-hoc instances without waiting for a month to install new servers and more.

You only need to hire “software” DevOps, rather than people who neatly lay your cables, journey to DC to replace disks, etc, etc, etc.

Pick a good, cheap cloud. It is a commodity product. Just because AWS is expensive, you don't have to pick AWS.

If going solo is an option, you likely do not use any of them “fancy” AWS managed services. In that case, you can just as well go with any of tens of other Cloud providers.

DHH sang the song and some people take it as a gospel. (eyeroll)


"You only need to hire “software” DevOps, rather than people who neatly lay your cables, journey to DC to replace disks, etc, etc, etc."

Lol, what year you think we are? 1998? There are colo facilities around the world, you have 'remote hands' to take care everything related to hardware. You just need ansible/xyz to deploy you software, thats all it takes


For completeness: There are many reasons to NOT go with cloud. Cost is rarely on that list.

What is a "good, cheap cloud?"

Ionos

Vultr comes to mind immediately. I used Ramnode a few years ago.

Bandwidth on Hetzner is really cheap

This is kinda obvious, isn't it.

Companies have made this observation for years: cloud is very expensive compared to self-hosting. However,

* you do not have to spend a large amount of money upfront

* cloud's provisioning time is very short

* cloud's automated management requires way less man-power to operate


> * cloud's automated management requires way less man-power to operate

My experience here is the opposite. I did contracting in the devops space for years, and those of my clients who spent the most on ops were consistently those using cloud providers.


If cloud was cheaper than on-prem, all the cloud providers would simply rent from other cloud providers in an infinite regress asymptoting to 0 cost.

Relevant xkcd: https://xkcd.com/908/


When you consider that 2U size servers with 128 cores and 2TB of RAM are now a commodity thing you can buy for not a totally absurd price, you can serve a real metric shitload of end-user-facing https content and applications from literally one item of hardware now.

I'm not saying put all your stuff on literally one box, but colocation space for even a really high traffic thing might not exceed something like 1 44U cabinet on the west coast (Hillsboro), 1 cabinet in Chicago, and 1 cabinet in northern VA or in a NJ datacenter.


In the event of a fire:

- In the Cloud, you restore a backup on another AZ and you're up and running.

- On prem, your company is essentially dead.

If you want to deploy to another region:

- In the Cloud, one more line in a CDK template.

- On prem, millions of dollars of investment and months of work.


I worked at a software shop that survived not one but two fires.

This was before cloud.


Servers on premise with regular backups stored in the cloud can still be cheaper than offloading all your compute, storage and backup to AWS.

Because if you have your own servers you are forbidden by law to back up data to another location.

“Lift and shift” is always more expensive. That is, you will always pay more for cloud servers than you will for on-prem at a certain level of scale.

Lift and shift is not really getting the cost benefit of cloud though.

As applications get re-architected with serverless technologies like lambda, costs are optimized. The exact amount of resources will pop in and out of existence for the exact amount of time they’re needed.


Its kind of dumb to me that this is news. I don’t feel like I’m old enough to have this observation.

But I’m glad they did a real analysis for estimated numbers at that scale. A modern analysis, no fear of server maintenance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: