【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

云计算从服务到公共资源的演化之路

  • 2016-05-31
  • 本文字数:3726 字

    阅读完需:约 12 分钟

什么是云计算?云计算的角色是如何变迁的?云计算未来的形态是什么?本文试图从历史、技术演化、云端应用架构的发展等几个维度去揭示云计算未来的演化趋势。

不同的角色,对云的认知不同

不同的用户,对云计算的认知是不同的。对于一个计算机专业的硕士研究生来说,他会告诉你,云计算就是网格计算,并行计算。对于一个小白用户来说,他会告诉你,云计算是网盘。对于一个 IT 工程师来说,他会告诉你,云计算是服务器。对于一个科技爱好者来说,他眼中的云计算是类似于 AlphaGo 这样的高科技。云计算到底是什么呢?不同的人有不同的看法。但是作为云计算行业的从业者来说,我是这样定义云计算的:云计算是一种将 IT 基础设施转变为服务去售卖的新的商业模式。

从技术演化到服务,未来形态是什么?

在不同的历史时期,云计算所扮演的角色是不同的。在 2000 年之前,云计算更多的是以一种新技术形态出现的。那个时候可能还没有这个名词,但是学术界一直研究的网格计算、并行计算,就是云计算比较早期的雏形。在 21 世纪最初的几年,云计算开始在 Google 这样的公司广泛应用。这个时候,云计算更多的是代表一种能力 (Capacity),并且只有大公司才能拥有这种能力。到了 2006 年,有一个标志性的时间,就是 Amazon 第一次将对象存储作为一种服务,对外去售卖。云计算才由少数公司具有的能力,演变成人人都能购买的服务。

随着技术继续往前发展,未来,云计算是一种什么形态呢?

某些时候,我们面向着对未来的种种的预测和期望,其实很多答案已经存在在历史中了。

电力作为一种公共资源的演化过程

回到 19 世纪,我们先看一下,电力作为一种资源的演变过程。1831 年,法拉第发现电磁感应,电开始作为一种新的技术登上历史舞台。1879 年,爱迪生发明了电灯,第一次点亮的世界。此时,电只是作为摩根这样一类少数富人所拥有的能力。随着电力技术的发展,爱迪生不仅仅发明了电灯,还发明了一系列直流的发电,传输的系统。并通过爱迪生通用电气将其商业化,这个时候,电才开始成为人人都可以享受和购买的服务。历史的车轮继续往前。特斯拉发明了交流电机以及交流传输技术,电能能通过远距离输电的方式,输往千家万户。并且在工业生产,人的生活中被广泛采用。这个时候,电才成为了一种公共的资源。

电力革命,催生了电能成为一种公共资源

第二次工业革命,催生了电成为一种公共的资源。历史的车轮总会存在相同的印记,所以,云计算未来也会是一种公共的资源。

云计算技术的演化过程

一个东西,从一项技术发展成为公共的资源,其技术一定是逐步演化的,需要适应作为公共资源的特点。

  • 细粒度,可衡量。
  • 简单通用。
  • 有统一的方式去获取。

云计算技术的发展,其实就是隔离性越来越深,资源粒度越来越细,由专有到通用的过程。

物理机时代的隔离方式

我们先看一下物理机时代的隔离方式。当需要服务时,会购买一台物理的机器,当需要更多服务时,就需要一个机架,装入更多的物理机器。所以物理机时代的隔离,就是一种机器层面的隔离。这种情况下会导致两个问题。

  • 资源粒度过粗,利用率不高。

  • 无法方便的通过软件去控制。

    虚拟机时代的隔离方式

随着虚拟化技术的发展,出现了操作系统层面的隔离。也就是我们通常说的虚拟机(VM),在一个操作系统上划分出很多虚拟的操作系统。每个操作系统就是一台虚拟的服务器。他们共享硬件资源。由于一台物理的机器,能够创建很多个虚拟的机器,这个时候,资源粒度变细了,利用率提升了,同时还带来了一个非常便利的优势,也就是能够通过软件的方式,非常方便的创建、重启、销毁机器。当一个数据中心大量的虚拟机被生成出来,然后辅助特定的管理、监控、安全、网络的设施,就变成了云。也就是我们通说所说的 IaaS。

PaaS,一种应用层面的隔离

用惯了虚拟机的程序员,可能会思考一个问题。我有 10 个 Python 的应用,只是应用的代码不同,我难道需要 10 个独立的 OS 去运行吗?这些应用能否共用一个执行环境。这种情况下,PaaS 出现了。传统的 PaaS,是一种应用层面的隔离。应用和应用之前彼此独立,共享相同的执行环境 (Runtime), 这个时候,资源粒度更细了,同一个 PaaS 平台可以同时运行更多的应用。但是 PaaS 平台也存在一个问题,因为平台是运行环境相关的,所以必须为每个平台专门定制代码。通用性带来很大的问题。

