云原生子社区 > 容器服务 > 正文

容器与虚拟机,替代还是融合?

简介: 容器和虚拟机有着各自的优势,虽然在应用场景上有一些重叠,但主要应用场景还是有区别的,未来这种两种技术会长期共存,甚至走向融合。
+关注继续查看

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

最近一两年来,以容器为代表的云原生技术一直是IT行业最为热门的话题。随着云原生技术的崛起,有企业甚至跳过了IaaS层直接在物理机上部署容器。容器的风头几乎盖过云计算,甚至引发了OpenStack的未来堪忧的说法,容器与虚拟化谁将会是市场主流的话题时常被提起。现在还看不到答案,但市场有些了变化。4月底,红帽在其一年一度的技术大会Red hat Summit 2020上宣布推出OpenShift虚拟化的预览版,支持在容器里部署虚拟机,更早些时候,VMware宣布其最新一代云平台vSphere 7提供原生地管理容器和虚拟机的能力。虽然出发点不同,一个是从容器出发兼容虚机,一个是从虚机出发兼容容器,但殊途同归,两者都能实现容器与虚机的同时管理。现在看起来,容器与虚拟机之间有融合和和平共存之势。

image

云原生“来势汹汹”

云原生技术的兴起是这几年软件行业比较新的变化之一,它给该行业也带来不小的冲击,或者说带来颠覆也不为过。它让应用程序有了明显的代际之分:传统应用与现代应用,也让越来越多的企业选择了拥抱现代应用。

容器是云原生技术的关键技术,今天微服务、DevOps以及CI/CD等都建立在容器之上。作为一种轻量级的虚拟化技术,相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统,因此实例规模更小、创建和迁移速度也更快。

总体上说,容器有三大核心价值,即敏捷、弹性、可移植性。在敏捷方面,容器能够让软件开发交付效率提升10倍,这意味着这个企业能具备更高的速度去进行快速迭代,以及有更低试错成本帮助企业在经营中赢得先机。在弹性方面,云计算已经利用虚拟化技术带来了一定的弹性可以有效控制成本,而利用容器可以实现秒级弹性扩缩容进一步优化成本,节省达50%以上。而在可移植方面,基于容器可以在不同云环境之间迁移实现无边界的计算。

因此,容器很自然地成为当下最受关注的软件技术之一,特别是随着Kubernetes(K8s)成为容器编排的事实标准,进一步加速了容器的普及。如果说容器为应用的快速开发和弹性奠定了基础,那么K8s就为容器的大规模模式和运维提供了保证。

Gartner曾预测,到2022年全球有75%的企业会使用基于云原生的容器技术构建它们的应用系统。而市场也有了一些迹象,IDC 发布的2019年第一季度公有云市场数据,IaaS市场增速有所减缓,同比增长74.1%;但PaaS市场依然保持高增长,增速为101.9%。各大云提供商也十分热衷于容器技术,AWS、微软Azure、谷歌云、阿里云都推出了容器相关服务,并作为重点市场。

容器与虚拟机之争

容器的普及对虚拟机形成了冲击,也就有了容器与虚拟机之争。容器与虚拟机本质上都属于虚拟化技术,所不同的是两者所在层级不同,容器在操作系统至上,与虚拟机相比少了操作系统,不同容器之间能共享操作系统,因此更轻量,启动更快,效率更好。也正因为如此,与虚拟机相比容器的隔离性要差,安全性不如虚拟机。另一方面,虚拟机应用得更普及,相关工具也更为成熟和完善。

总体而言,容器和虚拟机有着各自的优势,虽然在应用场景上有一些重叠,但主要应用场景还是有区别的。比如,虚拟机更适合当应用程序运行时需要所有操作系统资源和功能的场景,如果需要运行多个这样的应该,使用虚拟机更为合适。相比较而言,容器更适合在更少的服务器上运行更多的应用。大部分情况下大多数企业会同时使用虚拟机和容器。鉴于此,容器和虚拟化应当会在相当长时间内共存,特别是考虑到大多数企业此前已经广泛部署虚拟化技术的现实。

