我们曾经见到过的,或者与客户和雇主讨论过的。我们的目的是通过与你分享这些,给你一些各种可能的实现的样本,不要认为这就是所有的实现方法了。实现和利用网格计算基础设施的方法有很多。当所有人都熟悉了网格后,你和你的团队一定能够提出大量可以从这种架构受益的项目,然后你只需权衡这些项目使用网格的优缺点,就可以确定哪个项目真的值得实现了。在扩展应用时,网格计算是一种重要的工具,既可以利用网格对生产环境中的某个程序进行经济有效的扩展,又可以用它来加速生产开发周期中的某一步,如编译。并不是只有生产环境需要可扩展性,支持它的流程和人员也需要有可扩展性。当你读这些例子的时候,要时刻记住这一点,同时不妨思考一下网格计算可以如何帮助你进行扩展。
我们准备介绍四个例子,用来说明网格计算的各种用法,包括在网格上运行生产环境、使用网格进行编译、在网格上实现部分的数据存储仓库环境以及网格上的后台办公处理。我们知道还有更多可能的实现方法,但这些示例应该能够给你足够的启发,让你用来启动自己的头脑风暴会议了。
1.生产网格
第一种用法示例当然是在生产环境中使用网格计算了。对于那些要求实时用户交互的应用(如SaaS公司的应用)来说,不太可能这样使用网格。但对于某些IT组织来说,它们的应用中具有非常复杂的数学运算,如用于控制制造流程或航运控制等,这时网格计算就非常适用了。由于历史原因,许多这样的应用都驻留在大型机或中端系统中。许多技术组织都发现,无论是从供应商还是从软件开发的角度来看,要支持这种又大又老的机器,都是非常困难的。现在越来越少有工程师知道如何在这种机器上编写或者运行程序,也越来越少有人愿意放着Web程序开发技术不学,而学习这种技术。网格计算环境为这种陈旧的技术同时提供了机器的支持和软件开发的支持。把应用从一一台战
略性硬件上迁移到运行在许多同质化硬件上的网格中,就能减少你对一个供应商的支持和维护的依赖性。网格不仅能为你制衡供应商,还可能会为你的组织极大地节省成本。同时,你应该很容易找到经过培训的工程师和管理员,他们知道如何运行网格,至少你也能找到些员工,愿意去学习一些新技术。
2.编译网格
下一个示例是把网格计算基础设施用作编译机。如果你的应用在你的台式机上编译也只需花费几分钟,这样做未免有点大材小用,但也有许多应用如果运行在一一台主机或开发者的机器上,要编译完整个代码库,可能需要几天的时间。这时使用编译场或网格环境,编译就会变得非常快捷。编译很适合采用网格来做,因为编译工作可以被划分成许多子任务,而且它们都能被非顺次执行。编译后期的工作(包括连接)开始变得比较有顺次性,因此不能在网格上运行,但早期阶段还是很适合分工的。
大多数公司每晚会编译出一个签人代码的可执行版本,这样需要测试这个版本的人就都能够访问它,此外还可以确保代码真的被编译成功了。如果不知道签人代码是否被正确编译了,那么在质量保证工程师测试这个版本之前,就需要软件开发工程师花费几小时(甚至几天)的工作来修复它。如果每天都不能编译成功,都要等到最后一步才能让这个版本运行,这样会给软件开发人员造成延迟,很可能会使软件开发人员不签人代码,直到最后才签人一次,这样会增加丢失工作成果的风险,还会在代码中引人很多bug。每晚都编译代码库中的源代码,就能避免这些问题。晚上可以用于编译的空闲资源是测试环境。它们通常只在白天使用,晚上可以占用它们,从而增加了编译机器。这种CPU拾遗的概念我们之前讨论过,这只是它的一种简单实现,能够帮助你节省许多硬件方面的成本。
对于C、C++、ObiectiveC、ObjectiveC++语言来说,要实现一个分布式的编译流程,只需要运行distcc即可,正如它的站点(hp://ww/.distcc.org)所声称的。这是一个快速的、免费的编译器,只需在编译网格中的所有服务器上运行istcc后台进程,把这些服务器的名字存放到一个环境变量中,然后启动编译进程即可。
3.数据仓库网格
我们要介绍的下一个例子是把网格用作数据仓库基础设施的一部分。一个数据仓库有许多组件,从主源数据库到用户查看的最终报告,不一而足。一个可以利用网格环境的部分是数据仓库的提取一转换一加载(ETL)过程中的转换阶段。ETL流程指的是如何从主源数据库中提取数据,然后把数据转换为不同的形式(通常是非规范化的星型模式),再把它们加载到数据仓库中。其中,转换的步骤可能需要大量的计算,因此是利用网格计算能力的主要候选者。
转换流程可以只是使数据非规范化,也可以是汇总几个月来上千个交易的销售数据。像汇总几个月甚至一年的数据这样需要高强度计算的处理,通常会被分解成几块,分配给一组计算机运行。这样做是非常适合网格环境的。数据量过大通常是造成不能按照客户或内部用户要求按时完成作业(如ETL)处理的原因。当然,你应该考虑如何限制你要保留和处理的数据量,但你所希望得到达到流量猛增,也可能会导致大量的数据增长。一个解决方案就是为ETL实施一个网格基础设施,以便及时完成这些工作。
4.后台办公网格
我们想介绍的最后个例子是后台办公处理。在大多数公司中,这样的后台办公处理的一个示例发生在每月财务结算时。这个时候通常有大量的处理、数据汇总和计算。通常这是由企业资源规划(ERP)系统、财务软件包、自主研发的系统或这些系统的组合来做的。如果系统不是专门被设计为在网格上运行,那么用这些现成的系统在网格计算基础设施上进行处理,可能会非常困难,虽然不是没有可能。通常非常大的ERP系统都能够进行很多定制和配置。如果你曾经负责过这样的处理,或者等待这种处理结束等了几天,那么你一定会认同我们的观点,即在几百台主机上运行这个处理,在几小时就完成它,这是一种划时代的进步。有许多后台办公系统都需要高强度的计算,而且只在每个月末处理一次。这些系统包括开发票系统、再订购系统、资源规划系统以及质量保证测试系统。你可以以这些为出发点,列出那些潜在的可能改进的地方。
在网格上运行生产环境、使用网格进行编译、在网格上实现部分数据仓库环境以及在网格上进行后台办公处理。我们知道还有许多可能的实现,这里只是给你提供一些例子,你可以利用它们提出自己的应用使用网格计算的方法。之后你就可以分析这些网站设计方法的优缺点,并赋予它们权重。
>>> 查看《网格计算的不同用法》更多相关资讯 <<<
本文地址:http://nlpc.cn/news/html/3906.html