1700426332
1700426333
图22中是平台即服务的主要用例,下面对部分用例进行讨论。
1700426334
1700426335
数据库服务
1700426336
1700426337
数据库是以一种便于快速定位和搜索的方式,将一系列持久性数据组织起来。数据的持久性表现为可覆盖一个应用程序的运行生命周期,或者跨越多个应用程序的生命周期。数据库的典型特征包括(1)紧密性;(2)数据提取与更新的速度;(3)更新性,以保证数据一直处于最新状态,并符合你的使用目的。可以将数据库简单视为一个电子文件系统,其中包括索引、档案文件以及便于访问的组织排列方式。由于数据库是集成在通信层的一部分,作用在多个应用程序之间,允许它们共享并重复使用同一数据,因此被称为中间件。
1700426338
1700426339
支持数据库的是保存数据的物理存储系统,因此除了前文讨论的IaaS存储服务之外,还可以在PaaS服务中托管数据库系统,这一“平台即服务”就能为你提供数据库系统云单元。在应用程序提出需求时,需要能简便快速地接入这类数据库服务,因此数据库服务最好和使用它的应用程序位于同一个云中,这样就能缩短传输时间,达到最优表现。这样配置的优点是可以将大部分IT功能置于云端,如应用程序、其数据库和物理存储,如果是网页应用程序,就可以使用网络浏览器来远程操作,而如果是“胖客户端”应用,则要使用虚拟化应用(解释详见第一章)来接入,这也是实现瘦客户端或零客户端计算模型的途径之一。
1700426340
1700426341
云数据库的另一优势是它的实用性,各类应用程序都可以将数据库视为开架商店。如果把数据库服务配置为云单元,在每次需要使用数据库时,就无须重新选择、安装、配置,而只要在云环境中访问数据库云单元,并将其链接到应用程序中。这种数据库即服务单元的使用方式能为你节省时间、精力与成本,但其最大障碍来自商业原因,多数公司都没有针对此类云计算模式的许可政策,解决途径之一是使用免费开源的数据库,如PostgreSQL或MySQL。
1700426342
1700426343
数据库云服务还能使托管在不同平台、使用不同技术的应用程序无缝接入同一数据库系统进行便捷查询,而当云服务接口向全球各地的信息开放,数据库的可得性就能进一步提升。这是由于数据库系统在IT层面已经十分成熟,具有多种技术通用型协议,如在连接中使用的Java语言数据库连接(Java Database Connectivity, JDBC)和开源数据库连接(Open Database Connectivity, ODBC)。此外,多数数据库都采用定义清晰的结构化查询语言(Structured Query Language, SQL)来进行数据的查询、更新、修订,使得任何地方的应用程序都可以顺畅地使用云数据库服务。
1700426344
1700426345
应用开发
1700426346
1700426347
利用PaaS服务在云端开发应用程序的主要意图有二:(1)你想要创建一项SaaS,以便迅速走向市场;(2)你想要集中精力在软件需求上,快速完成开发-搭建-测试-部署这一软件生命周期,而不必顾虑基础设施的问题(应用开发者毕竟不是数据中心公司,只想专注于自己开发的应用程序上)。无论是哪种情形,使用PaaS进行应用开发都有一系列优势:
1700426348
1700426349
能让你专注于软件的创造性工作,而不是硬件等周边事务。
1700426350
1700426351
具有基于使用的计价方式,不必为基础设施进行前期投入。
1700426352
1700426353
应用程序的用户数量弹性很大,无论是一个还是一百万个都无须更改应用架构。
1700426354
1700426355
存储、数据库等组件是标准化的现成服务,可以让应用程序随时调用。
1700426356
1700426357
你能获得多数应用开发者都较为熟悉的标准开发环境,其中还包括应用框架、代码模板、开发工具等。
1700426358
1700426359
尽管大多数云供应商都允许你迁移应用,并提供一些辅助工具,但优秀的应用程序开发环境还是会把你和某个特定的供应商绑定。更换云服务供应商的成本高不可及,比如要在别处建立自己的开发环境,就需要配备必要的人才、完成应用集成等各种工作。为缓释风险,你需要(1)评估PaaS服务提供的技术与应用开发框架;(2)确保你的应用程序与数据架构能满足更高的互通性与灵活性。
1700426360
1700426361
常用的云平台包括微软的Azure、谷歌的App Engine和亚马逊的Elastic Compute Cloud(EC2)。这三个平台其实并不能直接相比较,虽然你能在任一平台上写出同样应用,但它们提供的服务并不相同。Azure提供了.Net框架,这是一个包括可重复使用软件库的软件框架,能提供各类编程语言(比如Visual Basic、C、C++、C#)之间的互通性,也就是说以任意两种语言编写的代码都能互相调用。App Engine则提供了可以用Python、Java、PHP和Go语言来写代码的执行环境,你可以用App Engine执行环境来开发与测试代码,这些特点使其更适合编写网页应用或者移动设备应用。亚马逊的EC2与其说是应用开发平台,倒不如说更像个应用托管平台,更接近于IaaS服务。尽管需要自行建立应用框架、工具和开发堆栈(Stack),EC2还是能用于应用开发与测试,只是你得自己进行维护升级,而且由于你对硬件具有较高自由度与控制力,还得肩负起实现应用可扩展性的责任。因此,EC2的主要优势就是能在未来需要的时候,较为方便地将应用转移到别处。
1700426362
1700426363
应用测试
1700426364
1700426365
对于应用开发的讨论大部分也适用于应用测试。测试能实现两个目的:一是验证用户需求无误,二是确认应用程序满足了这些需求。使用云服务进行测试的主要优势包括:
1700426366
1700426367
可以由测试环境直接升级成为演示环境。
1700426368
1700426369
无需资本投入就能获得灵活的测试环境。
1700426370
1700426371
可以随测试需求的变化而增加或减少产能。
1700426372
1700426373
便于在多种环境(演示、开发、测试等)间进行切换。
1700426374
1700426375
如果将测试环境共享给用户,就能使用标准化测试工具、流程和测试脚本,这对于公测或用户接受度测试来说尤为有用。
1700426376
1700426377
由于节省了搭建测试环境的时间,可以更快捷地上市。
1700426378
1700426379
从模拟用户处获得的软件大小及容量信息有助于评估其拓展性及基础设施需求。
1700426380
1700426381
你可以用云测试环境来进行各类测试,常见的包括内部测试、外部测试、灾难恢复测试、功能测试、完备性测试、负荷测试、操作测试、并行处理测试、性能测试、压力测试、安全性测试、系统测试、单元测试、用户接受度测试等。
[
上一页 ]
[ :1.700426332e+09 ]
[
下一页 ]