实际上,如何同时管理虚拟化和容器技术就成为企业的一个普遍的需求。作为虚拟化技术的最主要推手VMware很早就做出了反映,此前VMware通过在虚拟化平台上外挂PKS(Pivotal与VMware共同推出的一个K8s平台)来实现虚机与容器的同时管理,但毕竟是外挂,其效率和管理方便性上都有不足。去年的VMworld大会上,VMware发布Tanzu 品牌计划,宣布在虚拟化技术中原生地提供对容器技术的支持。VMware的Tanzu把虚拟机和Kubernetes结合起来,对虚拟机和容器以及物理机统一进行管理,它能实现跨物理机、虚拟机以及内部数据中心、跨多个云来管理应用,从而为工作负载提供一个统一的支撑。

今年3月Tanzu正式亮相,VMware最新一代虚拟化平台vSphere 7对外发布,vSphere 7迎来了近10年很大的变革,VMware对vSphere进行了重构,将K8s嵌入vSphere的控制平面,让它成为一个K8s原生平台,从而原生地支持K8s。这样,那些VMware的传统用户无需在虚拟机和K8s容器环境之间做出选择,从而能自由在vSphere上进行现代应用程序开发和运营,同时继续利用现有的技术、工具和技能组合投资。

另一方面,容器厂商也认识到了虚拟化的客观存在,也在拥抱虚拟化技术,kubevirt 就是基于这个目的推出的。kubevirt是 Red hat 开源的以容器方式运行虚拟机的项目,使用容器的Image Registry去创建虚拟机并提供虚机的生命周期管理。在红帽4月底举行的年度技术大会Red Hat Summit 2020大会上,红帽宣布推出OpenShift 虚拟化的技术预览,OpenShift 虚拟化就源自KubeVirt开源项目。企业可以通过这一功能,在整合了云原生与传统工作负载的OpenShift上开发、部署和管理由虚拟机、容器和无服务器构成的应用。

虽然VMware和红帽的从不同出发点出发,但目的是一样的,而这背后的推动力则是企业的现实需求。对用户而言它们的行动无疑是受欢迎的,因为这能让企业少了后顾之忧,不再需要进行非此即彼的选择,不用纠结容器究竟应该部署在虚拟机还是裸机上,从而可以更灵活支持未来的各种应用。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-25
本文作者:邹大斌
本文来自:“51cto”,了解相关信息可以关注“51cto

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【容器技术】在裸机与虚拟机上运行容器:性能和优点
【容器技术】在裸机与虚拟机上运行容器:性能和优点
20 0
【云计算】打破神话:容器vs虚拟机
【云计算】打破神话:容器vs虚拟机
10 0
打破神话:容器vs虚拟机
打破神话:容器vs虚拟机
18 0
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
283 0
【Unix/Linux 系统管理】虚拟机与容器之间的对比
【Unix/Linux 系统管理】虚拟机与容器之间的对比
77 0
虚拟机与容器的比较|学习笔记
快速学习虚拟机与容器的比较
47 0
微服务【Docker容器解决项目部署问题&Docker和虚拟机的区别&系统结构】第5章
本篇主要是:Docker解决项目的部署问题,比如:依赖兼容问题,跨系统环境问题。以及介绍了Docker和虚拟机之间的区别对比
90 0
【Docker】基于实例项目的集群部署(四)Docker虚拟机 | Docker 指令 | Docker容器与镜像
【Docker】基于实例项目的集群部署(四)Docker虚拟机 | Docker 指令 | Docker容器与镜像
108 0
虚拟机与Docker容器对比
虚拟机与Docker容器对比
87 0
论数据中心虚拟化两大技术代表:容器和虚拟机
如今,虚拟化技术在数据中心内已经生根发芽,应用非常普及,无论是在服务器、还是网络、存储等设备中都是如此。
144 0
容器服务
+关注
国内唯一 Forrester 公共云容器平台领导者象限。
+关注
云栖号资讯小哥
云栖号小编在此 ^o^
文章
问答
视频
相关电子书
更多
阿里巴巴集团容器技术现状与未来路线
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载