写点什么

来自 Datadog 的 Docker 全球使用调查报告

  • 2017-06-19
  • 本文字数:1788 字

    阅读完需:约 6 分钟

2017 年 4 月,美国云应用监控服务提供商 Datadog 发布了一份全新的全球 Docker 使用调查报告(Datadog 分别在 2015 年 2016 年发布了另外两份报告)。Docker 或许是过去几年被谈论得最多的基础设施技术。这份报告对 Docker 在生产环境的使用情况和采用速度进行了调查。

这份报告对 10000 家公司和 1.85 亿个容器进行取样,是目前为止规模最大最准确的有关 Docker 使用情况的调查。报告的主要内容如下。

最近一年 Docker 采用率增加了 40%

在 2016 年 3 月初,有 13.6% 的 Datalog 客户使用了 Docker。一年之后,这个数字增长到了 18.8%。在 12 个月内增长了将近 40%。

由 Datadog 监控的 15% 主机运行了 Docker

两年前,Docker 只有 3% 的市场份额,现在增长到了 15%。从下图可以看到,Docker 增长率在一开始有所波动,但在 2015 年秋天开始趋于稳定。从那个时候开始,Docker 的采用率一直呈稳定的线性增长,由 Datadog 监控的六分之一机器几乎都运行了 Docker。

大公司仍然是主要的使用者

大公司的增长趋于放缓,但在 Docker 方面,从 2015 年发布的第一份报告开始一直保持领先。一个公司使用的主机越多,就越有可能使用 Docker。将近 60% 的企业使用了 500 台或更多的主机,他们被归类为 Docker 玩家或 Docker 采用者。

据上一份报告显示,使用了大量主机的企业是推动 Docker 采用的主要力量,而最近的数据表明,使用了中等数量(100 到 499 台)主机的企业也成为重要的贡献者。大中型公司的采用率现在几乎趋于一致。

编排引擎正在崛起

随着 Docker 逐步成为生产环境不可或缺的组成部分,企业正在寻找能够帮助他们有效管理和编排容器的工具。截止 2017 年 3 月,使用了 Docker 的 Datalog 客户中有 40% 也使用了 Kubernetes、Mesos、Amazon ECS、Google Container Engine 或其他编排引擎。有些企业使用 Docker 内置的编排引擎,不过它们未能生成可识别的度量指标,所以无法对其进行可靠的统计。

对于同时使用了 Docker 和 AWS 的企业来说,他们更倾向于选择 Amazon ECS,正如所预期的那样:超过 35% 的公司使用了 ECS。不过也有很大一部分使用了其他编排引擎,特别是 Kubernetes。

采用者的容器数量在 9 个月内增长到 5 倍

从使用 Docker 的第 1 个月到第 9 个月,采用者的容器平均数量几乎增长到了原先的 5 倍。采用率呈线性增长,而且在第 10 个月后没有下降的势头。另一些数据表明,这种增长模式从上一份报告以来一直保持稳定。

使用范围最广的镜像分别是 NGINX、Redis 和 Elasticsearch

最常用的 Docker 镜像如下:

  • NGINX:似乎 Docker 被用来运行多种 HTTP 服务器,从 2015 开始对 Docker 镜像的使用情况进行跟踪以来,NGINX 一直是最有力的竞争者。
  • Redis:这个非常流行的键值数据存储引擎经常被用来作为内存数据库、消息队列或缓存。
  • Elasticsearch:全文检索越来越流行,首次进入前 3 名。
  • Registry:使用 Docker 的公司当中有 18% 也使用了 Registry,Registry 用于保存和分发其他 Docker 镜像。Registry 几乎在每一份报告中都名列前茅。
  • Postgres:越来越流行的开源关系型数据库,采用量首次超过了 MySQL。
  • MySQL:在 Docker 基础设施里使用很广的开源关系型数据库。如果把 MySQL 和 Postgre 的数字加在一起,可见在 Docker 中运行关系型数据库是非常常见的。
  • etcd:分布式键值存储引擎,用于为 Docker 集群提供一致性的配置。
    1. Fluentd:这个开源的“统一日志层”被设计用于解耦数据源和后端的数据存储。这是 Fluentd 第一次出现在排名清单里,取代了 Logspout 的位置。
    2. MongoDB:广泛使用的 NoSQL 数据存储。
    3. RabbitMQ:在 Docker 环境里广泛使用的消息代理。

