从 Docker 的流行谈云计算的走向

简介:

Docker最近很火,有人认为Docker的出现对PaaS服务产生巨大的影响,甚至会让云计算发生质的飞跃。然而,当今云计算的发展瓶颈并非完全集中在技术层面,对云计算的普遍认知,从“集中部署、分散服务”向“移动互联、数据驱动”转变,或许是一个新的突破点。

Docker出现了,这对云计算自然是一个很大的善事。

现阶段的云服务,在IaaS(基础设施即服务)层面基本已经非常成熟了。人们可以方便地从云端获取一台机器,基本达到了“按需获取、按量计费、弹性扩展”的目标,以及像使用水电一般使用计算资源的标准。

然而,在云端PaaS(平台即服务)层面,状态却一直不理想。人们只能在云端直接获得数据库实例这类产品级的PaaS服务。而对于一个企图将IT系统整体迁移到云端的组织来说,其日常的开发、测试、部署、运维等活动,现在除了机器位于云中之外,并没有得到显著地改善。

也就是说,云计算在PaaS层面,并没有提供用户按需获取服务,以及像使用“水电”般使用服务的能力;同时,传统的虚拟化技术,旨在提供完整的操作系统,对资源的分配并未提供最优的解决方案,利用率并不充分,远远未能达到云计算需要充分利用资源对外提供服务的要求。

但在这样的局面下,Docker出现了。它以位于操作系统之上的轻量级虚拟化方案,以及类似于版本管理的映像管理模式,很好地解决了上面提到的问题,从而使云服务的提供者有能力提供真正达到云计算标准的PaaS服务。从这一层面来讲,Docker的出现,真可谓是助云“善事之神器”!它无疑对现阶段云计算的服务能力从IaaS向PaaS层级的提升有着巨大的推动作用。

Docker到底推动了什么?

Docker无疑是优秀的,对云计算发展的贡献毋庸置疑。然而,对那些“Docker出现将使云计算发生质的飞跃”的说法,笔者却想表达一些不同的看法。

这两年,云计算的概念与商业实践都发展得飞快。云计算从概念上不再像前几年那样充满争论和歧义,业界几乎都形成了统一的认识;商业实践方面,各种公有云与私有云服务商如雨后春笋般地蓬勃发展,在宣传层面对传统IT形成了颠覆之势,大有一吞天下IT的气魄。虽然云计算目前在各组织的IT体系中的实际占比其实还很小,但鉴于这种强大气场,几乎所有的人都同意云计算将是未来IT发展的统一趋势。

然而,仔细观察的话,你就会发现,在云计算的强大气场背后,却隐藏着一个事实——无论是公有云,还是私有云,其攻城略地的速度并非想象中那样迅速,甚至是很慢很慢。大多数人将这个事实的原因归结为根深蒂固的“观念问题”,而笔者认为不尽然。很显然,云计算的扩张与发展一直是有较大瓶颈予以制约。很多人认为,这是因为云的技术手段还不够强大。Docker的出现则在云端的PaaS层注入了强大的力量,因此Docker无疑会推动云计算突破瓶颈、快速发展。

然而,阻碍云计算纵深发展的瓶颈绝不仅仅局限在技术层面。传统意义上对云计算“以集中资源采用分布式虚拟化方式提供分散服务”的理解值得重新审视。而人们现阶段对云的理解还不足够成熟或者说并不完全准确,我们对于Docker在现实环境的作用还需要从新的维度进行理解。

首先,让我们再来复习一下得到广泛认同的云计算概念。这两年,人们似乎对云计算的本质涵义已经没有什么争议了,大家都理解到云计算的目标是让IT资源如水电一般使用,开关自如,按量计费。这毫无疑问是云计算的本质精神。

然而,在如何实现这一本质精神的方法论上,笔者却持不同的看法。到目前为止,绝大多数的人都认同:云计算的目标应该是通过集中部署的资源(当然也包括集中部署的分布式资源),采用虚拟化的方式,提供从物理设施、平台到软件各个层级的分散式服务来实现。

而无论是公有云还是私有云,无非是服务的范围有所不同,其技术本质都是“集中部署,分散服务”。到目前为止,几乎没有人对此产生怀疑。不知不觉间,这种以“集中部署,分散服务”为主体实现方案的“公有云+私有云”混合模式在未来将一统天下的说法似乎已经成为真理,业界少有人去质疑。

但是,仔细分析的话,并没有发现有谁通过严密的逻辑推理对此观点进行证明。现阶段,并没有科学的证据严格证明“集中部署,分散服务”模式就是实现“将IT资源如水电提供”的唯一方案。而这种观点的支持者们,绝大多数也都是“人云亦云”而已。那么,从科学的严谨角度来讲,这个结论是可以被质疑的。

再回到Docker这个具体技术手段来说,它其实与人们理解的云计算之间也不见得有什么必然的联系。严格来讲,即使是不采用云计算模式,Docker也一样能对企业日常的IT活动起到巨大的推动作用。因此,如果说Docker对计算资源的利用率与IT相关活动的便利性在平台层面带来了巨大的价值,则毫无问题。但如果说它将使云计算发生质的飞跃,确实值得商榷。

而要解决云计算现阶段的发展瓶颈,也绝非改变“观念”那么简单。我们应该暂时放下Docker这样的具体技术手段进步,追根溯源,从云计算最核心、最本质的需求出发,重新探讨和分析。

云的现状:神尤未具

假如我们认同云计算是未来数字社会IT运营的主体模式,那么现在我们来讨论一下到底什么才是云计算的“神”?

