这篇文章发布已超过一年。旧文章可能包含过时内容。请确认页面中的信息自发布以来未发生错误。

容器世界现状,2016 年 1 月

新年伊始,我们发起了一项调查,旨在衡量容器世界的现状。我们准备发送二月版的调查,但在那之前,让我们先看看来自 119 份回复(感谢参与!)的一月份数据。

关于这些数字的说明:首先,你可能会注意到数字加起来不是 100%,因为在大多数情况下,选项不是互斥的,所以给出的百分比是选择某个特定选项的受访者占总受访者人数的百分比。其次,虽然我们努力触及云社区的广泛群体,但这项调查最初是通过 Twitter 发送给 @brendandburns@kelseyhightower@sarahnovotny@juliaferraioli@thagomizer_rb 的关注者的,因此受众可能不是一个完美的横截面。我们正在努力扩大样本量(我提到过我们的二月调查了吗?现在就来填写吧)。

话不多说,以下是数据

首先,很多人都在使用容器!71% 的受访者目前正在使用容器,而 24% 的受访者正考虑在近期使用。显然,这表明样本存在一定偏差。在更广泛的社区中,容器的使用率数字各不相同,但肯定低于 71%。 因此,请对剩下的所有数字持保留态度。

那么大家使用容器是做什么呢?超过 80% 的受访者将容器用于开发,而只有 50% 用于生产。但你们计划很快将容器用于生产,因为 78% 的容器用户表示,他们计划在近期某个时候迁移到生产环境。

你们在哪里部署容器?笔记本电脑在这里是明显的赢家,53% 的受访者部署到笔记本电脑上。接下来是 44% 的受访者在自己的虚拟机上运行(是 Vagrant?OpenStack?我们会在二月调查中深入探讨),随后是 33% 的受访者在物理基础设施上运行,以及 31% 在公有云虚拟机上运行。

你们是如何部署容器的?54% 的受访者使用 Kubernetes,这很棒,尽管可能受到样本偏差的影响(参见上面的说明)。更令人惊讶的是,45% 的受访者使用 shell 脚本。这是因为 Kubernetes 代码库中有大量(而且很棒的)Bash 脚本吗?说吧,你可以告诉我真相…… 其他数字方面,25% 使用 CAPS (Chef/Ansible/Puppet/Salt) 系统,大约 13% 使用 Docker Swarm、Mesos 或其他系统。

最后,我们请受访者用自由文本回答关于使用容器的挑战。这里对一些最有趣的回答进行了分组和转载。

开发复杂性
  • “孤立的开发环境/工作流可能分散,调试容器时日志等工具虽然可用但不总直观,需要大量知识才能理解整个基础设施堆栈以及从部署/更新 Kubernetes 到底层网络等的最佳实践。”
  • “迁移开发者工作流。不熟悉容器、卷等的人只想工作。”
安全
  • “网络安全”
  • “Secret(敏感信息管理)”
不成熟
  • “缺乏全面的非专有标准(例如非 Docker),比如 runC / OCI”
  • “仍然处于早期阶段,工具很少,缺少许多功能。”
  • “CI 支持差,许多工具仍处于非常早期阶段。”
  • “我们以前从未这样做过。”
复杂性
  • “网络支持,为 Kubernetes 在裸机上为每个 Pod 提供 IP”
  • “集群搭建仍然太难”
  • “设置 Mesos 和 Kubernetes 真是太复杂了!!”
数据
  • “卷缺乏灵活性(这与虚拟机、物理硬件等面临的问题相同)”
  • “持久性”
  • “存储”
  • “持久数据”

这里下载完整的调查结果 (CSV 文件)。