New Paper: How to Operate Container Clusters more Efficiently?

10 Jan 2016 , first release: 24 Nov 2015 Freescale Semiconductor / flickr.com, Lizenz: CC BY-NC-ND 2.0

TL;DR

We present some insights concerning containers, overlay networks (especially weave), and their sometimes counterintuitive impact on network performance.

In short: From a performance point of view, it seems to be a simple strategy to operate container clusters and overlay network solutions like weave with most similar high core machine types across different providers. We were pleased to see, that the most similar machine types across AWS and GCE are far away from being the most expensive machine types provided by both providers. Thus, our similarity-based virtual machine type selection strategy seems to be a cost effective strategy as well.

If you want to know more. The paper is has been published in

Abstract

In previous work, we concluded that container technologies and overlay networks typically have negative performance impacts, mainly due to an additional layer to networking. This is what everybody would expect, only the degree of impact might be questionable. These negative performance impacts can be accepted (if they stay moderate), due to a better flexibility and manageability of the resulting systems. However, we draw our conclusion only on data covering small core machine types. This extended work additionally analyzed the impact of various (high core) machine types of different public cloud service providers (Amazon Web Services, AWS and Google Compute Engine, GCE) and comes to a more differentiated view and some astonishing results for high core machine types. Our findings stand to reason that a simple and cost effective strategy is to operate container cluster with highly similar high core machine types (even across different cloud service providers). This strategy should cover major relevant and complex data transfer rate reducing effects of containers, container clusters and software-defined-networks appropriately.

Summary of details concerning container impact (Docker)

Machine type cores small messages  big messages
AWS m3.large 2 90% - 100% 100% - 110%
GCE n1-stanard-2 2 95% 95% - 100%
AWS m3.xlarge 4 90% 120% - 130%
GCE n1-stanard-4 4 95% 120% - 130%
AWS m3.2xlarge 8 90% 110% - 130%
GCE n1-stanard-8 8 90% 110% - 120%

Summary of details concerning overlay network impact (Weave)

Machine type cores small messages  big messages
AWS m3.large 2 45% 60%
GCE n1-stanard-2 2 25% - 80% 25%
AWS m3.xlarge 4 60% 90% - 100%
GCE n1-stanard-4 4 40% - 100% 60%
AWS m3.2xlarge 8 70% - 80% 90% - 100%
GCE n1-stanard-8 8 55% - 80% 70%

Absolute data transfer rates of bare (grey), containerized (red) and overlay network connected (blue) services

Relative impact of containers (red) and overlay network (blue) compared with a bare (grey) deployment