本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。
容器世界现状,2016 年 1 月
在新的一年开始之际,我们进行了一项调查,以评估容器世界的现状。我们已准备好发布二月版,但在那之前,让我们看看来自 119 份回复的 1 月份数据(感谢您的参与!)。
关于这些数字的说明:首先,您可能会注意到这些数字加起来不等于 100%,因为在大多数情况下,选择不是互斥的,因此给出的百分比是所有受访者中选择特定选项的百分比。其次,虽然我们试图接触到广泛的云社区,但该调查最初是通过 Twitter 发送给 @brendandburns、@kelseyhightower、@sarahnovotny、@juliaferraioli、@thagomizer_rb 的关注者的,因此受众可能不是完美的横截面。我们正在努力扩大我们的样本量(我提到过我们的二月调查了吗?现在就来参加吧)。
现在,废话不多说,数据如下
首先,你们很多人都在使用容器!71% 的人目前正在使用容器,24% 的人正在考虑尽快使用它们。显然,这表明样本集存在一定的偏差。更广泛社区中容器使用情况的数字各不相同,但肯定低于 71%。因此,请对所有其余数字持保留态度。
那么人们使用容器做什么呢?超过 80% 的受访者将容器用于开发,而只有 50% 的人将容器用于生产。但你们计划很快投入生产,因为 78% 的容器用户表示他们计划在近期投入生产。
您在哪里部署容器?您的笔记本电脑是这里的明显赢家,53% 的人部署到笔记本电脑。其次是 44% 的人在自己的虚拟机上运行(Vagrant?OpenStack?我们将在 2 月份的调查中深入探讨这个问题),接着是 33% 的人在物理基础设施上运行,31% 的人在公共云虚拟机上运行。
您是如何部署容器的?54% 的人正在使用 Kubernetes,这令人非常高兴,尽管可能受到样本集的影响(参见上面的注释),更令人惊讶的是,45% 的人正在使用 shell 脚本。是不是因为 Kubernetes 仓库中正在进行的大量(且令人惊叹的)Bash 脚本编写?说实话吧……四舍五入,25% 的人正在使用 CAPS(Chef/Ansible/Puppet/Salt)系统,大约 13% 的人正在使用 Docker Swarm、Mesos 或其他系统。
最后,我们请人们就使用容器的挑战进行自由文本回答。以下是一些最有趣的答案,经过分组后重现:
开发复杂性
- “筒仓式的开发环境/工作流可能会碎片化,调试容器时可以方便地访问日志等工具,但有时不直观,需要大量的知识才能掌握整个基础设施堆栈以及从部署/更新 Kubernetes 到底层网络等最佳实践。”
- “迁移开发者工作流。不熟悉容器、卷等的人只是想工作。”
安全
- “网络安全”
- “秘密”
不成熟
- “缺乏全面的非专有标准(即非 Docker),如 runC / OCI”
- “仍处于早期阶段,工具少,许多功能缺失。”
- “CI 支持不佳,许多工具仍处于非常早期阶段。”
- “我们以前从未这样做过。”
复杂性
- “网络支持,为 Kubernetes 在裸机上提供每个 pod 的 IP”
- “集群仍然太难”
- “设置 Mesos 和 Kubernetes 太复杂了!!”
数据
- “卷的灵活性不足(这与虚拟机、物理硬件等存在相同的问题)”
- “持久性”
- “存储”
- “持久数据”
在此处下载完整的调查结果(CSV 文件):链接