一台主机上一般会同时运行 7 个容器

中型公司会在每一台主机上运行 7 个容器,而在 9 个月前只有 5 个。这一现象说明 Docker 一般是被作为轻量级的容器来共享计算资源,而不仅仅是作为可感知、版本化的运行时环境。另外,有 25% 的公司平均同时运行超过 14 个容器。

容器的重置速度比虚拟机快 9 倍

容器的平均生存周期是 2.5 天,而传统的云虚拟机是 23 天。

容器编排对容器的生存周期有重要的影响,自动启动和关闭容器导致了更高的重置率。使用了编排引擎的企业,一般的容器存活时间不会超过 1 天,而没有使用编排引擎的企业,他们的容器平均存活时间为 5.5 天。

容器的短存活期和高密度意味着需要更好的基础设施监控。监控方案必须是基于主机的,而不是基于角色的。Docker 将促使监控方式不断地发生变化。

2017-06-19 19:002817
用户头像

发布了 322 篇内容, 共 147.6 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

云途加油站 | 一文读懂 Dynatrace 与Amazon Lambda 的“双剑合璧心法”

亚马逊云科技 (Amazon Web Services)

数据库 Serverless Lambda

自动化测试如何解决日志问题

老张

自动化测试 日志处理

从事DevOps工作应该掌握哪些语言及工具

穿过生命散发芬芳

DevOps 8月月更

开源一夏 | Python 并发编程之死锁

宇宙之一粟

Python 开源 并发编程 死锁 8月月更

看准六点,帮你选对客户体验管理(CEM)系统

科技怪咖

Dockerfile 定制专属镜像

CTO技术共享

分布式雪花算法

源字节1号

前端开发 后端开发

Java并发面试常见考点

浅羽技术

Java 面试 线程 并发 8月月更

开源一夏 | Python 对象的序列和反序列化

宇宙之一粟

Python 开源 序列化 8月月更

【数据结构实践】从0到1带你利用Python实现自定义集合

迷彩

数据结构 集合运算 8月月更 自定义集合

Docker 已运行端口映射怎么破

CTO技术共享

leetcode 594. Longest Harmonious Subsequence 最长和谐子序列(简单).md

okokabcd

LeetCode 算法与数据结构

C/CPP中int和string的互相转换详解与多解例题分析

CtrlX

c c++ 后端 数据类型 8月月更

老板问我要ROI,我让他先挑宽门or窄门

科技怪咖

数据点按时间间隔以及数据值分割数据块

waitmoon

算法 SLO

4.0 SDK Workshop 纪实:一起体验多人、多屏幕共享新功能

声网

人工智能 音视频

计算机接口技术复习题(1-6章)

乌龟哥哥

8月月更

开源一夏 | Qiankun框架对于微前端的解耦和沙盒与实战探索心得

恒山其若陋兮

开源 8月月更

新元联手倍市得,以数字化手段实现人才公租房项目满意度持续监测

科技怪咖

每日一R「14」错误处理

Samson

学习笔记 8月月更 ​Rust

Python 教程之输入输出(9)—— print() 中的 sep 参数

海拥(haiyong.site)

Python 8月月更

Linux 黑客命令装逼小助手

CTO技术共享

基于STM32设计的拼图小游戏

DS小龙哥

8月月更

数据库中存媒体文件的字段用什么类型?一文带你了解二进制大对象BLOB

wljslmz

数据库 8月月更

悲观锁和乐观锁的区别以及实现方式

浅羽技术

Java 面试 面试题 秋招 8月月更

头脑风暴:最长回文子序列

HelloWorld杰少

LeetCode 8月月更

面试中常用消息中间件对比

浅羽技术

kafka RocketMQ 消息中间件 Rabbit MQ 8月月更

豆瓣 TOP3 的 Python 书,千万别错过

图灵教育

Flu tter开发小技巧

坚果

开源 8月月更

合成资产赛道风云突变,Linear Finance有望成为最具潜力的黑马

鳄鱼视界

微博系统“微博评论”高性能高可用计算架构

张立奎

来自Datadog的Docker全球使用调查报告_语言 & 开发_Datadog_InfoQ精选文章