Hacker News new | ask | show | jobs
by scrollaway 2614 days ago
4.2M / month on AWS is a hefty bill but it's not unheard of. Slack is, I suspect, paying for all the marked up extras such as various expensive regulation compliance addons, at-rest encryption, multi-AZ+multi-region backups and mirrors and what not. There's also probably a huge amount of stuff they use on their side to run their own tooling and analytics on their clients; costs that won't necessarily rise per user.

The part that "essentially amounts to a chat app" is probably one of the least expensive portions.

It's still high don't get me wrong, but not shockingly high considering how slack is used and trusted by so many companies.

1 comments

The thing I find curious is that businesses of this scale are still using cloud hosting. Is it cost-effective or otherwise better in some way to outsource your infrastructure instead of hiring an in-house IT team to manage your own hardware and connectivity at this level?
Generally, cloud is still better for many. Managing datacenters at scale is hard. It also takes time to build up capabilities in house, while cost of delay is usually far greater than cost efficiencies wrung out of infrastructure. Cloud is often a euphemism for “supported hosted software that happens to come with hardware”. Not that different from Dreamhost managing PHP for you , just richer and higher scale. Why build a cheaper internal capability over 6 months when I can have a slightly more expensive service NOW that I don’t have to worry about? This is why we have 3rd party transportation companies, telecoms, power plants, etc.

Netflix still uses cloud hosting for most things. Some like Dropbox have found a way to DIY. On the other hand, Gitlab tried to move to in house kubernetes on bare metal, and reversed that position

Thanks for the insight.

Why build a cheaper internal capability over 6 months when I can have a slightly more expensive service NOW that I don’t have to worry about?

If it really is just slightly more expensive, that seems like it would be a good investment for many businesses. I was just curious because this isn't a field I've been working in directly for a while.

Last time I looked, but that was several years ago, there was a sweet spot for a lot of the cloud infrastructure services but at both the lower and the higher end the pricing didn't seem to make much sense in most cases. On that higher end, you could have bought the equipment outright, hired a substantial team of good people to manage it, and established your own presence in serious data centres with good connectivity, and still been considerably better off.

I wonder what has driven the change in cost/benefit since that time. Maybe it's just that cloud hosting is better understood and has better tooling, and those in turn make the market more competitive now?

In general, AWS/GCP/Azure hosting rates are only slightly marked up as compared to DigitalOcean, Vultr, etc. especially with reserved instances.

These rates compare favourably to rolling your own DC (rack or more).

It’s the bandwidth costs that are inflated by 500-1000%, which is where all the margins come from and it creates a lock in effect as getting your data out is expensive.

This shows how Netflix is smart harnessing it, they use AWS for everything except the actual streaming.
It comes down to cost/benefit of delay on actions with their own window of opportunity and rates of return. If I delay taking actions because I’m waiting for IT services, that’s a real opportunity cost that should be weighed against the higher unit cost of cloud services. It does me little good if I have all this cost effective hardware and software managed internally but it still takes a week/month/ More for a developer to get an extra 5 TB and 100 CPU cores, or to get a firewall rule opened, or to get a new subnet created, or a new DNS zone.

Procuring gear, hiring a team, contracting connectivity, testing, integrating, scaling, etc, takes months. It also presumes you’ll attract, hire and be able to fund management that understands modern processes and can get things done in a timely, quality fashion. Even the best in the business are 50/50 at getting this right, so there will be growing pains. Whereas a top 5 cloud provider almost always has world class practices and processes behind their services and are a credit card transaction away. Much less capital commitment, much less time commitment.

Put another way, why prematurely optimize when you don’t necessarily know what you need long term ? Startups or even new products at large companies need to focus on product/market fit and responsiveness. Their processes and structures should be more like a tent city with gradually paved cowpaths than a planned city.

In the case of a venture funded startup, time is more valuable than capital. In the case of a large enterprise, it depends - sometimes time is more valuable, sometimes operating cost needs to be squeezed. Cloud of all forms (private, public) has become very lucrative in enterprise because of the slow pace and intransigence of IT teams that were assembled in an era where technical and software services could suck and take years to solidify. These days software needs to suck a lot less, and quickly - customers are demanding it. Cloud is not mainly about where you do your computing, it’s about how you do it: on demand, fungible resources, granular billing, API-driven access. I’m sure I can get the costs down if I own all the gear and have a flexibly contracted network, but I still need to ensure I have the automation, processes, and practices that meet the business need for velocity. I can’t risk hiring a team that might put up a ticketing system and manage every request by Excel spreadsheet if they don’t know better.

Building good software means providing developers with infrastructure and tools they need to act quickly with safety, and most importantly, giving them the ability to change their minds without a major cost/capital hit. Cloud (or, as I say above, on demand, fungible infrastructure and rented software) is a major path (but not the only) to get there.

Netflix uses AWS for their site and developement, but the most expensive part (streaming) is still happening from their own connect boxes that they provide to ISPs[1]

[1] https://openconnect.netflix.com/en/

My company recently dropped our in house data center and moved almost entirely to AWS. We had a few reasons; we just don't have the multiple data centers to gauruntee uptimes. Our product isnt data security so our limited staff can't keep the data as secure as AWS whose entire business is around security. And we just got to a point where it was cheaper to host on AWS than just to maintain our own data center. I hope that offers a little insight
I don't think moving things to AWS makes things more secure by default. It is actually easier to create services in AWS or GCP (never used azure) that are publicly open than implement proper security (I remember specifically RDS defaulting to public IP unless you set up private subnets, same with GCP SQL (although they blocked all access but default, though once again it is easier to unblock it for all than e.g. using their proxy), GCP VMs automatically get public address unless you explicitly disable it, don't remember EC2 but I think it was similar.. So the argument of not needing to have someone who knows about security is a good one. You need that person as much (if not more) with public cloud.