数据库即服务是个坏主意吗?
云计算代表了业界一种重要的范式转变。David Chappell指明: 该转变中最重要的一部分是云平台的出现……这类平台允许开发人员编写运行在云中的应用,或利用云提供的服务,或者两者兼而有之。即使这些平台看上去很普通,但Dave提出了告诫之词: 从相同的视角考虑on-premises平台和云平台是有用的,但两者是不同的。当平台功能移到云里时,这些功能有时会明显地变化。Dave将应用
云计算代表了业界一种重要的范式转变。David Chappell指明:
该转变中最重要的一部分是云平台的出现……这类平台允许开发人员编写运行在云中的应用,或利用云提供的服务,或者两者兼而有之。
即使这些平台看上去很普通,但Dave提出了告诫之词:
从相同的视角考虑on-premises平台和云平台是有用的,但两者是不同的。当平台功能移到云里时,这些功能有时会明显地变化。
Dave将应用架构分为了三类:
- 基础
- 基础设施服务
- 应用服务
Dave还主张:
云应用可以构建在云基础之上,正如on-premises应用是基于on-premises建立的一 样。两种应用都能获取on-premises和云中提供的基础设施服务和应用服务。就像on-premises平台支持现今的应用一样,云平台也为我们未 来很可能创建的应用提供了服务。
在所有可能的基础设施服务中,“数据服务”可以说是最重要的,因为没有它们信息系统就不能建立。数据还代表主要的战略资产,因为提供最流行数据服务的云平台很可能会占有最大的市场份额。
Dave断定了数据服务的不同类型:
云中的远程存储以不同的方式出现。比如说,Amazon的简单存储服务(S3)提供了基本的非结构化远程存储。它暴露给开发人员的模型是直接了当的:仅仅是一堆字节的对象存储在存储桶中……
另一种云存储的方式是支持更加结构化的数据,比如在Microsoft的SQL Server数据服务(SSDS)中,一个容器包含一或多个实体,其中每个都持有一定数量的属性。
可是Arnon Rotem-gal-Oz想知道“数据库即服务”是不是一个好主意。随着Microsoft、IBM、Amazon、LongJump或EnterpriseDB都试图提供本质上同类的功能,数据库即服务成为业界一种普遍的趋势。他解释说:
那为什么通过(RESTful或其它的)Web服务暴露数据库是错误的呢?让我娓娓道来
- 它完全绕开了“服务”的思想——没有任何业务逻辑,它倾向于资源/服务的CRUD操作
- 它暴露的是内部数据库结构或数据,而不是经过思考后的契约
- 它鼓励忽视真正的服务,直接定位它们的数据
- 它创建了一个Blob服务(数据源)
- 它鼓励细微的[半]服务(上述Blob的多个“接口”),这忽略了少数分布式计算的错误
- 它是披着羊皮的狼,只不过是客户-服务器模式
Seattle的记者Andrea James看到了另一个紧急的问题:
对一个企业来说,从电源插座流出的电似乎是无穷尽的,也不用担心水龙头里流不出水来——企业只需要为他们使用的东西买单。但计算能力还没有如此无缝。
我们肯定只是刚刚接触了云平台的皮毛,没有结构化数据管理的某种形式,云平台是不会出现的。断定哪种数据服务和云编程模型会胜出似乎仍然为时过早。你会将你的企业数据托管到数据库即服务吗?你更愿意通过应用服务访问数据,还是仅仅对系统的记录进行CRUD操作呢?
更多推荐
所有评论(0)