别轻易说取代:容器不会取代虚拟机

自容器概念兴起,就有很多人认为:容器将取代虚拟机,容器作为"虚拟化2.0"概念获得企业和开发者的关注。笔者认为,容器非但不会取代虚拟机,相反,二者或将形成一种互为补充的姿态,优化企业的IT体系。

容器的代表作Docker

对于很多程序员来说,或许还不够了解容器,但一定听说过Docker。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,Docker称之为:Build once,Run anywhere。

很多人都听说过Dcoker获得了IBM、微软、惠普、腾讯等企业的支持,其中Docker在腾讯英雄联盟游戏中的表现更让很多人都坚信,以Docker为代表的容器必然在不久的将来彻底代替虚拟机。

而Docker作为最流行的容器工具,和容器目前的事实标准收到越来越多人的关注,究竟容器/Docker与虚拟机之间的博弈会以何种方式收场,我们还不得而知,但笔者预测,未来容器技术可能会与虚拟化技术成为相辅相成的关系。

Docker与镜像概念

在2016年的DockerCon大会上,Docker再次推翻了之前PaaS层定义,树立了一个自己的新标准:Serverless无服务器架构。同时,Docker的镜像概念已经成为很多依托Docker技术成立的云企业的卖点。

镜像可以应用程序和它的应用环境一起打包,形成一个"集装箱",放入仓库。然后这个集装箱随时下载、解压、应用,减轻了开发者的负担,不但迅速还能够保证一致性。

Docker PK虚拟机

TCO:根据相关机构调查显示,超过百分之四十的企业选择用Docker是因为它比虚拟机更便宜。由于Docker是一款开源的容器引擎,这决定了Docker本身免费的事实。

而虚拟机是相较传统物理机更为节约资源的方式,因为它能形成一个有效的、独立的真实机器的副本,进而节约企业TCO,受到很多企业的欢迎。

敏捷性:当敏捷开发、微服务等概念逐渐深入,轻量化已经成为一种新风向。Docker直接建立在操作系统上的方式在启动方式,让秒级启动成为新常态,获得很多企业的认可。而模块化让扩展和迁移都更迅速、可靠,Docker允许我们轻松将应用程序的功能拆分成多个独立容器,让Docker轻量化特点进一步凸显。

安全性:与真实的物理机相比,虚拟机因为Hypervisor层的存在,让小白用户也可以对虚拟机进行任何操作,无须担心对机器本身造成任何损害。对于企业而言,虚拟机经过四十余年的发展已经成为一种成熟的IT技术,在隔离性、安全性上,虚拟机也显得更为无可挑剔,相比之下,虚拟机也更为安全。而Docker目前备受诟病的一个点就是:隔离性和安全性。

从实现原理上讲,Docker有着比虚拟机更少的抽象层,不需要硬件资源池化,不需要Guest OS。与容器相比,虚拟层为用户提供了一个完整的虚拟机:包括内核在内的一个完整的系统镜像,虚拟层可以为每个用户分配虚拟化后的CPU、内存和IO设备资源,为用户提供一个隔离性更强的系统环境。

结束语

Docker或者说容器技术和虚拟机并非简单的取舍关系,如果你希望一个完全隔离的和资源有保障的环境,那么虚拟机是你的不二选择;如果你只希望进程之间相互隔离,同时拥有轻量化的属性,那么linux容器技术或者Docker,才是更好的选择。


本文作者:鲁畅

来源:51CTO

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/197047

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。