容器,进程层面的隔离

技术总是往前发展,既然应用是和执行环境相关的,那为什么不把应用和执行环境打包在一起,这样,就解决了 PaaS 平台的应用必须依赖其执行环境的问题。因此容器(Container)技术应运而生。容器就是把一个应用以及所依赖的一系列的运行环境打包到一个“箱子”里面。箱子和箱子之间共享同一个 OS Kernel。利用操作系统内核本身的一些特性做资源隔离。所以容器技术是一种进程级别的隔离。它不仅解决了运行环境依赖的问题,还使得隔离粒度进一步变细。容器的生成,销毁更为迅速(秒级)。所以纵观整个的云计算技术的发展历程,有一个非常重要的主线就是隔离越来越深入,资源粒度越来越细,管理越来越方便。

三种层面的隔离的类比

刚才谈到了物理机、虚拟机和容器,那这三种到底有什么区别? 这里打一个形象的比喻,如果把虚拟机比作是一套三居室的公寓,容器就好比是合租,租用公寓里面的一个房间,他们共享客厅、厨房和卫生间。旁边房子里面大声放音乐,可能会吵到自己,相比于公寓的防盗门,也不是那么安全,但是它是一种轻量化的解决方案。旁边的独栋别墅,就好比是一个物理机,它所有的东西都是独享,但是利用率不会那么高。

API,云计算资获取的"插座“
一个东西,如果要变成一项公共的资源,还需要满足一个非常重要的特征,也就是需要一种相对简单,并且统一的途径的获取资源。譬如所有的电能,都是通过一个插座 (Socket) 去获取的。云计算也需要一个这样的插座。所以在云计算的世界里,API 扮演着一个非常重要的觉得。未来云的世界,就是由 API 构成的世界。

云计算的四个资源化特征

相比于电能,简单,便利,随时随地获取,不用关心是否够用。云计算要成为一个资源,也需要具备相应的特征。

  • 按需付费,用多少就算多少。
  • 即时获取,消除地域和时间的限制。
  • 规模经济,成本会越来越低。
  • 弹性伸缩,满足不同类别的业务需求。

Cloud Native,云计算未来的应用架构

电能的广泛传播和使用,与丰富家用电器的使用场景以及以电能为动力的广泛的工业化应用是分不开的。同样,云计算的发展和普及,依赖于真正符合云计算特点的应用系统和应用架构。到底什么样的一种应用架构是符合云的未来趋势的呢?最近,有一种应用架构开始流行:Cloud Native(云原生应用)。Cloud Native 不是一种新的技术,也不是一种新的架构。而是包含下面三个东西,可以说是一套云端业务构建和运营管理的最新的理念。

  • 一种架构思想(微服务)。

  • 一种业务运行环境(Docker + 容器)。

  • 一种团队组织方式(小团队,DevOps)。

    微服务架构

随着云计算技术的发展,云计算所表现出来的资源化特征已经完全不同于传统的 IT。传统的集中式架构、分布式架构显然已经无法适应一切以云端为基础构建的业务。“微服务”在这种情况下应运而生。和传统的 SOA 一样,微服务也是一种面向服务的架构,但是它的粒度更小,服务和服务之间更为松散耦合。一切以 API 进行通信。

Docker,改变世界的”箱子“

当然微服务的实现,也依赖于其具体的业务运行方式和管理模式。所以也离不开 Docker 这只改变世界的“箱子”。如果云计算的未来是一种公共的资源,那么由它所驱动的业务,一定会有一个通用化的执行环境。并且计算单元的粒度更细,也更具有可衡量的特征。以容器技术为核心的 Docker,将是当前最优化的一种方案。同时,服务以极细粒度去运行,配合标准化的分发、调度管理模式,才更能适合微服务这样的全新架构。

康威定律

20 世纪 60 年代,有一个程序员提出了著名的“康威定律”:有什么样的业务架构,必然会有什么样的团队组织形式。既然云端的业务是一种全新的业务架构去组织的,当然也会催生出新的团队组织和运行模式。“小团队作战,DevOps”,构建一种适合云端业务的、敏捷的业务开发、运行、运营管理模式。

总结

