编者按:关于虚拟化和Docker的对比,大家已经看了很多,但是大部分都是Docker的拥护者写的,而且多从技术角度出发。今天让我们听听不同的声音,看看虚拟化圈里是如何看待这个问题的。 作者简介:徐安,2010年开始接触云计算,目前是汉柏科技虚拟化产品的技术负责人。 以下为原文: 近来Docker越来越火,也吸引了我这个6年虚拟化从业者的注意。笔者对Docker的技术细节并不十分熟悉,也还在学习过程中。但笔者见证了虚拟化技术兴起的全过程,参考对照虚拟化技术,笔者对Docker为什么会在当前这个时间点火起来,Docker与虚拟化的技术对比,我们该怎么办等相关问题有一些自己的理解。意见不一定正确,欢迎拍砖。
1 尝过虚拟化的甜,想来点应用的辣 随着X86服务器,KVM等虚拟化技术,以及OpenStack等IaaS管理平台的普及和成熟,VM可以在不同X86服务器厂商的硬件平台上在线无缝迁移了。硬件差异化不断缩小甚至消失,软件的重要性不断提升,IT真正进入『软件定义数据中心』的时代。 并且人们发现,虚拟化后的IT在部署简单化,资源利用率,高可用性,维护便利性等方面收获了的巨大的收益。在这个背景下,IT部门提出了更高的要求,如何将应用在不同操作系统间实现无缝迁移,将开发和生产统一,做到『一次构建,到处运行』?并且能否让应用的部署,分发,负载均衡,高可用性,监控运维等方面也与虚拟机一样有更统一和更简单的方法呢?在这个时间点,Docker和Kubernetes出现了。 2 受微服务理念的『蛊惑』 微服务的思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。一个微服务一般完成某个特定的功能。一些微服务还会发布API给其它微服务和应用客户端使用。运行时,一个微服务实例就可以是一个Docker容器,所以微服务天然需要Docker。 微服务带来的好处有:第一软件工程上多部门更好协作,第二软件本身的扩展性更强。下图是微服务的搜索图,而我们知道Docker正是2013,2014年开始火起来,所以说微服务是与Docker是『相得益彰』的关系。 3 互联网公司的『摇旗呐喊』 DevOps兴起于互联网公司,基本理念是开发和运维合为一体,把开源工具拿过来,再根据自己的业务特点稍加改动,测试通过后就上线支撑公司的产品和服务,并一边运维一边改进。 在DevOps出现之前,开发的工作流程是:市场调研,需求分析,系统设计,软件编码,单元测试,集成测试,系统测试,软件发布。运维人员的工作流程是:安装服务器,安装软件,配置软件,系统运维。很明显在老的模型中,运维人员地位低下,整天做着重复且枯燥的工作,并且开发和运维之间相互等待资源环境,软件版本,以及bug list。 所以能不能运维专注于提供,维护,监控平台,提供工具。开发利用运维的工具发布,维护自己的产品或服务呢?互联网的神仙/丝们很快发现,Docker的『一次构建,到处运行』正是他们需要的。
4 组织IT服务云化,平台化的『Next』 IaaS平台经过长时间的市场教育和技术教育,终于在2015,2016开始大规模的普及化和落地。政府,军工,事业单位,大中小型企业正如火如荼的进行着IT服务云化的过程。道路选择上中小型企业选择的是公有云,政府,军工,事业单位,大型企业一般都是自建私有云,像12306这种某时间段对IT有大规模溢出需求的单位,更适合的是混合云。 所有的组织都需面对客户,也都有的业务和数据。当今世界发展的趋势是:
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|