如何进行进行选择?
选择容器还是虚拟机依赖于应用程序如何设计。 如果应用程序旨在提供可伸缩性和高可用性,那么容器是最好的选择,否则应用程序可以放置在虚拟机中。对于高I/O要求的业务,例如数据库服务,建议部署Docker+物理机,因为在虚拟机中部署Docker,I/O性能将受到虚拟机的限制。对于虚拟桌面服务等强调租户权限和安全的业务,建议采用虚拟机方式,虚拟机的多租户强隔离特性,保证租户在拥有虚机root权限的同时,其他租户和主机的安全。
或者更好的选择是混合方案,运行在虚拟机中的容器。 Docker容器可以在虚拟机内部运行,虚拟机并为它们提供经过验证的隔离,安全属性,移动性,动态虚拟网络等。为实现安全隔离和资源的高利用率,基本应该遵循:不同租户的业务运行采用虚拟机隔离,相似类型的业务部署在同一组容器上的思路。