本文从云计算的未来的发展形态,谈到了云的技术演化,再谈到了云的资源化特征,最后谈到了云端的应用架构。从历史到技术演化,到业务特征,最后到应用形态,其实一直都是围绕着一条主线:云计算如何由服务向着公共资源去演变。总结起来,有下面 4 点结论。

  • 云计算的服务化特征会越来越明显。
  • 资源粒度会越来越细,越来越通用,越来越容易获取。
  • 业务的述求越来越向着即时获取、按需获取、弹性的方向发展。
  • 新的业务架构、业务运行环境、团队组织模式是其演进的催化剂。

作者简介

刘永峰 腾讯云高级产品经理,Docker 布道师,2011 年加入腾讯,近十年的研发以及产品经验。曾负责过流媒体服务器架构设计、操作系统性能优化、云监控系统架构设计等相关技术研发工作,以及基础云、云监控、游戏云相关的产品设计工作,在技术和产品领域具有丰富的行业经验。目前主要关注领域包括企业云化趋势、基于云端的系统架构实践、Docker 技术的发展以及在云计算领域的应用。


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-31 17:011677

评论

发布
暂无评论
发现更多内容

科技大势怎么看 2023怎么干?

加入高科技仿生人

人工智能 低代码 科技 数字孪生 6G

全景剖析阿里云容器网络数据链路(六):ASM Istio

阿里巴巴中间件

阿里云 容器 云原生

软件测试 | 使用冒烟测试检验版本

测吧(北京)科技有限公司

测试

搞定预设,让你的 ChatGPT 不受限制 | 社区征文

极客飞兔

人工智能 聊天机器人 openai ChatGPT

阿里云函数计算助力高德RTA广告投放系统架构升级

阿里巴巴中间件

阿里云 云原生 函数计算

转型调研 | “鼎新汇•企业行”第一站:走进中国联通软件研究院

信通院IOMM数字化转型团队

数字化转型 IOMM 鼎新汇•企业行 鼎新杯

怎么预防LED显示屏静电

Dylan

设备 LED显示屏 全彩LED显示屏

附安装包和快捷键!5个不能错过的 Blender 插件

Finovy Cloud

软件 blender 3ds Max云渲染

博睿数据数智领航营全国巡讲火热预约中,扫码即可参与报名~ ​​​

博睿数据

智能运维 博睿数据 数智领航营

从青铜到王者,揭秘 Serverless 自动化函数最佳配置

阿里巴巴云原生

阿里云 Serverless 云原生

BI工具数据看板哪个好,瓴羊Quick BI整不错!

流量猫猫头

关于印度跨境数据传输,印度放宽了跨境数据传输

镭速

Nacos+ThreadPoolExecutor构建动态线程池

小小怪下士

Java 程序员 线程池

如何成为程序员中的牛人/高手?

这我可不懂

低代码 低代码平台 JNPF

Wasm 原生时代已经来到

SOFAStack

开源 互联网 Wasm

Nydus 在约苗平台的容器镜像加速实践

SOFAStack

开源 互联网 开发

技术专家云集,OpenHarmony技术峰会分论坛聚焦内核及视窗创新

Geek_2d6073

ChatGPT 仅仅是一款工具而已 | 社区征文

小鑫同学

ChatGPT

云快充研发中心平台架构师谈云原生稳定性建设之路

阿里巴巴中间件

阿里云 容器 云原生

软件测试/测试开发 | 测试平台开发-前端开发之Vue.js 框架

测试人

软件测试 测试开发 测试平台

基于人形检测的划区域客流统计

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜 人形检测

如何基于 Antmove 将小程序快速迁移至 FinClip 环境

FN0

小程序 支付宝小程序 finclip

大国重器用友BIP,助力贸易行业数智化转型

用友BIP

数智化

详解Redis的主从同步原理

C++后台开发

redis 中间件 主从同步 后端开发 Linux服务器开发

干货演讲!龙蜥自动化运维平台SysOM 2.0调度、内存相关诊断功能介绍 | 第 70-71 期

OpenAnolis小助手

内存 系统运维 sig 龙蜥大讲堂 SysOM

车企数据分类分级的实践指南出炉!“数据安全推进计划”发布,奇点云参编

奇点云

数据安全 奇点云 数据分类分级 车企

60% 程序员大呼:我要远程办公!

引迈信息

敏捷开发 低代码 远程办公

从资源弹性到数据弹性,乾象如何将云上量化研究效率提升 40%?

阿里巴巴云原生

阿里云 云原生

分投趣fintoch去中心化借贷交易dapp系统开发搭建

开发微hkkf5566

免费下载丨一看即会,Serverless 技术进阶必读百宝书

阿里巴巴云原生

阿里云 Serverless 云原生

软件测试 | 测试方法的基于活动的测试手段

测吧(北京)科技有限公司

测试

云计算从服务到公共资源的演化之路_服务革新_刘永峰_InfoQ精选文章