Live data from Hacker News

Docker operations slowing down on AWS

jeremyeder.com

171–176 of 176 posts

Re: Docker operations slowing down on AWS

#171

Earlier quoted context omitted.

I managed a metal to AWS transition, and 5x definitely doesn't match the costs I experienced (in this specific case, it was around the lines of 1.2x). I don't mean this case to be universal, in particular, I think cloud services force applications to have a particularly good/modular design (which is a cost in itself) - where, with metal, as you wrote, you can relatively cheaply overprovision. I think the analysis you…

Disclaimer: My experience is with growing startups younger than 5 years. So everything I say needs to be seen in that context. From what did you transition to what? 20% sounds like a very small markup, from my experience and from other people experiences documented on the web it's much much larger (at 10x?) than your experience. So I would be rather interested in more details as many people ask me about Amazon transi…

I'll write two answers. This is a description of the infrastructure.

Our base environment (we have several) has 4 servers, 2 of whom are used for the app servers and load balancers, and 2 for data stores and queue processors.

Each server is the typical (as someone in this thread named) "8k" server (a bit more costly, actually). Generally speaking, the servers are significantly overprovisioned.

There are a couple of factors that made the conversion to AWS cheap (~20+).

The first is that the base unit of a metal server is very large (1 server). Although it's cheap to scale vertically, scaling horizontally, for HA purposes, is expensive, because it costs at least 2 units.

For example, the total power of our app servers is overprovisioned in the 20x range (CPU and memory are cheap, right?). Even with minimal speccing, a metal server still costs around 3/4k, you need 2, that's 6/8k.

In AWS, we can work with very small units. So maybe we end up paying the same amount, but we don't need that excessive power, and, crucial, we have networking for free (or almost).

The second factor is networking and hosting costs, which are not trivial. We rent managed firewalls and load balancers, which in AWS are for free or almost.

Also, it's important to spread the servers cost over the time - any metal server won't last forever. If you buy one for 9.6k, it's 100$ a month for 8 years. When it breaks, HA goes temporarily out of the window until it gets fixed (or you buy a new one, or you move services around).

The big pain point of AWS [for us] is RDS, which is madly expensive. It accounts for something like 50% of our AWS costs.

A very gross estimation of the monthly costs of each metal server could be:

- 80$: server - 80$: hosting - 80$: managed networking

For 4 servers, that's almost 1000$. Adding 20%, with a budget of 1200$, with AWS, we have a less powerful but also correspondingly less wasteful infrastructure, with lots of baked-in functionality (including, more flexible HA).

Re: Docker operations slowing down on AWS

#172

Earlier quoted context omitted.

I managed a metal to AWS transition, and 5x definitely doesn't match the costs I experienced (in this specific case, it was around the lines of 1.2x). I don't mean this case to be universal, in particular, I think cloud services force applications to have a particularly good/modular design (which is a cost in itself) - where, with metal, as you wrote, you can relatively cheaply overprovision. I think the analysis you…

Disclaimer: My experience is with growing startups younger than 5 years. So everything I say needs to be seen in that context. From what did you transition to what? 20% sounds like a very small markup, from my experience and from other people experiences documented on the web it's much much larger (at 10x?) than your experience. So I would be rather interested in more details as many people ask me about Amazon transi…

Not sure what you are using, the hardware would be around $40 per month for that kind of network architecture (FW,HAProxy,Nginx,...).

The LBs you're talking about are software. I was referring to hardware solutions; a soft load balancer is still a good solution, but brings back to the problem I've made before - unit granularity.

Do you refer to two (two is the minimum required for HA purposes) dedicated load balancing machines, or mixed services?

In the former case, metal is not very convenient, as the minimal unit even for a pure LB machine, is still expensive.

In the latter case, it's hard to say, buy I think there is plenty of middle ground between a small startup and Amazon, where the cloud granularity is helpful and cost-effective (I'm not implying that it's generally cheaper than metal, though).

Re: Docker operations slowing down on AWS

#173
post #102
post #91

Earlier quoted context omitted.

I tend to favour starting with rented servers too, rather than purchases (or leases, rather) - whether that's on AWS, or rented by the month then becomes a much simpler comparison. As for the CDN, we absolutely agree. I noted elsewhere that even if you host on AWS, if you have any kind of volume of outbound bandwidth use, you should probably get a CDN elsewhere whether or not you think you need a CDN. A good caching…

What about CloudFront?

As mentioned, its traffic charges are as high as EC2/S3. CloudFront is useful if your goal is to reduce load on your EC2/S3 setup for reasons mostly other than cost, and want an all-AWS stack.

If cost is your reason for looking at a CDN, or a big part of it, CloudFront will do very little for you unless your pageviews are extremely costly in terms of compute relative to the amount of data returned, and said data is very cache-friendly.

That's very much a niche requirement. To date I've not come across a setup where CloudFront made sense cost-wise.

Re: Docker operations slowing down on AWS

#174
post #173
post #102

Earlier quoted context omitted.

What about CloudFront?

As mentioned, its traffic charges are as high as EC2/S3. CloudFront is useful if your goal is to reduce load on your EC2/S3 setup for reasons mostly other than cost, and want an all-AWS stack. If cost is your reason for looking at a CDN, or a big part of it, CloudFront will do very little for you unless your pageviews are extremely costly in terms of compute relative to the amount of data returned, and said data is v…

Good to know. I've noticed that NixOS hosts their binary package caches on CloudFront, which I assumed was because it's cost effective. Those URLs are completely content addressed so they're optimal for CDN caching. Is there a significantly better alternative to S3+CloudFront? I'm pretty influenced by brand names in this situation because there are so many random hosting companies out there.

Re: Docker operations slowing down on AWS

#175
post #174
post #173

Earlier quoted context omitted.

As mentioned, its traffic charges are as high as EC2/S3. CloudFront is useful if your goal is to reduce load on your EC2/S3 setup for reasons mostly other than cost, and want an all-AWS stack. If cost is your reason for looking at a CDN, or a big part of it, CloudFront will do very little for you unless your pageviews are extremely costly in terms of compute relative to the amount of data returned, and said data is v…

Good to know. I've noticed that NixOS hosts their binary package caches on CloudFront, which I assumed was because it's cost effective. Those URLs are completely content addressed so they're optimal for CDN caching. Is there a significantly better alternative to S3+CloudFront? I'm pretty influenced by brand names in this situation because there are so many random hosting companies out there.

You can keep S3 if your cache hit rates are good enough and still save a lot. S3 is great for the storage for e.g. durability, as long as you can avoid serving up too much of your content front it.

To be honest I rarely use external CDNs and instead "roll my own" with a variety of providers as with cloud providers + geoip enabled DNS you can get 90% of the benefit at very low rates, but in terms of "brand name recognition" MaxCDN is worth checking. It's not nearly the maximum saving you can get, but it can be substantially cheaper than CloudFront.

Re: Docker operations slowing down on AWS

#176
post #46
post #32

While the article is factually correct, the tone strikes me as being disingenuous. The problem seems to be that the servers were running on gp2 disks, which offer a performance baseline with free short term bursts based on credits collected. The author has just realised that for consistent throughput, they would have to choose provisioned throughput and pay accordingly. This isn’t some conspiracy by AWS, though. It’s…

Exactly. I'd go further and say the burst capacity is actually a super useful and powerful feature that is very hard to get on your own hardware. Definitely can catch you unaware if you aren't on top of it and can get expensive for some needs, but as you say not hidden at all. I have a hacky shell script I sometimes use for moderately sized environments that don't have better monitoring setup, it reports the minimum…

thanks for this script, pretty helpful!
Post reply on HN