有关Docker的八个令人难以置信的事实

jopen 9年前

 有关Docker的八个令人难以置信的事实

英文原文:8 Surprising facts about real Docker adoption

翻译:崔婧雯

这一年 Docker 技术蓬勃发展,Datadog 公司从其独特的视角,基于其监控的第一手数据,分析报告了 Docker 使用相关的八大事实,同时也详细介绍了他们取样,分析的方法论。很有意思,值得一读。

数以千计的公司使用 Datadog 来跟踪基础架构,所以我们能够实时看到正在涌现的软件趋势。今天很激动得和大家分享关于 Docker 真正使用的情况 — 没有吹嘘,只列事实。

Docker 大概是 2015 年谈论最多的基础架构技术。我们启动这个项目来调研有多少 Docker 真正用在生产环境里,真正使用的增长速度是怎样的。我们发现了这些问题的答案– 并且同时发现了一些更加精彩的内容。

本文研究基于 7000 个公司的采样,并且跟踪了真实使用场景,而不仅仅只是看使用报告。就我们所知,这是所发表的最为精准的 Docker 使用情况汇报。

本文使用如下词汇描述企业使用状态:“已使用(adopted)”,“尝试中(dabbling)”,和“已放弃(abandoned)”。下文方法论章节讲述了如何评测使用状态。

事实一:Docker 的真正使用在一年里上升了五倍

在 2014 年九月初,Datadog 1.8% 的客户已经使用了 Docker。一年后,这个数字增长到 8.3%。在 12 个月里几乎增长了五倍。

有关Docker的八个令人难以置信的事实

事实二:Docker 在我们监控的6% 的主机上运行

这是很让人吃惊的事实:一年前 Docker 几乎还没有任何市场份额,现在它已经运行在我们监控的6% 的主机上。6% 听上去不是个绝对高的数字,但是基于我们监控了 120 种不同技术,这个数字的确可以说明它在用户技术栈上已经非常重要了。

但是,如下表所示,主机数百分比的增长自上个季度开始似乎有所停滞。这可能是季节因素导致的,大型基础架构项目通常在暑假之后会停止。我们很感兴趣来继续观察这个季度的情况。

有关Docker的八个令人难以置信的事实

事实三:越大型的公司使用越早

这个现象驳斥了公司越大动作越慢的说法。一个使用越多主机的公司,更有可能已经尝试了 Docker,也更有可能已经使用了 Docker。这个现象很令人吃惊,因为一个公司使用了越多的主机,那么只有它使用了更多数量的 Docker 容器时,才会将其归类为“使用者”。如下文方法论章节所述,这个发现在不同基础架构规模分割阀值的情况下都适用。

有关Docker的八个令人难以置信的事实

事实四:尝试 Docker 的2/3 的公司最终使用了它

这条还是好消息。我们惊讶得发现这么多尝试 Docker 的公司最终都迅速使用了它。大部分想要使用 Docker 的公司在最初生产环境上使用的 30 天内就完成了转变,其余使用者在 60 天内完成了转变。

有关Docker的八个令人难以置信的事实

事实五:五个月内用户容器数量扩大了三倍

使用者和尝试者都在其第一次使用到第六个月使用之间,生产环境运行容器的平均数量扩大了三倍。这样使用量的增长 — 即便在尝试者里 — 对于 Docker 而言也是大好消息。

有关Docker的八个令人难以置信的事实

事实六:使用最为广泛的镜像是 Registry,NGINX 和 Redis

Docker 里运行的最常用技术是:

Registry:运行 Docker 的公司中 25% 的公司正在使用 Registry,可能用其来代替 Docker Hub。

NGINX:Docker 看来被用来包含了很多 HTTP 服务器。很有意思的是 Apache(httpd)并不是前十名。

Redis:流行的内存内键值数据存储,通常用来作为内存内数据库,消息队列,或者缓存。

Ubuntu:依然是构建镜像的默认选择。

Logspout:用来从主机上的所有容器里收集日志,并且将日志路由到任意需要的地方。

MongoDB:使用广泛的 NoSQL 数据库。

Elasticsearch:全文本搜索。

CAdvisor:Kubernetes 用来从容器里收集度量参数。

MySQL:使用最为广泛的开源数据库。

Postgres:使用第二广泛的开源数据库。将 Postgres 和 MySQL 的数量相加,可见使用 Docker 运行关系型数据库非常常见。

有关Docker的八个令人难以置信的事实

事实七:Docker 主机通常一次运行四个容器

使用 Docker 的公司在每个主机上平均同时运行四个容器。这个发现似乎表明 Docker 实际上通常被作为共享计算资源的轻量级方式;其价值不仅仅在于提供可知的,版本化的运行时环境。

