《云计算》

下载本书

添加书签

云计算- 第4节


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
  或者,如蒂姆?奥莱理所说的那样:
  云计算专指将因特网作为一个计算平台使用,而Web ,如同我所定义的,试图探究和解释该平台的业务规则。
  也许云计算和Web 只是看待相同现象的两种不同的方式。或者,同样可能,也许云计算是一种特定的Web 技术。无论如何都要记住,这两个词大概兴起在计算演化表上的同一点,这两个概念对最终用户承诺类似的结果。
  最后,将谷歌文档或微软Live Mesh之类的事物看作是云服务还是Web 应用抑或两者兼而有之并不重要,重要的是技术如何影响用户。在这方面,云计算和Web 都为相关人员带来了实实在在的好处。
  

第三章 开发云服务(1)
本章导读
  ? 为什么开发基于网络的应用?
  ? 云服务开发的正反两面
  ? 云服务开发的类型
  ? 了解云服务开发服务和工具
  我们中的大多数人从用户的角度考虑云计算,关注那些因云而存在的基于web的应用。但云计算也给软件开发者提供了很多东西。开发者现在可以利用云计算的能力和影响开发基于web的应用。
  从这方面来说,许多著名的公司,包括亚马逊和谷歌都在云服务开发工具方面投入了大量的资源。继续读下去,来更多的了解什么可用以及什么将要可用。
  为什么开发基于web的应用?
  一个典型IT部门的需求令人胆怯:他们必须为公司内的所有用户提供足够的计算能力和数据存储。当然,这些必须在规定的预算内完成。存在的困难是,满足峰值需求或为新用户增加容量通常会导致IT预算猛增。
  对多数公司而言,增加那些只在少数时间用到的能力在财务上是不明智的。IT部门需要的是一种方法来增加能力或添加性能而无需投资新服务器、互连设备或许可新的软件。云计算正是应这一需求而生。
  以集中式基于web的应用形式出现的云服务对IT专业人员也有吸引力。云应用的实例与安装在每个用户台式机上的类似软件的单个拷贝相比更便宜更易于管理。升级一个云应用只需要做一次,而升级传统的软件需要针对每一台安装该软件的个人电脑进行。另外,我们还具有云带来的协作能力,而利用传统的桌面应用,这很难做到。
  云服务开发的优势对那些没有预算或资源开发大规模应用的小企业尤为明显。通过将本地开发的web应用部署到云中,小企业无需花钱来购买昂贵的硬件设备来运行同样的软件。
  让我们面对这一点,大多数小公司没有员工、资源、硬件或预算来开发和维护他们自己的应用,或来处理维护安全环境所面临的种种困难。尽管他们可以外包软件开发和运行,将这些应用转移到云中,公司不再需要投资本地宿主系统,解放了员工和资源以专注于自己业务的日常运行。
  总之,投资云服务开发所带来的收益多多。一个开发自己的基于web的应用的公司在得到功能的同时还降低了业务费用。云的聚合能力伴随着更低的软件购买和管理费用。
  云服务开发的正反面
  为什么选择利用云服务模型来开发新应用?有几条充分的理由这样做,同时也有几个理由也许需要当心。
  云开发的优势
  云开发的优势之一就是规模经济。利用云计算供应商提供的基础设施,同在单一的企业内开发相比,开发者能够提供更好,更便宜和更可靠的应用。如果需要,应用能够利用云的全部资源而无需要求公司投资类似的物理资源。
  说到成本,由于云服务遵循一对多的模型,与单独的桌面程序部署相比,成本极大的降低了。云应用通常是“租用的”,以每用户为基础计价,而不是购买或许可软件程序(每个桌面一个)的物理拷贝。它更像是订阅模型而不是资产购买(和随之而来的贬值)模型,这意味着更少的前期投资和一个更可预知的月度业务费用流。
  IT部门喜欢云应用是因为所有的管理活动都经由一个中央位置而不是从单独的站点或工作站来管理。这使得IT员工能够通过web来远程访问应用。其他的好处包括用需要的软件快速装备用户(称为“快速供应”),当更多的用户导致系统重负时添加更多计算资源(自动扩展)。当你需要更多的存储空间或带宽时,公司只需要从云中添加另外一个虚拟服务器。这比在自己的数据中心购买,安装和配置一个新的服务器容易的多。

