随着2013年3月Docker 0.1版本发布以及2015年Kubernetes容器编排框架的开源,容器技术发展走上了快车道。容器架构的敏捷、轻简和高度兼容性使得容器成为云原生生态中最基础的一环,在DevOps、微服务应用的推进中,容器和编排框架都扮演至关重要的角色。目前容器技术的发展已经到了第三个阶段:第一阶段2014-2016年的技术探索期;第二阶段2017-2018年的行业试水期;第三阶段2019年以后的规模应用期。
2020年5月和6月,CNCF社区对云原生市场和生态进行了第八次用户调查评估,收到了1324份回复。主要结论包括以下几个方面:
- 容器在生产中的使用率从去年的 84% 增加到 92%,比 2016 年的第一次调查增加了 300%。
- Kubernetes 在生产中的使用率从去年的 78% 增加到 83%。
- 自去年调查以来,所有 CNCF 项目的使用率都增加了 50%。
- 云原生工具使用情况:
- 82% 的受访者在生产中使用 CI/CD流水线。
- 30% 的受访者在生产中使用无服务器技术。
- 27% 的受访者在生产中使用service mesh,比去年增加了 50%。
- 55% 的受访者在生产中的容器中使用有状态的应用程序。
调查受访者中有三分之二来自员工人数超过 100 人的组织,30%来自员工人数超过 5000 人的组织,这显示出强大的企业代表性。大多数受访者(56%)来自软件/技术组织。其他行业包括金融服务(9%)、咨询(6%)和电信运营商(5%)。
容器进军生产环境
容器技术应用初期,企业担忧其稳定性,往往仅在开发环境和测试环境使用容器。容器应用到生产环境需要更高水准的集群管理、网络通信、安全防护能力,对企业的技术能力要求非常高。所以,最初企业在生产环境中部署容器的数量以较小规模为主,多为互联网或金融行业的头部企业。
2020年,92% 的受访者表示他们在生产环境中使用容器,比 2016 年 3 月首次调查的 23% 增长了 300%;也比2019年的84%和2018年的73%的比例要大。约 95% 的受访者在PoC中使用容器,这是自 2016 年 6 月以来,在 PoC 环境中使用容器比例的首次增加。这意味着,随着组织对容器的适应性越来越适应,它们正在测试新的用例、迁移更多的工作负载。
再一次地,我们看到组织内运行的容器数量稳定增长。使用超过5000个容器的用户在2020年达到23%,比2016年的11%增长109%。现在61%的用户使用超过250个容器,而2019年为57%。
容器存储重要性逐渐展露
2020年的调研显示,容器面临的挑战,新技术的复杂性和开发团队的文化变化一起成为使用和部署容器的首要挑战,41%的受访者对此表示赞同;安全(32%)从去年排名第二下滑至第三;容器的存储挑战从去年的第五25%上升成至第四 29%。
云原生存储近年来出现了爆炸式增长,包括不同的存储产品:包括集中式、分布式、超融合等。CNCF 社区启动了一个专注于存储的特殊小组 (SIG),以澄清这些不同的存储区别,并给出在选择存储解决方案时需要考虑的首要属性。
容器最初被构建为无状态,以保持其灵活和可移植性。但是,只有 22% 的受访者只使用无状态应用程序。随着云原生存储的普及,55% 受访者在生产环境中使用有状态应用程序,12% 正在评估中,11% 计划在未来 12 月内会使用存储。
焱融科技容器存储
焱融科技是国内最早支持CSI容器存储接口的厂商之一,也是国内首家进入CNCF Landscape存储图谱的厂商。经过几年的发展与沉淀,焱融科技容器存储解决方案已经积累了一定的客户基础, 受到到业内的广泛认可。
云原生技术在私用云中保持增长,但仍然以公有云为主要阵地
连续第三年,公有云仍然是云原生技术使用较多运行环境,使用量从2019的62%略增加到64%。私有云或本地使用率从45%增至52%,增幅最大。混合云从2019年的38%略降至36%。多云使用是今年新增的一个选择,有26%的用户在使用。
混合云是指结合使用内部部署和公有云。多云则意味着根据最适合工作负载的云类型在不同的云之间使用工作负载。Kubernetes和云原生工具提供的可移植性使从一个公有云供应商切换到另一公有云供应商变得更加容易。
版本发布周期继续加快,但自动化比例有所下降
自2018年以来,CNCF社区就在调查发布周期相关的问题,以深入了解组织是如何管理其软件开发周期的。到了第三个年头,2020年,我们看到发布周期仍在继续加快。
每天一次甚至每天多次发布软件的用户比例从去年的27%增加到了29%。每周发布周期仍然是最常见的(26%),但超过一半的受访者(55%)每周至少发布一次或每周多次进行发布。
有几个因素正在推动快速发布软件产品这一趋势:生产中对云原生技术的使用不断增长;组织构建出更高级的基础架构。此外,新冠病毒大流行增加了数字消费,迫使组织适应并加快软件发布速度。
大多数受访者(53%)每天多次check in代码,而80%的人每周至少check in几次代码。这与2019年的结果一致。
自动 手工是最受欢迎的软件发布方法,有46%的受访者选择这种方法,高于去年的41%和2018年的25%。与此同时,已经从完全自动化的软件发布,从2019年的40%下降到33%。这与去年形成鲜明对比,去年自动 手工方式正在逐渐普及。这可能意味着许多组织由于其应用的复杂性而没有准备好进行全自动发布,或者他们希望保留对应用程序部署某些方面的控制权。在下一次调查中,我们再看看这种趋势会发生什么有趣的变化。
关于组织内运行的计算机数量,包括虚拟机和裸机。我们看到两端在增加,百分之八的受访者使用一到五台机器,而一年前为百分之五,这表明新的采用者已进入生态系统。同时,使用5,000台以上计算机的用户从15%增加到17%,这表明使用容器的用户正在添加更多内容。2020年有81%的受访者在云原生环境中使用了20多台机器。
Kubernetes继续引领集云原生业务
2020年,有91%的受访者表示政治使用Kubernetes,其中83%用于生产。这比2019年的78%和2018年的58%稳定增长。
在使用Kubernetes的企业中,使用2到5个Kubernetes集群的最为常见,约战39%,比去年的43%有所下降。生产环境中使用11个Kubernetes集群的企业数量从2019年的24%增加到28%,比2017年增加56%。
随着Kubernetes的发展,其周围的生态系统也在发展。该项目在2020年8月下旬发布了1.19版。根据DevStats信息中心的数据,在4月至8月的这个发行周期中,有382家公司和超过2,464个人为Kubernetes做出了贡献。
我们期待着下一次用户调查报告给我们揭示云原生应用在用户环境上更多有趣的使用情况。