【阿里云云栖社区TB|替代还是融合?,容器与虚拟机】

最近一两年来 , 以容器为代表的云原生技术一直是IT行业最为热门的话题 。 随着云原生技术的崛起 , 有企业甚至跳过了IaaS层直接在物理机上部署容器 。 容器的风头几乎盖过云计算 , 甚至引发了OpenStack的未来堪忧的说法 , 容器与虚拟化谁将会是市场主流的话题时常被提起 。 现在还看不到答案 , 但市场有些了变化 。 4月底 , 红帽在其一年一度的技术大会RedhatSummit2020上宣布推出OpenShift虚拟化的预览版 , 支持在容器里部署虚拟机 , 更早些时候 , VMware宣布其最新一代云平台vSphere7提供原生地管理容器和虚拟机的能力 。 虽然出发点不同 , 一个是从容器出发兼容虚机 , 一个是从虚机出发兼容容器 , 但殊途同归 , 两者都能实现容器与虚机的同时管理 。 现在看起来 , 容器与虚拟机之间有融合和和平共存之势 。
【阿里云云栖社区TB|替代还是融合?,容器与虚拟机】
文章图片
云原生“来势汹汹”
云原生技术的兴起是这几年软件行业比较新的变化之一 , 它给该行业也带来不小的冲击 , 或者说带来颠覆也不为过 。 它让应用程序有了明显的代际之分:传统应用与现代应用 , 也让越来越多的企业选择了拥抱现代应用 。
容器是云原生技术的关键技术 , 今天微服务、DevOps以及CI/CD等都建立在容器之上 。 作为一种轻量级的虚拟化技术 , 相比于虚拟机 , 容器拥有更高的资源使用效率 , 因为它并不需要为每个应用分配单独的操作系统 , 因此实例规模更小、创建和迁移速度也更快 。
总体上说 , 容器有三大核心价值 , 即敏捷、弹性、可移植性 。 在敏捷方面 , 容器能够让软件开发交付效率提升10倍 , 这意味着这个企业能具备更高的速度去进行快速迭代 , 以及有更低试错成本帮助企业在经营中赢得先机 。 在弹性方面 , 云计算已经利用虚拟化技术带来了一定的弹性可以有效控制成本 , 而利用容器可以实现秒级弹性扩缩容进一步优化成本 , 节省达50%以上 。 而在可移植方面 , 基于容器可以在不同云环境之间迁移实现无边界的计算 。
因此 , 容器很自然地成为当下最受关注的软件技术之一 , 特别是随着Kubernetes(K8s)成为容器编排的事实标准 , 进一步加速了容器的普及 。 如果说容器为应用的快速开发和弹性奠定了基础 , 那么K8s就为容器的大规模模式和运维提供了保证 。
Gartner曾预测 , 到2022年全球有75%的企业会使用基于云原生的容器技术构建它们的应用系统 。 而市场也有了一些迹象 , IDC发布的2019年第一季度公有云市场数据 , IaaS市场增速有所减缓 , 同比增长74.1%;但PaaS市场依然保持高增长 , 增速为101.9% 。 各大云提供商也十分热衷于容器技术 , AWS、微软Azure、谷歌云、阿里云都推出了容器相关服务 , 并作为重点市场 。
容器与虚拟机之争
容器的普及对虚拟机形成了冲击 , 也就有了容器与虚拟机之争 。 容器与虚拟机本质上都属于虚拟化技术 , 所不同的是两者所在层级不同 , 容器在操作系统至上 , 与虚拟机相比少了操作系统 , 不同容器之间能共享操作系统 , 因此更轻量 , 启动更快 , 效率更好 。 也正因为如此 , 与虚拟机相比容器的隔离性要差 , 安全性不如虚拟机 。 另一方面 , 虚拟机应用得更普及 , 相关工具也更为成熟和完善 。
总体而言 , 容器和虚拟机有着各自的优势 , 虽然在应用场景上有一些重叠 , 但主要应用场景还是有区别的 。 比如 , 虚拟机更适合当应用程序运行时需要所有操作系统资源和功能的场景 , 如果需要运行多个这样的应该 , 使用虚拟机更为合适 。 相比较而言 , 容器更适合在更少的服务器上运行更多的应用 。 大部分情况下大多数企业会同时使用虚拟机和容器 。 鉴于此 , 容器和虚拟化应当会在相当长时间内共存 , 特别是考虑到大多数企业此前已经广泛部署虚拟化技术的现实 。


推荐阅读