首先要介绍的是我们见过的或者推荐客户使用的几种云实现。当然,你可以把应用的生产环境托管到云上,但在当今的软件开发组织中,还有很多其他的环境。也有许多方法可以同时利用不同的环境,如联合使用一个托管中心和代管中心。显然,把生产环境托管到云上,从虚拟硬件的角度看,你就有了按需扩展的能力。当然,这并不能保证你应用的架构可以利用虚拟硬件的这种扩展能力,你必须预先确认这一点。云还有一些其他的方式帮助你的组织扩展,我们也会在这里介绍它们。如果你的软件开发团队或质量保证团队在等待使用某个环境,那么整个产品开发周期都会被放慢,这就意味着各种扩展方案(如划分数据库、移除同步调用等)会被推迟,从而影响了应用扩展的能力。
1.环境
对于生产环境,你可以把所有东西都托管到一~种类型的基础设施上,如主机托管中心、主机代管中心、你自己的数据中心、云计算环境,等等。不过,也有一一些有创意的方式,同时利用了几种环境,这样既能利用它们的优点,同时又能最小化它们的缺点。让我们以一个广告服务应用程序为例。这个广告服务应用程序由一个接收广告请求的Web服务器池、一个根据原始请求中提供的信息选择合适的广告的应用服务器池、一个允许发行者和广告商管理他们账户的管理工具以及一个持久存储信息的数据库构成。在我们的应用中,广告服务器不必对每个请求都访问一一次数据库。它们每15分钟向数据库发起一一次请求,以接收最新的广告。对于这种情况,我们当然可以为Web服务器池、应用服务器池、管理服务器池和数据库服务器购买批服务器,把它们放置在代管中心中。我们也可以从托管服务提供商那里租用一批服务器,把物理服务器的负担扔给他们。此外,我们还可以把这些池都托管到云环境中的虚拟主机上。
我们认为此外还有一种选择。也许我们有资金来购买这些池所需要的服务器,而且我们的团队成员也能够建立和运行我们自己的物理环境,所以我们决定在代管中心租用一块空间,自己购买服务器。但同时我们也想得到云环境提供的速度和灵活性。由于Web服务器和应用服务器并不经常与数据库进行对话,所以我们决定把这些池中的一个托管到代管中心,另一个托管到云上。数据库会放在代管中心,不过它的快照会被发送到云上以备灾难恢复使用。当流量需求增长时,可以增加云中的Web服务器和应用服务器,这样可以帮助我们度过无法预见的高峰期。
云计算还可以用在现代软件开发组织需要的其他所有环境中。这些环境包括生产环境、交付准备环境、质量保证环境、负载和性能测试环境、开发环境、编译环境以及存储库等。这些环境中的许多都应该考虑在云环境中实现,因为这样可能会降低成本,并且具有灵活性,在需要它们的时候能够迅速地建立起来,而在不需要的时候又能够把它们拆除。即使是从来没有考虑过要把也能从中获益。应用的生产实例建立在云中的企业级的SasS公司或财富500强的公司,由于其他环境利用了云,
2.技能集合
在考虑是否使用云时,还要考虑哪些因素?如果你真的使用云了,那么要把哪个环境部界到云上呢?我们要考虑的因素之一是你能够用于管理运营基础设施的人数以及这些人员的技他集合。如果你的运营人员既没有联网技术,又没有系统管理技术,那么在你考虑是否能够实现和支持一个代管环境时,就需要把这些考虑在内。这时最可能的答案是你无法做到。如果没有必要的技能,转移到更加复杂的环境所引发的问题会比它能解决的问题还多。云也有同样的问题。如果没有人负责部署和停止应用实例,而只让开发人员和工程师来做这些事,那么你月底得到的账单可能会比你预料的多得多。除非有人坚信这个应用实例是必需的,否则让实例-直运行只是在浪费金钱。
另一种可能影响你决策的技能是产能规划。你的业务是否具有很多不可预测的流量,或者你的员工有没有正确预测流量的技能,这些都会对你是否使用云产生重要影响。当然,云的一一个重要优点就是迅速部署更多虚拟主机以处理峰值需求的能力。
总而言之,我们相信云计算几乎在任何一个公司中都有用武之地。它可能不适合托管你的生产环境,但却可能适合托管你的测试环境。如果你的业务增长量不可预测,如果速度是最紧迫的问题,如果节约成本是生死攸关的,那么云可能是个很好的解决方案。如果你无法分配人员进行运营管理,或者完全无法预测你需要什么样的产能,那么云计算可能就是你所需要的。如何把这些汇总在一一起以便进行决策,这就是下一节的主题。
3.决策流程
我们已经介绍了云计算的利弊,并讨论了怎样把云环境集成到公司的基础设施中,最后一步将是提供一个做最后决策的流程。我们推荐的这个整体流程的第一步是明确投资云计算的目的或目标,然后创建各种能够达到该目标的实现。然后根据你特定的情况衡量这些实现的利弊,并基于这些利弊给每种实现评级。最后根据得到的综合利弊评级,选择-一种实现方案。让我们从头到尾看一个例子。
假设我们的公司AlwaysScale.com正在评估是否要把一个云基础设施集成到它的生产环境中。第一步是明确我们希望利用云环境来达到什么目标。对于AlwaysSscale.com公司来说,这个目标就是降低基础设施的运营成本,减少采购和供应硬件的时间,把应用的可用性维持在9.99%。基于这三个目标,运营团队设计了三种解决方案:第一种是什么都不做,依然使用代管中心,忘记一切与云计算相关的讨论;第二种是只把云用于激增的产“能需求,而大多数的应用服务仍然托管在代管中心;第三种是把所有应用服务都转移到云,不再使用代管空间。这样就完成了决策流程的前两步。
第三步是衡量对这三种解决方案我们所能提出的所有利弊。这里,我们将使用前面列出的五个缺点和三个优点。我们将使用1、3或9的权重对这些优缺点进行加权,以便显著区分我们所关心的因素。第一个缺点是安全性,我们虽然关心这一一点,但由于我们没有存储个人身份信息或信用卡信息,所以我们给它的权重是3。接下来是可移植性,由于我们认为并不需要达到在不同的基础设施之间迅速转换,所以我们给它的权重是1。接下来是控制力,我们非常关心控制力,所以给它的权重是9。然后是局限性,包括IP地址、负载均衡器和第三方软件的支持,我们给它的权重是3。我们虽然很关心负载均衡器,但我们不需要自己的IP空间,而且使用的都是不需要第三方支持的开源软件。最后一个缺点是性能。由于我们的应用不会消耗大量的内存和硬盘,所以我们认为这点对我们来说不是大问题,所以我们给它的权重是1。对于优点,我们最关心的是成本,所以我们给它的权重是9。速度的权重也是9,因为它是我们的主要目标之一,我们也很关心它。最后一点是灵活性,我们预计不会太多用到它,所以我们给它的权重是1。
第四步是给每个解决方案评级,根据它们各自展现的利弊,分别给它们0到5分的评级。例如,对于“用云满足激增的产能需求”这个方案,可移植性这个缺点的评分应该非常低,因为我们不太可能需要执行移植操作。同样地,对于“完全转移到云”的方案,局限性的影响也很大,因为没有其他的环境可用了,所以它的评分应该是5。
在对每个解决方案的利弊进行了评分后,这些数字要被相乘并求和。每个优点的网站设计权重要乘以每个解决方案的评级或评分,然后把每个解决方案的这些乘积相加,就得到了这个解决方案的评分。例如,对于2号解决方案“用云满足激增的产能需求”,它的安全性评级是2,权重是-3。所有缺点的权重都负数,这样计算起来简便。安全性的评分和权重的乘积是6,然后它会与2号方案的其他乘积加在一起,整体得分是9:(2x-3)+(1x-1)+(3x-9)+(3x-3)+(3x-1)+(3x9)+(3x9)+(1x1)-9。
>>> 查看《云计算的不同用法》更多相关资讯 <<<
本文地址:http://www.phpweb.com.cn/news/html/3903.html