《计算机组成与体系结构(原书第4版)》 —1.7 云计算:计算即服务
1.7 云计算:计算即服务
我们一定不会忘记,每个计算机系统的最终目的都是为用户提供功能。计算机用户通常不在乎百万兆字节的存储和千兆赫的处理器速度。事实上,许多公司和政府机构已经完全“摆脱了技术业务”,其将数据中心外包给第三方专家。这些外包协议往往高度复杂并且要规定硬件配置的每一个方面。除了详细的硬件说明外,服务级别协议(SLA)规定了系统性能和可用性的某些参数不符合协议要求的罚则。签约的双方都要雇人监督合同、计算账单以及在需要的时候按照服务级别协议确定惩罚措施。由于有额外的管理开销,因此对于那些想要避免技术管理问题的公司来说,外包数据中心既不廉价,也不容易。
在新兴的云计算领域,可以找到一种比较容易的方法。云计算是因特网提供的任何类型的虚拟计算平台的总称。云计算平台由它提供的服务而不是它的物理配置来定义。它的名字来源于象征着因特网的云图标,但是这个隐喻很好地体现了云基础设施的含义,因为这个计算机比实际更抽象。“计算机”和“存储”作为云中的实体呈现给用户,但是通常跨越多个物理服务器。存储通常定位到磁盘阵列上,而磁盘阵列并不直接连接到任何特定的服务器上。系统软件的设计使这种配置感觉是个单一系统,因此我们说它给用户提供了一个虚拟机。
云计算服务可以用基于计算机层次结构的多种方式定义和交付,如图1-4所示。在层次结构的顶部,有可执行的程序,云服务提供商可以在因特网上提供一个完整的应用,而不用在本地安装组件。这称为软件即服务(SaaS)。这个服务的消费者不用维护应用或不需要以任何方式关心基础设施。SaaS应用往往集中于有限的非关键性业务应用。著名的例子包括Gmail、Dropbox、GoToMeeting和Netflix。一些专门的产品可用于报税准备、工资、车队管理和案例管理等,这仅仅是几个例子。Salesforce.com是一个开创性的、功能齐全的、用于提供客户关系管理的SaaS。收费SaaS通常是根据用户数量按月计费,有时也加上每笔交易的费用。
图1-4 计算即服务的层次
SaaS的一个最大缺点是消费者对产品的行为几乎没有控制权。如果一家公司为了使用SaaS产品不得不对它的处理过程或政策进行彻底改变的话,这可能是有问题的。当公司希望对其应用有更多的控制权,或者需要的应用不能使用SaaS时,可能会选择在名为平台即服务(PaaS)的云托管环境中部署自己的应用。PaaS提供服务器硬件、操作系统、数据库服务、安全组件和备份与恢复服务。PaaS服务提供商管理性能和环境的可用性,而客户管理在PaaS云上托管的应用。客户通常是每月按照兆字节存储、处理器的利用率和兆字节数据传输付费。著名的PaaS提供商有Google App Engine和Microsoft Windows Azure Cloud Services(以及Force.com(由Salesforce.com提供的PaaS))。
PaaS不适合于需要配置快速变化的情况。主要业务是软件开发的公司就是这种情况。要改变运营良好的PaaS业务,需要正式的变更过程,这阻碍了快速软件部署(迫使公司按照服务提供商的规则行事)。事实上,在员工能够管理操作系统和数据库软件的公司,选择名为基础设施即服务或(IaaS)的云模型可能是最好的。IaaS是最基本的云服务模型,仅提供服务器硬件、服务器安全访问和备份与恢复服务。客户负责所有的系统软件,包括操作系统和数据库。IaaS通常按照使用的虚拟机数量、兆字节存储和兆字节数据传输付费,但是费率比PaaS低一些。最知名的IaaS公司包括Amazon EC2、Google Compute Engine、Microsoft Azure Services Platform、Rackspace和HP Cloud。
PaaS和IaaS不仅解决了数据中心管理的困难,而且提供了基于需求增加和删除资源的能力,这种能力称为弹性。客户只为需要的基础设施付费。所以,如果一家企业的业务有旺季,那么仅需要在旺季持续期间部署额外的能力。当一家公司在计算需求方面有大的变化时,这种灵活性能够给公司节省一大笔钱。
云存储是IaaS的一种受限类型。公众通过Dropbox、Google Drive和Amazon.com上的Cloud Drive(这里仅列出众多提供商中的几个)可以便宜地获得少量云存储。谷歌、亚马逊、惠普、IBM和微软是为企业提供云存储的供应商。与云计算一样,企业级云存储通常也需要仔细管理性能和可用性。
所有潜在的云计算客户必须问自己的问题是:维护自己的数据中心便宜,还是购买云服务(包括峰值期间增加的费用)便宜?此外,如同传统的外包一样,供应商提供的云计算也涉及相当多的合同谈判和管理。在服务提供商和服务消费者之间的关系中,SLA管理仍然是重要的活动。此外,一旦企业将其资产转移到云上,就可能很难再转变回公司拥有的数据中心中,而这种需求有可能出现。因此,任何将资产转移到云的打算必须仔细考虑,并清楚地了解风险。
云计算对计算机科学家也提出了许多挑战。首先并且最重要的是数据中心的技术配置。基础设施必须提供不间断服务,甚至在维护期间。它必须能方便地配置到需要的地方,而不降低或中断服务。基础设施的性能必须仔细监测,并且当性能下降到某一设定的阈值时就采取干预措施,否则可能引起SLA罚款。
在云计算的消费者一方,软件架构师和程序员必须注意资源消耗,因为云计算模式的收费与资源消耗成比例。这些资源包括通信带宽、处理器周期和存储。因此,为了省钱,应用程序应该设计成减少网络上的数据传输、节约机器周期并把存储字节数减到最少。在把程序部署到云中之前,至关重要的是对程序进行非常细致的测试:比如,在一个无限循环中消耗资源的错误模块可能导致月底“惊人的”云账单。
随着数据中心的成本和复杂性持续上升(这看不到尽头),云计算肯定会成为中小企业的选择平台。但是云计算并不是无忧无虑的。一个公司可能没有了技术挑战,但又会面临更令人苦恼的供应商管理挑战。
- 点赞
- 收藏
- 关注作者
评论(0)