第三章 开发云服务(2)
对开发者而言,升级一个云应用比传统的桌面软件更容易。只需要升级集中的应用程序,应用特征就能快速顺利的得到更新,而不必手工升级组织内每台台式机上的单独应用。有了云服务,一个改变就能影响运行应用的每一个用户,这大大的降低了开发者的工作量。
  云开发的不足
  也许人们所意识到的云开发最大的不足就是给所有基于web的应用带来麻烦的问题:它安全吗?基于web的应用长时间以来就被认为具有潜在的安全风险。由于这一原因,许多公司宁愿将应用,数据和IT操作保持在自己的掌控之下。
  也就是说,利用云托管的应用和存储在少数情况下会产生数据丢失。尽管可以说,一个大的云托管操作可能比一般的企业有更好的数据安全和冗余的工具。然而,在任何情况下,即便是感知到的来自关键数据和服务异地托管的安全威胁也可能阻止一些公司这么做。
  另外一个潜在的不足就是云计算宿主离线所导致的事件。尽管多数公司说这是不可能的,但它确实发生了,亚马逊的EC2业务在2008年2月15日经受了一次大规模的服务中止,并抹去了一些客户应用数据。(该次业务中止由一个软件部署所引起,它错误的终止了数量未知的用户实例。)对那些需要可靠和安全平台的客户来说,平台故障和数据消失就像被粗鲁的唤醒一样。更进一步讲,如果一个公司依赖于第三方的云平台来存放数据而没有其他的物理备份,该数据可能处于危险之中。
  注意
  亚马逊声称,通过将应用的实例放在多个地方并指派专为云计算设计的弹性IP地址,他们已经解决了导致系统故障的原因。
  云服务开发的类型
  云服务开发这一概念包含几种不同的开发类型。让我们来看一下一个公司能够利用云计算来开发自己的业务应用的不同方法。
  软件即服务
  软件即服务(SaaS)可能是最普遍的云服务开发类型。有了SaaS,一个独立的应用通过供应商的服务器交付给成千上万的使用者。客户不必为拥有软件而支付费用,确切的说,他们支付使用费。用户通过web可以访问的API使用应用。
  注意
  一个API(应用开发接口)是一个接口,它使得一个远程程序能够与另外一个程序或服务进行通信或使用其资源。
  供应商所服务的每一个组织都称之为一个租户,这种类型的安排称为多租户架构。供应商的服务器被虚拟的划分成多个部分从而使得每个组织都可以利用定制的应用实例进行工作。
  对客户而言,SaaS无需前期的服务器或软件许可投资。对应用开发者而言,只需要为多个客户端维护一个应用。
  许多不同类型的公司都在利用SaaS模型开发应用。也许最为著名的SaaS应用就是谷歌为自己的客户群所提供的应用。
  平台即服务
  平台即服务(PaaS)是SaaS的一个变种,整个开发环境作为一个服务而提供。开发者利用供应商开发环境中的“结构单元”来创建自己的客户应用。这在某种程度上就像利用Legos构造应用,尽管最终应用在一定程度上受到可用代码块的限制,但利用这些预定义的代码块,应用的构建变得更容易。
  Web服务
  一个Web服务就是一个在网络上,通常是因特网上运行的应用。更典型的说法是,一个Web服务就是一个能够通过因特网访问的API。用户所请求的服务运行在远端系统上,后者充当服务的宿主。

第三章 开发云服务(3)
这种类型的Web API使得用户能够利用因特网上共享的功能,而不是提供自己的完整的应用程序。这种做法的最终结果是一个定制的、基于web的应用程序,该程序的大部分由第三方提供,因而减轻了传统应用程序在开发和带宽方面的需求。
  一个不错的web服务的例子就是谷歌地图API用户所创造的“整合应用”。利用这些定制的应用程序,供应给地图的数据由开发者提供,而创造地图本身的引擎则由谷歌提供。开发者无需编写代码或提供地图应用,他所要做的一切就是连接到谷歌的Web API。
  正如你可能猜测的那样,Web服务的优点包括更快的(和更低成本的)应用开发,更精简的应用和较少的存储和带宽需求。
  实际上,web服务使得开发者每次开发新应用的时候不必重复开发相同的功能。利用来自web服务提供商的代码,他们在开发自己的应用的时候更容易成功。
  按需计算
  顾名思义,按需(on…demand)计算将计算机资源(处理能力,存储等)打包成类似公共设施的可计量的服务。在这一模式中,客户只需为他们所需的处理能力和存储支付费用。
  注意
  按需计算也称为效用(utility)计算。
  那些具有很大的需求高峰并伴有低得多的正常使用期的公司特别受益于效用计算。当然,该公司需要为高峰使用支付更多,但是,当高峰结束,正常使用模式恢复时,他们的帐单会迅速下降。
  按需计算服务的客户端基本上将这些服务作为异地虚拟服务器来使用。无需投资自己的物理基础设施,公司与云服务提供商之间执行现用现付的方案。
  按需计算本身并不是一个新概念,但它因云计算而获得新的生命。在过去的岁月里,按需计算由一台服务器通过某种分时方式而提供。今天,服务基于大型的计算机网格,它作为一个独立的云运行。
  注意
  现今提供按需计算和存储的公司包括亚马逊,IBM,Sun和其他公司。
  了解云服务开发服务和工具
  正如你所知,云计算还处在发展的早期阶段。通过观察大量的小型和新兴的提供云开发工具的公司就能够看到这一点。在一个更加成熟的产业中,随着更大的企业登上舞台的中心,规模较小的厂商最终会倒在路边。
  也就是说,许多公司,有大有小,都提供云服务的开发服务和工具。最基本的产品面向从零开发的应用程序,为其提供基于云的托管服务。功能更为齐全的产品包括开发工具和预先建立的应用程序,开发人员可以将其用作构造单元来构建自己独特的基于web的应用。
  让我们回来从云服务开发的角度看一看谁在提供哪些服务。这是一个有趣的公司和服务的组合。
  亚马逊
  这是正确的,亚马逊,因特网上最大的零售商之一,也是一个主要的云开发服务供应商。按照如下的方式来考虑:亚马逊已经花了大量的时间和金钱设立了众多的服务器来服务其广受欢迎的网站,它正在将这些海量的硬件资源提供给所有开发者使用。
  我们讨论中的这项服务称之为弹性计算云,亦称为EC2。这是一个商业web服务,它允许开发人员
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架