既要治理对内的应用程序又要治理对外的 Web 站点,这种多样性的工作使得 Steve 的团队拥有另人惊异的、全方位的、使用 Oracle 产品的、综合的 Web 经验。 Steve 说,“我们已经部署了 OracleAS Container for J2EE (OC4J)应用程序、Web 高速缓存、移动服务、文件代理、门户—您可以讲出这些名词,而我们可能已经将这些东西应用到生产环境中服务于大量的用户并要求这些应用程序具有最好的可视性和可靠性。”
但是无论是一个内部的应用程序、一个 Web 站点还是一项托管服务,对于 Steve 的团队,每种情况都面临着相同的商务问题。“它总是具有很高的可用性。多年以来,我们发现我们正在对内部或外部的用户提供服务并不会对它产生什么影响。同样的规则也适用于我们如何来接近并实现高的可用性。”
而且为一家业界领先的、全球性的软件公司工作,也给我们带来了一些不平常的挑战。Steve 说,“Oracle 是时刻变化的环境,在这里存在很多伟大的思想,一个崭新的应用程序可能在第二天就过时了。我们在 Global IT 中的工作就是确保 Oracle 在这些站点所部署的应用程序是稳定的,并运行得很好。从本质上讲,我们提供硬件和软件,来公司的站点和部署服务。
开始着手预备并加马上运行起来 对于 Steve 的团队,部署新应用程序的过程是一门艺术也是一门科学。Steve 团队要与研发人员,以及 Oracle 内部的设计师、网络组、数据中心团队,甚至是采购人员进行大量的协调工作。下面 Steve 将解释这一过程:
“一旦有一个新的研发项目需要我们来进行部署,就会牵涉到许多部门。就象画画一样,我们在 Global IT 就是一块空白的画布。开发团队可以向我们提供所有的颜料和画笔。然后我们就将不同的部分整合在一起形成一幅画。我们从网络连接开始,这样我们就可以将所需要的新服务器接入到 Oracle 的主干网中。
“然后我会与采购和运作部门相互配合来选购最适合于该项目的服务器。我还会与 Global IT 中的体系结构组相互配合来确保我所要购买的服务器能够满足新应用程序的需要并能被我们现有的基础架构所支持。
Steve 的团队最终确定实施这一项目的最佳方式就是按从前端到后台的方式进行。“最终目标就是要将 OTN 移植到门户上。但是我们还希望运行在 linux 上的 OTN 可以真正证实 Oracle 的 Linux RAC 解决方案是可行的。基于这一点,我们希望新的 OTN 的性能即使不能超越现有 OTN 的性能,也不能比现在差。为此使用现有 OTN 的性能指标数值,我们可以向后对比的方式来工作,以确定什么是新体系结构所需要的。”
明确性能目标帮助 Steve 的团队架构了这个新的门户解决方案,但这还不能称作是真正的科学。 “前端是 Web 高速缓存,以及 HTTP 服务器和门户服务器。其后则是位于两节点 RAC 集群上的数据库服务器,为门户数据库提供服务。”
除了产品的体系结构以外,Steve 确保有一个阶梯层作为开发的一部分。“假如没有临时分区,我们就寸步难行。”,他这样解释说。“这是我们的必由之路,因为在你进行测试和部署的时候,你会想要将可能出错的地方划定在一个区域内,并进行验证,得出结论。”例如,你可能认为在 Web 高速缓存中调整一个参数会出现问题,但最后却发现这样做是不对的。为了回过头来再次进行观察,同时又不想中断生产,那就必须将临时分区作为系统的一部分。”
利用 Oracle 产品套件(Oracle 应用服务器和 Oracle 数据库)中构建的高可用性,就有可能配置和架构一个解决方案使这些特性发扬光大。使用 Dell/Linux 解决方案的成本是非常高效的,因此只需在高端服务器解决方案上花费很小的成本就可以实现。这就使得 Global IT 能够获得更多的服务器来支持故障切换或是备用解决方案,这样一来在构建高可用解决方案的同时还可以兼顾到灵活性的提高。
Steve 经常会用到的另一个窍门就是创建他自己的 psuedo 网格环境。 “我们有双倍的额外服务器可以使用,已经配置好并预备就绪,一旦需要就可以运转起来,”,他这样解释说。这些额外的服务器所能作的不仅仅是备份,在网络流量突增的时候,这些服务器可以真正地部署进来。“就像在 OracleWorld 的前一周,我们需要更优的性能,于是我们加入了一些额外的服务器,并在使用高峰期间,提供了比 OTN 期望水平更高质量的服务。一旦点击率下降,我们就可以将这些服务器撤出,让它们去完成其他任务。”
在需要“额外的机箱”只以及体系结构不同部分需要进行交换时,廉价的 Linux 选项才是最适用的。通常认为使用更廉价的软、硬件,比如 Lintel 机箱,就意味着需要更多的软、硬件治理,而且与昂贵的 Sun机箱相比很可能会存在一些性能上的问题。事实让 Steve 明白这种简单的推理并不总与事实相符。
Steve 说,“使用 OTN 之前的体系结构,我们有四个 Sun 机箱来运行 Web 高速缓存,还有四个 Sun 机箱运行 AIS 服务器。我们用三个 Linux 服务器来替换这八个 Sun 服务器,结果我们即使没能获得更好的性能也至少获得了同等的性能。”据 Steve 说,在成本方面更没有争议。“我还可以为每个 Solaris 服务器买 6 个 Lintel 服务器。”
Steve 建议最起码也要对体系结构进行权威性的负载测试和 OS 评测—非凡是磁盘 I/O、内存的使用情况和 CPU 的使用情况和这些部件在负载下的表现。“假如你在 OS 中发现了一个热点,那么你是否能确定是什么引起该热点的吗?查看一下可能引发这一热点的技术。是 java 中的 OC4J?是 HTTP 或 Apache?是 Web 高速缓存?以上任何一