共计 2194 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | “云”是企业在数字化转型过程中,绕不开的一个主题。即便有些企业表示,近期不会上云,也只是不会将业务部署到公有云上。随着企业旧有软、硬件系统的更替,也势必要从传统数据中心向私有云数据中心进行转变。这时候想或不想上云的企业都会面临业务如何在云端进行部署的问题。下面就让我们看一下通过 Docker 打包后的 Web 应用在十大公有云上的应用处理能力表现。 |
通过今年的公有云调研发现,通过容器技术将旧有或新业务进行打包,并在云上进行部署,已经成为当前企业关注的热点。然而在写稿之前又收到一个消息,“Kubernetes 中已弃用了 Docker 支持”! 在震惊之余,又感到可以理解,毕竟开源是当前软件开发的大趋势,而 Docker 由开源项目变成公司商标,甚至连鲸鱼 logo 使用也需要授权的状态,实在与开源软件的宗旨大相违背。也真是由衷的佩服 Docker,明明有很多种活法,但非要活成令人讨厌的样子,既然让人讨厌,就别怪被人踢到一边了。
即便让人讨厌,也并不妨碍企业在生产环境中,大量使用经典 Kubernetes+ Docker 方案,同时在一些业务场景中也有单独使用 Docker 的情况。未来即使 Docker 可能会被抛弃,但是通过容器镜像将应用打包,并在云上进行业务部署的趋势,并不会因此受到过大影响。毕竟 Docker 也仅仅是 Linux 容器的一种打包应用方式。去掉 Docker 部分直接对 Linux 容器进行调用,对于未来容器应用部署而言未必是一件坏事。
然而利用容器将应用进行打包后,在公有云平台上进行部署,是否会对应用处理能力产生过大影响呢? 为了了解这个问题,至顶网懂云帝继续沿用 2019 年公有云 Web 应用测试方案,对十大公有云厂商云主机上部署由 Docker 打包的 Web 应用性能同样进行了测试。
在本次测试中,同样采用在服务器端,用 ab 同时保持 50 个用户访问 (ab 参数 -c 50) 并建立 1 万连接和间隔数分钟后再发起同时保持 50 个用户访问并建立 10 万连接的方式,对公有云主机上用 Docker 部署的 Web 应用通过高并发的方式进行应用处理能测试。并选用 Apache AB 所提供的请求速率 Requests/ s 结果进行统计。在得出测试结果后,再与去年公有云主机 Web 应用测试结果相比对,看一下通过 Docker 镜像打包后,Web 应用的最大处理能力是否出现下降,对比结果如下:
不出所料的是,通过 Docker 将应用进行打包,在公有云主机上进行部署后,应用处理性能或多或少都会有所下降。但其中下降最严重的 Azure 云主机,居然从去年的 87.97-92.67 下降到了 37.16-36.83,Web 应用性能下降了一倍还不止。这样的结果就有些难以令人理解了。
此外还有 UCloud,Web 应用性能非但没有下降,反而还有大幅度的提升。询问原因有以下两点,一是 UCloud 对云主机上容器处理性能进行了大幅优化,另一个原因是去年是对 UCloud 云主机 Braodwell 的 CPU 进行的测试,但今年云主机 CPU 已经换成了 Cascadelake,处理性能也比去年有所增长。
不过从横向对比测试结果来看,即便在今年选择处理器中,其他家也基本选择的是最新 Cascadelake 处理器,但 UCloud 云主机的 Docker 处理性能依然处于最高水平,可见其 Docker 应用优化,确实是卓见成效。
Docker 在公有云上部署,应用处理的性能还会有所降低,那么容器的优势到底是什么? 举个我们在云主机上部署的例子,大家就很容易理解了。
今年虽然受到疫情的影响,但是至顶网的业务却反而比去年更加饱满。不然作者也不会在 2020 跨年的时间,还在辛苦的赶着测试的稿子。今年的公有云测试,也是我们懂云帝几个抽空挤时间来完成的。但是和 19 年进行公有云主机环境搭建时完全不同。那时候,是我催着乐乐同学,找时间搭一下公有云测试环境。而今年是他主动催我来做测试。并不是因为乐乐同学的事情少,而是因为在 Docker 下搭测试环境实在是太简单了。
某位同学只需要把云主机建起来之后,把上面这几行代码一粘贴,然后就可以催着我做测试了。这也是头一次让我见识到搭测试环境比跑测试的时间还短的情况。
由此可知,在如此便捷的应用部署能力面前,少许应用处理性能的损失,就显得那么的微不足道了。当然微软的 Azure 云部署应当除外,但我相信 Azure 也应当会很快将这个问题给解决一下的。
在原定计划中,还有一项通过 Kubernetes 对公有云上 Docker 进行管理的体验,可惜 (xing hao) 还没找到时间进行,就已经传来“Kubernetes 中已弃用了 Docker 支持”的消息。于是在 2020 年的公有云测试中,将不再进行 Docker 的管理控制能力测试了,但是未来容器的将如何进行发展,我们懂云帝还是会继续进行关注。在新的 2021 年将会邀请一些技术专家一起进行一下座谈,好好探讨一下 Docker 模式的未来前景,容器技术未来将如何发展,企业应用要如何才能通过容器更好的将业务进行打包,并在云端部署。
总而言之,充满坎坷的 2020 年已经过去了,在充满希望的 2021 年,我们相信万事皆有可能!