目前我了解,有很大一部分是运行在虚拟机上,最大的好处就是可以沿用虚拟化层对物理机的管理能力,不需要一套新的物理机调度系统。劣势就是,多引入了一层Hypervisor,不仅有性能的损耗,还可能多了一层故障点,如果是商用的VM,还是一大笔成本。
直接运行在物理机上,没有上述的问题,后续物理机上运行容器,可能会成为主流
具体宿主机选择物理机还是虚拟机,由数据中心实际情况决定,以下建议物理机仅供参考
1、节省资源角度:虚拟机是虚拟化的结果,其目的是会了资源隔离,但会造成性能损耗;而容器技术也是一种虚拟化的实现,其调度技术也可以实现资源隔离的需求,因此直接使用物理机可充分利用计算资源,发挥容器技术的优势。
2、应用角度:由于应用系统种类不一,对基础设施的资源需求也不一样,比如偏计算型就需要更多CPU,虚拟机无法灵活提供定制化的资源配置,而物理机可通过沟通特定硬件模块组装特定资源配置,并灵活拆卸和升级维护。
3、、建立应用规范及应用配置规格,同时确定各种规格的服务器
现在的银行,证券行业内的开发测试云环境,若是跑docker的话,基本还是虚拟机。
他们几乎都会进行压测,将docker和vm进行对比。
理想一点的话,大家都明白docker直接跑在物理机上效果是最好的,如果物理机上的docker和vm对比性能的话,docker几乎没有性能损失,vm性能损失大约两成(有数据支撑)
所以尽力而为吧,采用容器技术栈的原因并不仅仅是为了性能提升,更重要的是对计算资源更细颗粒度的管理和更高效率的使用,加速微服务转型等等原因
收起都可以。如果已经有虚拟化平台了,直接在现有虚拟化的基础上用就行(利用现有的虚拟化优势),如果没有建虚拟化平台,或者容器性能要求特别高,那就跑物理机。
目前看到的大多数都建设好虚拟化平台了,容器跑虚机的比例还是比较大的。