文/ITValue 记者吴宁川html
从 2008 年开始进入公众视野,到亚马逊与微软于近期得到 1 亿美圆的美国联邦管理局云计算合同,云计算整整走过了 7 年。7 年间,以第一代云计算技术为基础的移动计算、社交网络、大数据等新信息技术在全球商业领域掀起了一场新商业运动,这场商业运动创造出以消费者和用户为核心的个性化商业模式。编程
从去年开始席卷云计算领域的 Docker 技术风潮,偏偏就是推进企业走近消费者和用户的一大步。本文经过深刻分析,带你了解什么是 Docker 以及 Docker 将如何改变云计算,进而孵化出可以工业化生产个性化产品与服务的下一代商业模式。安全
什么是 Docker?服务器
答案是:Docker 是下一代的云计算模式。网络
Docker 翻译成中文是“码头搬运工”的意思,那么“码头搬运工”搬运的是什么?是标准化的“集装箱”,这个标准化“集装箱”里装的是应用程序。“码头搬运工”在世界上任何提供了标准化接驳的“码头”就能够接收标准化“集装箱”,而后快速安装、运行和管理“集装箱”里的应用程序,而提供标准化接驳“码头”的就是各种云服务商。借此,Docker 把云计算环境下的应用程序开发和分发带进了工业化生产的时代,这就是 Docker 的意义。架构
在 Docker 环境下,程序开发者按必定的打包标准生产程序,生产出来的标准化程序被装进标准化的容器(Container)里,也就是“集装箱”。世界各国的云服务商都提供了标准化的“码头”,能够很容易地接收标准化的容器和里面的应用程序,再把这些标准化的应用程序以即插即用的方式组装到本身的个性化解决方案里,而后提供给最终用户。而与 Docker“集装箱”对应的标准化程序架构,就是你们所熟悉的微服务。运维
在 Docker 时代,第一代云计算中的 IaaS 层与 PaaS 层合二为一成为了 CaaS(Container-as-a-Service,即容器即服务),这就是下一代云计算架构。基于 CaaS 的下一代云计算架构赋予了企业强大的工业化生产通用软件的能力,再根据消费者和用户的个性化需求,快速组装通用软件造成个性化的解决方案,这就是下一代的商业模式。编程语言
容器时代的开拓者们微服务
根据美国市场调查公司 Synergy Research 于 2015 年 7 月发布的 Q2 数据,全球云服务市场现在已经紧紧被四大厂商所垄断,AWS 亚马逊云、微软、IBM 和谷歌占据全球 54% 的云服务市场份额,而四大厂商的平均云计算业务年增加高达 84%,相比之下市场上其它云计算厂商只有 33% 的年增加。其中 AWS 亚马逊云在今年第二季创造了 18.2 亿美圆的营收,同比增加 81%;而微软已经向其全球数据中心投入了 150 亿美圆。显然,做为第一代云计算产业中的四大厂商,特别是谷歌、亚马逊和微软三大公有云已经远远将其它云服务商甩到了后面,而这三家自有的海量资金及融资能力则紧紧地创建起了第一代公有云的市场格局。工具
2014 年和 2015 年初,第一代主流公有云服务商核心技术团队中的华人技术专家开始不约而同地离开原来的公司,纷纷回到国内创业容器/Docker 领域。这其中包括来自微软 Windows Azure 核心技术团队的灵雀云、来自谷歌广告业务核心技术部门的数人云、来自 EMC 和 VMware 核心技术团队的 DaoCloud 道客云、来自 IBM Bluemix 和阿里云盾核心技术团队的时速云,以及来自中国移动研究院云计算技术团队的 Hyper 云。
这批创业公司的共同特色是创始人均来自第一代公有云核心技术团队,他们一方面发现了容器/Docker 是下一代云计算的主流趋势,另外一方面他们离开原有公司也是由于第一代公有云已经基本成熟。“为何说云计算人才都在西雅图?这是由于亚马逊云和微软都在西雅图,而云计算的技术能力主要来自运维的经验,具备运维百万台以上服务器经验的技术人才只有谷歌、亚马逊云和微软三家而已。”灵雀云创始人、原微软 Windows Azure 美国核心技术团队容器项目负责人左玥如是表示。灵雀云联合创始人、CTO 陈恺也来自美国微软 Windows Azure 核心技术团队并曾负责 Windows Azure 的全球调度系统 Fabric Controller,陈恺经历了 Windows Azure 从无到有、从几百台服务器到现在百万台服务器的全过程。
另外一家数人云的创始人王璞来自美国谷歌广告业务部门核心技术团队,他告诉记者全球公有服务商中拥有服务器数量第一的是谷歌,成立于 1998 年的谷歌在全球运维着上千万台服务器;其次是 AWS 亚马逊云和微软 Windows Azure,他们各自拥有和运维着数百万台服务器;再次是 IBM SoftLayer 拥有和运维着数十万台服务器;最后是各个国家的区域性公有云服务商,拥有和运维着从数百台到数千台不等的服务器,从运维服务器的规模就能直接判断公有云服务商的运维经验和技术水平。
进化到容器时代
容器(Container)是什么?这必须提到一我的和一家公司。
这一我的就是著名的微软第二任也是最后一任首席架构师 Ray Ozzie。2005 年 10 月,刚加入微软不久的 Ray Ozzie 发布了一份名为“The Internet Services Disruption”(互联网服务时代来临)的备忘录,这份备忘录的主要目的是推进微软总体向互联网服务转型。在这篇文章中,Ray Ozzie 提出著名的由面向服务软件架构所实现的“无缝用户体验”,并将之解析为 “无缝沟通”、“无缝生产力”、“无缝娱乐”、“无缝市场”、“无缝操做系统”、“无缝解决方案”和“无缝 IT”,这其中的核心就是“无缝操做系统”、“无缝解决方案”和“无缝 IT”。
在“无缝操做系统”、“无缝解决方案”和“无缝 IT”实践方面,谷歌是一个先行者。著名的博主、原亚马逊中国研发经理、阿里巴巴资深专家陈皓有一个形象的比喻,云计算“就是要夏利车开出奔驰车的感受”。谷歌就是把“夏利车开出奔驰车”的骨灰级玩家,说它是互联网公司和互联网技术的鼻祖都当之无愧。王璞介绍说谷歌在全球运维了上千万台的服务器,这个规模已经远远超出了不少现有技术供应商的上限,所以谷歌本身发明了诸多技术用于管理千万台规模服务器,“好比谷歌研发了顶级的网络交换机,就连思科都造不出来这样的网络交换机。缘由很简单,由于没有相应的实验环境。”谷歌自 1998 年成立至今已经研发和储备了不少“核弹级技术”,但这些技术绝大多数都被谷歌封锁,只能经过谷歌对外发表的学术论文找到蛛丝马迹。
谷歌为了不使用市面上昂贵的基于物理机的虚拟化产品,同时也是为了更快、更便宜的发布本身的软件和服务,从一开始就研发了基于容器(Container)的新型虚拟化技术,经过这一技术简化了谷歌所有服务运行所须要的底层操做系统环境。在 2015 年 8 月的 CNUTCon 全球容器技术大会上,有超过 8 年谷歌经验的谷歌云平台软件工程师 Dawn Chen 介绍说,她 8 年半前加入谷歌的时候,那个时候谷歌刚开始研发容器技术,当时谷歌容器技术团队加上她只有两我的。现在谷歌全部的服务都运行在容器中,这包括了 Gmail、地图、GFS 文件系统、MapReduce 等。谷歌如今每秒会启动大约 7000 个容器,每周会发布超过 20 亿个容器。
谷歌实际上经过容器实现了“无缝操做系统”的愿景。稍微了解云计算的人都知道虚拟机在 IaaS 层的重要性,改变了虚拟机的方式就至关于改变了 IaaS 层的结构,这就是为何说容器是下一代云计算模式的重要缘由。容器本质上是一种操做系统技术,是基于操做系统的虚拟化技术。基于容器开发的应用软件能够达到“一处开发、到处运行”的效果,而无关乎底层究竟是什么样的操做系统或什么样的 IaaS 云服务环境,这实际上就是“无缝操做系统”的概念,与之相适应的就是“无缝解决方案”和“无缝 IT”。
Docker 一统江湖容器
Container 与 Docker 是两个英文单词,Docker 至关因而标准化了的容器,是容器技术近 30 多年历史发展出的最新结果。
做为操做系统级的虚拟化技术,容器技术自己的历史最先能够追溯到 1982 年。当时 Unix 推出的 Chroot 技术被公认为操做系统级虚拟化的起源,也就是容器技术最先的状态。随后,操做系统虚拟化技术与 Linux 内核及 Linux 操做系统的发展就交织在一块儿。由于操做系统虚拟化主要是针对廉价的 X86 服务器,所以英特尔和 AMD 服务器芯片技术的发展也影响了容器技术的发展。
1991 年,芬兰赫尔辛基大学研究生 Linus Torvalds 开发了针对 386 机器的 Linux 内核。在 Linux 内核的基础上,不一样的厂商开发了商用化的 Linux 操做系统。1995 年 1 月 RedHat 成立了,推出了 RedHat Linux 即为 Linux“发行版”。随后,Linux 内核不断更新,一直到 2007 年的时候,发展比较成熟的容器技术才进入了 Linux 内核,而这还要利益于 2005 年先后英特尔和 AMD 相继推出的 64 位服务器芯片。正由于有了 CPU 和内存芯片容量的大幅提高,才能在一个操做系统中虚拟出多个空间。2008 年的时候,LXC 也就是 Linux 容器开源项目成立,容器技术开始在业界普遍使用,而这一年微软也推出了第一代 Windows Azure 公有云。
2010 年,一家叫做 dotCloud 的创业公司在美国成立了,dotCloud 早期是基于 LXC 技术的 PaaS 平台,它的理念是提供跨底层 IaaS 云、支持多种开发语言的开发云平台。2011 年初的时候,dotCloud 得到了 1000 万美圆的A轮融资。DotCloud 最先运行在 AWS 的 EC2 上,但随着愈来愈多的公有云服务商进入,dotCloud 的理念很难依靠一家公司专有的技术实现。因而,dotCloud 的创始人在 LXC 的基础上,对容器技术进行了简化和标准化,命名为 Docker 后将其开源,同时推出了开放容器计划(OCI),Docker 和 Docker 开源社区随后迅速火起来。2013 年 10 月 29 日,dotCloud 公司改名为 Docker 公司。随后,多家厂商开始宣布支持 Docker。截止到 2015 年 8 月,公共的容器包应用程序 Registry(由 Docker 维护)在公共社区发行了超过 180 000 个应用程序。
能够说 X86 架构的 PC 服务器是异构硬件架构的赢家,Linux 和 Windows 是异构操做系统的赢家,Docker 为基于 X86 服务器和 Linux/Windows 操做系统的云数据中心提供了统一的虚拟操做系统,异构架构时代开始结束。
容器时代已经到来
除了创业公司外,大厂商也不甘示弱,纷纷快速跟进。去年 10 月份,微软就宣布了在 Windows 服务器实现容器技术的计划,宣布了与 Docker 的合做伙伴关系,以保证不管是在 Linux 仍是在 Windows Server,均可以得到一个统1、开放的体验。尽管 Linux 容器与 Windows 容器基于不一样的操做系统而互不兼容,但容器管理器是统一的。近期,微软进一步宣布将针对 Windows Server 2016 发布 Windows Server 容器和 Hyper-V 容器,两种容器都支持 Docker API 和 Docker 客户端。
另外一家受 Docker 冲击比较大的 VMWare 也迫不急待的在 VMWare World 2014 上就宣布了对 Docker 的支持。VMware 对容器的态度是积极的,尽管容器和基于物理机的虚拟机 VM 之间存在着竞争,但 VMware 仍然致力于扩大与容器生态合做。在 2015 年 8 月底的 VMWare World 2015 大会上,VMware 推出了一系列新的支持 Docker 的技术,并提出了将来全新的全面支持容器的技术架构,让 Docker 程序也能运行在虚拟机 VM 里了。
此外,AWS 亚马逊云从去年 11 月推出了 EC2 容器服务 AWS ECS,用户再也不须要安装、运维、扩展集群管理基础设施,而只需进行简单的 API 调用就能够启动和中止支持 Docker 应用程序,随后阿里云等国内云厂商也推出了相似的服务。
国内华为一直是各种开源项目、基金会、组织、峰会的活跃赞助商。2015 年,华为做为创始成员相继加入开放容器标准组织 OCI 及 CNCF(Cloud Native Computing Foundation),成为惟一在列的中国公司。华为开源能力中心的高级研发工程师梁辰晔在 2015 CNUT 全球容器大会上表示,华为积极参与了开放容器测试项目(OCT),并与 OCI 组织一块儿促进开放容器标准的实现和普及。2015 年至今,华为在 Docker 社区的贡献排名稳居前三位,而目前国内最先的 Docker 社区 maintainer 就来自华为。
除了华为、阿里等国内云服务商外,腾讯、百度、360、京东、搜狐等国内互联网公司从 2011 年开始就已经开始全面实践容器技术了。据京东云平台首席架构师刘海峰在 2015 CNUT 全球容器大会上的介绍,京东从 2014 年 10 月开始引入 Docker,2015 年 2 月对 Docker 进行战略立项,2015 年 618 的时候在生产环境中发布了 11000 多个容器实例并接入了 1000 多个应用,从 2015 年 8 月开始的新数据中心全面采用容器技术。目前京东已上线 Docker 实例 2 万多,预计到年末将翻番,届时京东大部分应用程序将经过 Docker 的方式发布。将来京东的 Docker 愿景是经过 Docker 管理全部的机器,应用程序与物理资源之间彻底解耦,实现全自动化的系统维护,研发人员能够集中精力于新应用程序的开发。
说了这么多,其实对于容器贡献最大的仍是谷歌。Docker 技术就是用谷歌的 Go 语言编写的,这是谷歌 2009 发布的第二款开源编程语言。谷歌每周发布 2 亿多的容器,这让谷歌有能力发明不少关键性的容器技术。其中包括容器管理系统,这个管理系统的第一个版本被称为 Borg,后续又发布了名为 Omega 的版本。经过这个管理系统,能够在谷歌的大规模集群资源上使用容器技术。后来业界根据谷歌的相关学术论文,模仿 Borg 开发出来的 Mesos 系统,正在被 Airbnb、Twitter、苹果 Siri 等在使用。
个性化商业:将来的企业都是软件企业
财富 500 强艺康化工有限公司(Ecolab)董事长兼 CEO Douglas M. Baker, Jr. 在参与普华永道的“2015 全球 CEO 调查报告”调研中表示:“任何一家公司都不能想固然的认为今天的业务可以保证将来的成功。人们理所固然的认为大公司更加安全也更加稳定,但过去 50 年的事实证实了截然相反的结果。若是企业不能持续的快速变化,风险只能增长而不是减少。”
变化的能力显然已经成为从此商业的核心竞争力。而随着互联网产业的影响力愈来愈庞大,互联网对于传统行业的入侵愈来愈剧烈、愈来愈深刻,特别是中国“互联网+”国家战略的强力出台,将来的企业将愈来愈被互联网化。在这样一个全面互联网化的商业环境中,将来的企业将或多或少具有软件的能力。除了将来企业的业务将部分或全面架构在互联网上,企业为消费者和用户提供个性化服务也有赖于软件能力。
若是将来的企业都是软件企业的话, Docker 的重要性可想而之。硅谷老牌风投机构 Battery Vetures 的技术专家 Adrian Cockcroft 在 2015 年中发布了一份《2015 年度云之白皮书:业界里程碑回顾与将来展望》,他曾是美国流媒体服务商 Netflix 的云平台架构师,也是 eBay Research Labs 的创始成员之一以及 Sun Microsystems 杰出工程师和高性能技术计算部门的首席架构师。他认为,Docker 会逐渐成长为标准化的生产工具,这也从一个侧面反映出 Docker 的高接受度。
Adrian 表示,Docker 的挑战是要谨慎管理生态系统,同时快速添加功能以支持生产环境的部署。目前为止,Docker 已经阻止了一次生态系统的分裂。现在,甚至连芯片厂商英特尔公司也跨界加入了 Docker 的生态。今年 5 月,英特尔推出了以容器为中心的 OS 项目 Clear Linux,目前已处于试验阶段,英特尔代表该系统将来可用于生产环境中。
能够看出,在迈向将来商业的过程当中,将出现愈来愈多的跨界行为。根据 Thomson Reuters 的数据,在美国仅 2014 年 11 月就涌现了 10330 起并购或收购,共表明了 1.9 万亿美圆的交易金额。这些并购或收购更多的是为了扩大商业联盟,经过并购或收购具备不一样业务或能力的公司,创造单一公司所没法实现的商业价值。普华永道“2015 全球 CEO 调查报告”显示,美国约有 44% 的 CEO 将在调研后的 12 个月内启动新的战略联盟。过去的商业联盟主要是与供应商或用户链接,而在将来愈来愈多的 CEO 将选择与竞争对手、创业公司或不一样领域的公司结为联盟。
固然,包括 DaoCloud 核心团队成员孙宏亮在内的多个 Docker 技术专家都在不一样场合表示,Docker 还在发展的早期,存在网络功能薄弱、安全性、运行传统业务困难等挑战。正由于这些技术上的不成熟,因而在美国和中国出现了一批 Docker 创业公司,八仙过海、各显神通,敢于布局下一代云计算以及下一代商业。
国内较早从事容器和 Docker 研究的浙江大学软件工程实验室(Software Engineering Lab,SEL)云计算团队组建于 2011 年,专门搭建、分析和钻研开源的云计算技术。浙大 SEL 团队在其新出的《Docker—容器与容器云》一书中这样写道:“依靠容器技术支撑的 Docker 已经迅速成为国内外各大云计算厂商及开发者手中的至宝。在一片热火朝天之中,新的革命已经悄然来临。”
附录:目前在中国从事 Docker 创业的公司