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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用者和尝试者都在其第一次使用到第六个月使用之间,生产环境运行容器的平均数量扩大了三倍。这样使用量的增长 — 即便在尝试者里 — 对于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实际上通常被作为共享计算资源的轻量级方式;其价值不仅仅在于提供可知的,版本化的运行时环境。

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

在使用Docker的公司里,容器的平均生命周期是3天,但是在所有公司里,传统和基于云的VM的生命周期为12天。
正如事实七所讨论,通常在主机上会同时运行4个容器。因此可以在一般VM的生命周期里运行16个容器(4代4个同步容器)。但是基于不均衡的分布情况,通常实际在VM的生命周期里会运行9个容器。

容器更短的生命周期以及增长的密度对于基础架构监控而言意义深远。它表示某个事物的个数呈数量级增长,需要单独监控。监控方案是围绕主机的,而不是围绕可能快速就不可用的角色。因此我们期待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%

本文作者:佚名

来源:51CTO

时间: 2024-11-02 16:45:14

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

关于Windows平台上的Docker,我们需要了解哪些事实?

   [51CTO.com快译]这个周末是在Monki Gras大会上度过的,在今年的这场软件开发研讨活动当中,人们的关注重点放在了软件打包这一议题身上.不少发言者谈到了容器技术在DevOps及持续交付领域的重要作用.然而作为一种普遍误解,很多朋友仍然认为Docker只能运行在Linux虚拟机之上. 事实并非如此:Windows拥有自己的容器技术,其立足于Docker但能够在微软环境下运行.当然,我理解为何会出现这种误解:Windows 10刚刚新增Linux子系统功能,而Windows Ser

令人难以置信的纯CSS3图标

尽管被批评为走火入魔,CSS3 痴迷者们仍然在尝试实现各种基于纯 CSS 的图形与图标设计,如果你看到本文介绍的这些精美图标,你绝对不会相信它们完全是由 CSS3 代码生成的.尤其是那套由 Louis Harboe 设计的 iOS 图标,那么微妙的色彩与纹理,真的难以置信. 奥林匹克标志 作者: Doug Neiner 基于纯 CSS,以 em 为单位,可动态调整尺寸,需要浏览器支持 border-radius 属性,目前支持的浏览器包括 Chrome, Safari, Firefox 和 IE

远离 Docker 的五大陷阱

Docker在广大开发人员和行业专业人士当中仍然是个热门话题.先简要介绍一下Docker的功能:它作为一个容器系统来运行,拿来运行软件应用程序所需的构建模板(代码.运行时环境.系统工具和系统库)后,将它们包装成可以在任何服务器上执行的小巧程序包.Docker的优点在于,能够让在一台服务器上运行的应用程序实例数量比使用虚拟机这种方法多出两三倍.就未来的应用开发而言,这是一种大有前景的工具,但是即便Docker已取得了令人难以置信的进步,它依然存在诸多缺点.不妨看一下Docker的五大陷阱: 1. 

在印度,人工智能和机器人正“蚕食”人们迫切需要的工作

如果我不满40岁,这个类别涵盖了大约65%的印度人,那么我现在绝对会感到害怕.对于这个问题,如果我低于或高于这个年龄,我也会感到极度恐慌. 不知是否曾经有一个国家面临着这样一种反乌托邦的未来前景,数百万没有工作的青年四处游荡,仅仅是因为没有其他事情可做,就制造骚乱.抢劫和盗窃,这就是印度--除非它能够并愿意做点什么事来改变,而且要非常快.还要非常有效才行. 人工智能和机器人是这个故事的一部分,但要想理解印度目前陷入的.难以应对的巨大困境,我们必须向上追溯一下.对于一个想要让数亿人摆脱贫困的发展中

他如何帮Facebook把用户做到7亿!

导读: 很多公司都搞不清自己的每一步的成功与失败到底都是因为什么 公司快速爆发时大家漫步云端, 公司忽然遇到瓶颈或一落千丈时, 大家又茫然失措. 而ChamathPalihapitiya显然不是这样的一个. 他总是非常清楚自己在做什么, 自己为什么要这样做. 本文是ChamathPalihapitiya的一次公开演讲,他说Facebook的用户增长他只做了三件事,那么这三件事是什么? 我们先了解一下ChamathPalihapitiya的背景: ChamathPalihapitiya出身于斯里兰

云计算厂商们的反击黑客行动

"网络就是计算机",这是 Sun 公司联合创始人 JohnGage 在1984年说过的一句话,预测了分布式计算技术变革即将带来的新世界.而如今经过基础设施.资本.服务的比拼,云计算正在将这一理念变成现实.尤其近两年国内的云计算市场,除去BAT在云服务市场的大力布局,也诞生了诸如青云.UCloud.七牛云.青藤云等新崛起的专业云服务商跑马圈地. 但是如今云服务的现状却备受挑战,从速度到售后服务都饱受诟病,尤其是黑客攻击引发的云端安全问题,让不少企业和用户对云计算的使用抱有怀疑态度: 去年

中间件和微服务,Docker以及原生云架构的关系

微服务和Docker的发展势头 微服务和容器的主要目标是缩短软件开发时间,以及实现开发.部署以及运维的更大灵活性.为什么它过去几个月的发展势头这么猛?因为几乎所有科技巨头企业如亚马逊,谷歌,Facebook,Netflix都在这里激烈竞争. 微服务就像是一个面向服务的架构(SOA):这是一种架构和供应商技术分别独立的设计理念.因此,目前并没有明确的界定标准或规范.你永远需要在和其他人讨论之前定义你所理解的微服务术语.每个人都有不同的定义.在这篇文章中微服务是被开发,部署和独立缩放的服务.它们可以

Flappy Bird成名记:28天令人咂舌却真实的故事

在短短的几个星期之内,移动应用<Flappy Bird>席卷了全球.其实这个游戏很简单,很多用户都说玩它是在找"自虐".该游戏的设计者和开发者是居住在越南的阮哈东,以前他也推出过一些iOS和 Flash游戏.<Flappy Bird>的传奇性在于它突然爆红,又同样突然地被下架.阮哈东说下架它的原因是这个游戏太令人上瘾,令他感到非常内疚. 一些分析师利用App Annie的应用评级数据,以及Topsy的Twitter数据分析资料,还有阮哈东的Twitter消息,探

我们该期待怎样的Docker使用体验,是容器还是集装箱?

Docker已经引发了新一轮人才竞争浪潮,各企业纷纷开始积极物色拥有Docker技术经验的人员,以便于打理自己的容器化平台. 在一篇博文当中,这家容器化方案供应商麾下员工Mano Marks列举了一份整理自招聘网站的图表,其显示全球范围内以Docker为关注重点的相关岗位拥有着陡峭的上升曲线. Mano在博文中写道,"几乎可以肯定,各企业纷纷开始加大对Docker的投入力度,旨在转变自身应用程序的生命周期.Docker相关技能也将成为我们在快速发展的DevOps求职市场上获得理想职位的一项重要资