To what extent can a Docker cluster reduce infrastructure costs?

2/24/2017

I want to know what kind of cost savings (if any) I can expect to achieve, through introduction of a Docker-based cluster such as Kubernetes, Docker Swarm, Mesos, or Amazon ECS.

My company has been using Docker for a number of years, both to support development, and in production, but to-date we have not introduced a cluster orchestrator into the mix. Some of us believe that doing so would help us reduce our (AWS) infrastructure spend, while others are unconvinced.

If you have introduced a cluster in an attempt to reduce costs: how did it go?

-- Mike Williams
amazon-ec2
amazon-ecs
docker
kubernetes
mesos

1 Answer

2/24/2017

I think this is too broad to ask on StackOverflow - you'd need some very specific numbers and resource requirement assumptions to answer that question properly and it would still be very opinion-based.

But anyhow.. the cost reduction which you could get from Kubernetes is provided by reducing computing overhead through "Resource Bin Packing". You can declare minimum and maximum compute resources (CPU & Memory) for your containers. Kubernetes will slot your containers into where ever they fit. Cost savings based on that could reach from 0% to 100% depending on how good you manage to reduce overhead already.

To build that understanding you'd have to run some evaluations yourself. How this is done and how a utilization evaluation can be done is described in the original Borg paper by Google or in one of the many talks presented by Google folks e.g.: Cluster Management at Google with Borg • John Wilkes. You'd still have to understand the differences between bork and Kubernetes and apply it to your situation, but it's a starting point.

On the other hand if you want bare numbers from others:

But beware that most cost savings reports often include other factors like reducing rollout times, licenses or switching from monolith applications to microservices. That's why it's hard to compare the numbers and that's why doing your own evaluations is important.

-- pagid
Source: StackOverflow