现阶段,人们已经普遍接受“云计算就是一种在对集中资源虚拟化基础上,对外提供分散服务的IT运营模式”。目前的公有云服务商、企业私有云建设,大概都是采纳了这个思路。人们大致认为,云计算更多的是一种商业模式,而不是一种技术。如果是这样的话,云计算之所以能够实现“减少成本、让企业甩掉基础设施运维包袱、将精力集中在其业务上”这些优势,仔细想来,其本质思路无非还是人类从自给自足小农社会进入工业社会所采取的那一套——专事专干。

也就是说,将过去每个家庭都存在的、具有共同性质的事情,集中起来由专业化的工厂完成。几乎没有什么区别:以前是每家都要种地,每家有磨面机磨面,现在是农场集中播收,工厂集中磨面。同样,在云计算模式中,以前是各个企业或部门都拥有自己的IT基础设施,现在是云服务商或者企业统一提供IT基础设施。

我们想要问的是,难道这就是被我们称作“会颠覆未来数字社会运营模式”的云计算精神之所在吗?其伟大的创新又在哪里呢?若不是模式创新,在技术上又有什么呢?分布式?虚拟化?似乎也不是什么伟大的创新!如果我们认同一个有颠覆性的伟大事物之“神”必须在思想、模式与技术上都有不凡创新的话,那么这个伟大的新事物之“神”究竟是什么?

笔者更加认同关于将云计算解释为“使用IT就如使用水电一般”的说法。而目前采用虚拟化将集中资源分割使用的普遍做法,只不过是实现这一目标的手段之一而已。两者之间并不对等。未来,当人们使用IT基础设施时,就像打开水龙头、打开开关一样方便。按需获取、按量计费,这才是云计算的本质精神所在。从这个角度来讲,目前业界云计算的状态,无论是从业务上,还是从技术上,都还属于“神尤未具”的状态。在业务模式上就是集中资源通过网络提供分散服务,从技术上讲就是虚拟化与x86集群,这些就是现阶段云计算所拥有的全部,还并没有触及到云计算目标的核心要素。

云计算之“神”的实现关键是什么?还是要从互联网模式对人类生活,以及各行各业运营方式的变革性影响的角度来考虑。从基础设施和平台的角度来看(即通常说的IaaS与PaaS,也是目前云计算能提供的最常见服务),既然在未来,网络互联已经越来越不是性能瓶颈了,那么IDC部署是否“集中”似乎没有什么道理是必须的。最本质的需求应该是全世界的IT资源(无论其部署在哪里)都有机会为某个单体的请求服务。

而从SaaS的角度(该层级的云计算其实还很不成熟)来看,现有软件的多租户改造并不是未来的关键所在。在未来移动互联的数字化社会,我们现阶段所看到的企业与个人软件(例如CRM、ERP,以及各种工具等),其无论是产品精神,还是从功能设计、使用模式上,都会有较大的改变。而其中,随时随地的移动互联与数据驱动,可能会是云计算软件服务设计的关键所在。

再回到我们前文所讨论的Docker,可以说,虽然云计算的工具与技术层面有很多令人惊喜的成绩出现,但目前为止,我们可能还没有抓住云计算支持未来社会IT运营的本质与关键。业界对云计算的普遍认知,从“集中部署、分散服务”逐步向“移动互联、数据驱动”转变,或许是一个新的突破点。


本文作者:逸凡

来源:51CTO

相关文章
|
2天前
|
Kubernetes 云计算 开发者
云计算中的容器化技术:Docker与Kubernetes的实践
云计算中的容器化技术:Docker与Kubernetes的实践
186 0
|
9月前
|
应用服务中间件 云计算 nginx
云计算-5-docker commit定制镜像
镜像是容器的基础,在每次执行docker run的时候都会指定那个镜像作为容器的基础,之前我们的例子中的镜像都是来自镜像仓库(Docker Hub,以后可能会来源于自己的私有仓Harbor),这些镜像有时候可能不满足我们的需求,那么就需要我们定制镜像以达到我们的需要,接下来几章接我们介绍一下如何定制镜像。
76 0
|
9月前
|
关系型数据库 MySQL Nacos
​云计算--Docker搭建Nacos以及搭建过程中常用的Docker命令
​云计算--Docker搭建Nacos以及搭建过程中常用的Docker命令
150 0
|
5月前
|
分布式计算 Hadoop 应用服务中间件
云计算-webservice-springcloud-hadoop-docker-openstack
云计算-webservice-springcloud-hadoop-docker-openstack
23 0
|
6月前
|
Ubuntu Linux 云计算
云计算(Docker)
云计算(Docker)
129 2
|
9月前
|
NoSQL 关系型数据库 MySQL
云计算--Docker典型命令Docker run部署nginx\mysql\redis
云计算–Docker典型命令Docker run部署nginx\mysql\redis 上两章节分别介绍了Docker在Centos和Ubuntu上的安装方法,这次我们就来介绍一下docker常用命令之一的docker run,并且部署常用应用mysql、redis、nginx作为docker run的示例。
146 0
|
9月前
|
Ubuntu 应用服务中间件 云计算
云计算--Docker在Ubuntu上安装
云计算--Docker在Ubuntu上安装
253 0
|
10月前
|
分布式计算 Ubuntu Hadoop
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
Hadoop生态系统中的云计算与容器化技术:Apache Mesos和Docker的应用
|
弹性计算 安全 Linux
《云计算技术》实验-Docker部署
安装Docker(Linux) 部署一个简单的Python应用 部署c++应用
233 0
《云计算技术》实验-Docker部署