下一代云计算模式:Docker正掀起个性化商业革命

标签: 下一代 云计算 模式 | 发表时间:2015-09-20 10:41 | 作者:
出处:http://kb.cnblogs.com/

一文了解下一代云计算模式:Docker 正掀起个性化商业革命

  文/ITValue 记者吴宁川

  从 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,都可以获得一个统一、开放的体验。尽管 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 创业的公司

  • 灵雀云,创始团队成员是微软 Windows Azure 的元老级核心技术成员,曾主导全球第一代云计算平台研发,其 CaaS 容器即服务具备企业级和全球化优势;
  • 数人云,创始团队成员来自美国谷歌的广告核心技术部门,主打 Mesos+Docker 的 CaaS 容器即服务,尽管 Mesos 有不少问题,但也是到目前为止成功在生产环境中应用过的管理工具;
  • 时速云,创始团队成员来自 IBM Bluemix 和阿里云盾核心技术团队,其 CaaS 容器即服务带有对企业级私有云环境的技术优势;
  • DaoCloud 道客云,创始团队成员来自 EMC 和 VMware 核心技术团队,其 CaaS 容器即服务主打混合云和持续集成;
  • Hyper,创始团队成员来自中国移动研究院云计算技术团队,其 CaaS 容器即服务主打在 hypervisor 虚拟机上运行 Docker 引擎,融合了 Docker 和虚拟机的优点。

相关 [下一代 云计算 模式] 推荐:

下一代云计算模式:Docker正掀起个性化商业革命

- - 博客园_知识库
  文/ITValue 记者吴宁川.   从 2008 年开始进入公众视野,到亚马逊与微软于近期获得 1 亿美元的美国联邦管理局云计算合同,云计算整整走过了 7 年. 7 年间,以第一代云计算技术为基础的移动计算、社交网络、大数据等新信息技术在全球商业领域掀起了一场新商业运动,这场商业运动创造出以消费者和用户为核心的个性化商业模式.

理解云计算

- 车东 - oneoo's 私家花园
  现在互联网最热门的关键字“云计算”,大大小小的公司纷纷加入到这块领域. 简单来说,目前的“云计算”主要分为:SaaS、PaaS和IaaS三大类.   其中SaaS云计算,为软件即服务的概念. 把传统客户端软件部署在互联网上,用户只需要一个浏览器就可以使用到软件的模式. 其实早在2000年就已经有B/S结构的软件服务,与现在所说的SaaS云计算相近,但此前的B/S结构软件服务,数据库等服务端是需要用户自行部署的,而非由软件提供商进行统一部署.

10问云计算

- - 《商业价值》杂志
与数百位关注和实践云计算的CIO们共同解读云计算热点问题. 被视作IT界第三次革命的云计算,已经从炙手可热的概念逐渐走向了实际应用. 2011年8-11月, ITValue社区联合英特尔公司,与数百位关注和实践云计算的CIO们一起展开深入探讨,话题涉及云计算的商业价值、安全性、开放性、高效性、简单性等方面.

云计算的困局

- Star Ocean - It Talks--上海魏武挥的博客
有个媒体朋友打电话咨询我一个事. 说在江浙一带,有一位搞国际货运代理的民营企业家,想利用云计算来整合各种资源,比如运输车队、仓库、集装箱乃至货船. 这些资源的调配信息对任何一家从事外贸的企业都很重要,如果将这些信息放在所谓的“云”上,并加以运算,这些企业再以各种设备联入这个“云”,这位企业家觉得是一个很有前途的买卖.

开源云计算ERP ErpCore

- Le - 开源中国社区最新软件
  ErpCore是一套强大的云计算ERP开发框架,集数据库设计、软件建模、模型自动生成、界面可视化设计、业务流可自定义、全自动生成用户所需系统于一体. 在此框架上扩展出所有行业的业务系统,它让软件工程师从“建模——写代码——测试”所有繁琐重复的工作变为全自动化生成,大大简化了企业软件的开发时间和成本;同时,使用该框架扩展的所有业务子系统能够无缝连接进行数据共享,这也是云计算ERP的实现基础,杜绝了传统ERP的子.

“云计算”是什么?

- Aaron Xu - 译言-每日精品译文推荐
  作者:Eleanor Miller . 发布日期:2011年10月28日,上午10点28分.        人们都在聊“云计算”,预测人士称,到2010年,云计算创造的市场总值将达到2亿4100万美元.        但是云计算究竟是什么呢.        云计算意味着可以把计算用作服务,而不是用作商品.

谁来拯救云计算?

- - 雷锋网
当前的“云计算”一词已经被神话,似乎快成了放之四海皆准的时髦真理,就好比当初言必称“希腊”一般,表面光芒四射,但实际上却无比教条、且越来越令人生厌. 作为“云计算”的一个普通开发者和是推广者,很有必要通过亲身实践,以正视听,希望能让后来者(云计算系统的开发者)少走弯路——有所为、有所不为. 我们所要谈论的不是商业领袖们所热衷的云计算概念、云计算市场,而是讨论技术人员眼中云计算具体形态和切实的实现办法.

中小银行的云计算后台

- Draven - 每日鲜果精选
城市商业银行规模虽小,但对IT的需求却与大银行没有太大差别. 云计算给了他们解决这一矛盾的思路. 中国的中小银行一直以来都有一个尴尬的现实——虽然规模小,业务却大而全. 因此,中小银行对IT系统的要求,与大型银行几乎差别不大. 但是从资源和实力上来讲,中小银行却与大银行相差甚远. 根据易观国际的统计,2010年我国城市商业银行等区域性银行的IT投入是41.8亿元,2011年将达到47.7亿元.

2011云计算展望(图解)

- Zhaojing - 南都周刊

云计算读书笔记(二)

- Gabriel - 博客园-首页原创精华区
google云计算服务包括:google文件系统GFS,分布式计算编程模形MapReduce,分布式锁服务Chubby,分布式结构化数据表Bigtable,分布式存储系统Megastore以及分布式监控系统Dapper等. GFS提供了海量数据的存储和访问能力. 分为三类角色,client(客户端),Master(主服务器)和Chunk Server(数据块服务器).