最近在梳理线上机器的时候发现一个问题,虽然我们的应用已经docker化+kubernetes管理。但是线上机器的资源利用率仍然偏低。出现这种现象,我想我们应该还有可以改进的地方。
这些年docker+kubernetes的成熟让很多小企业向云计算迈出了很重要的一步,虽然通过容器化技术我们提高了应用的管理效率,但是这些事情做的并不彻底,很多时候需要人为参与,比如流量大涨的时候我们会给应用扩容,流量少的时候我们会缩容,但若人比较靠谱,我想资源利用率不会太差,但实际我们的资源利用率20%不到。最大的问题就在人。人不可能靠谱,因为我们有几十上百个应用,即使不考虑人员流动等因素的影响,人工去检查上百个应用的资源使用率并及时做弹性伸缩是不现实的。所以虽然我们的应用可以弹性伸缩了,但是若没把弹性伸缩的权限放给程序,资源的利用率不可能太高。
所以我想云计算的最后一步就是把应用的弹性伸缩交给程序来完成,为达成这个目标,需要做3个关键的事情。1.团队的管理者需要主动去推这个事情 。 2. 每个应用的开发者需要把自己的应用容器化&支持弹性伸缩&提供标准化监测接口。 3.运维统一管理。
网友评论