有关Docker的八个令人难以置信的事实

事实八:VM 的生命周期比容器长四倍

在使用 Docker 的公司里,容器的平均生命周期是 3 天,但是在所有公司里,传统和基于云的 VM 的生命周期为 12 天。

正如事实七所讨论,通常在主机上会同时运行 4 个容器。因此可以在一般 VM 的生命周期里运行 16 个容器(4 代 4 个同步容器)。但是基于不均衡的分布情况,通常实际在 VM 的生命周期里会运行 9 个容器。

有关Docker的八个令人难以置信的事实

容器更短的生命周期以及增长的密度对于基础架构监控而言意义深远。它表示某个事物的个数呈数量级增长,需要单独监控。监控方案是围绕主机的,而不是围绕可能快速就不可用的角色。因此我们期待 Docker 能持续驱动几年前云计算开始引发的监控实践的进步。

方法论

样本

如介绍所述,使用的数据来自于 7000 家公司的采样,因此本文应该是已发表的 Docker 使用情况调查里最精准的。但是,Datadog 的客户倾向于“早期使用者”,以及更谨慎对待软件基础架构的公司。由于数据来自于我们的客户,本文的所有结论会带有倾向性,是全球市场的不完全样本。

平均值

当提到客户基准里的平均数值时(比如,平均容器生命周期),我们并不是指样本的均值。而是会计算出单独用户的平均值,然后报告客户数值的中位 数。我们发现如果取真正的均值的话,结果会被少数几个公司的不常见的 Docker 使用方式带来的数值严重影响。比如,将容器用作处理队列单元工作会导致某个公司每小时使用上千个容器。

采用分段

本文将企业分类为“采用者”,“尝试者”和“放弃者”。会在月末基于每个企业本月的 Docker 活动重新将其分类。

采用者:该月运行的容器的均值至少是运行主机数目的 50% 以上,或者该月至少有和独立主机数量一样的独立容器。

尝试者:该月使用了 Docker,但是没有达到“采用者”要求的门限

放弃者:目前仍旧活跃的公司,以前使用过 Docker,但是上个月完全没有使用。

注意采用分段门限并非来自于数据的自然分组;数据里包含各种使用数据。我们使用了直觉觉得对于读者有意义的数据。

很有意思的是,本文的发现令人惊讶得适应于不同的采用分段门限。比如,不管采用者门限更低(25% 容器平均值,或者和主机数相比,有 0.75x 的单独容器)或者更高(75% 容器均值,或者和主机数相比,有 1.5x 的单独容器),大部分发现都是不变的:

事实 #1:一年内真正采用量还是上升了 5 倍

事实#2:采用分段和这些发现没有关系

事实#3:大型公司成为 Docker 采用者或者尝试者的数量还是比小型公司多2-4 倍。图表几乎没有变化。

事实#4:发现几乎没变:采用百分比仅仅变化了±3%

事实#5:第一个月到第六个月之间,采用者的容器数量仍然增长了三倍

事实#6:采用分段和这些发现不相关。

事实#7,8:结果没变。

我们也针对绝对数量门限作了分析,使用分段结果,比如“采用者在该月至少平均运行了 20 个容器”。但是大部分发现仍然惊人得类似(实际上,几乎一样),这样的策略使得我们更应该在小型企业里,如果其基础架构运行 Docker 的比例很大时,将其归类为尝试者。

计数

只运行了 Datadog Agent 的容器被排除在本次调查之外,因此只运行 Agent 的主机也被排除了。

事实 #1

我们认为能够看到 Docker 使用量的如此大幅度增长恰恰因为 Datadog 很擅长于监控 Docker。可能新增长是由需要 Docker 监控的 Docker 新用户带来的,他们可能会为此专门使用 Datadog。但是,当我们看 Datadog 长期客户时,采用百分比几乎一样。

事实 #2

对于监控的每一种技术,我们将使用量在前1% 的企业排除在外。也就是说,如果一小部分公司以非寻常方式使用某种特定技术,并且重度使用时,他们会被从计算中排除。

也要注意,当限制采用为所有使用 Docker 的公司,或者当排除使用 Docker 公司的5%,10% 或 25% 时,“运行 Docker 主机百分比”图的基本走势保持不变。上个季度里,运行 Docker 的主机百分比有明显变平的趋势。

事实 #3

对于不同的基础架构规模切入点,该发现保持一致。不同切入点如下。本文使用切入点的中间段。

基础架构规模切入点已经尝试 Docker 的公司的百分比

1–49, 50–99, 100+ 11%, 22%, 43%

1–99, 100–499, 500+ 11%, 28%, 56%

1–249, 250-749, 750+ 12%, 37%, 58%

来自: www.36dsj.com