【IT168 信息化】维萨公司的前任首席技术官表示,贝宝(PayPal)的升级道路“极具成本效益”。
2005年Scott Thompson离开维萨公司(Visa)、担任贝宝公司(PayPal)的首席技术官职务时,这家互联网公司的数据中心让他大吃一惊。他回忆说:“他们居然在Linux上运行支付系统?!”
Thompson说:“我对支付系统和全球交易系统熟悉得很;可到了贝宝后,我愣是想不明白为什么要用Linux。”他之前负责过IBM大型机和庞大的Sun Solaris系统,而贝宝对计算机系统采取的做法似乎很另类,对与钱打交道是其命根子的这家公司来说更是如此。
贝宝运行着数千台基于Linux、单一机架式的服务器,这些服务器上面运行着该公司的Web表现层、中间件和用户界面。
Thompson表示,自己很快看到了开源软件和Linux技术在经济、运营和开发等方面的优势。他现在觉得还真离不开它们了。
他说:“如果你购买许多大型机,就像我之前在其他公司遇到的那样,升级道路是一次就要砸下二三百万美金。为了进行扩展,只好购买大批的设备。而在贝宝这里,我们的升级道路是,只要把10台单价1000美金的不知名服务器添加到平台的中间层。我们就是以这种方式不断扩展。这极具成本效益。”
贝宝负责核心技术的副总裁Matthew Mengerink表示,这种模式还使得网站高度可靠。他帮助从头开始构建了这套架构。
Mengerink说:“我们拥有数量众多的节点,个别节点出现问题也没什么关系,而不是拥有单一整体设备,或者是牢不可破的堡垒。”他说,使用专有操作系统来扩建拥有数千个故障点的系统不是个办法。他又说:“我们拥有的这种分布式、高度冗余的系统基于Linux和英特尔架构的成本模式。”
这种分布式模式还让这家公司可以在需要时,进行重大转变、分配资源。通用型、积木式的Linux服务器组成了该公司的Web层,很容易切换,以处理各项任务。
比如每天凌晨1点,贝宝都会运行批处理以便调和支付。Thompson表示,这种工作由数据中心的诸多中间层Linux服务器来共同处理;而在其他支付公司,这项工作通常在大型机或者大型对称多处理计算机上执行。
他说:“我们无须让网站停止运作。我们只要分配比较多的服务器资源来运行批处理;每天晚上只要三个小时就能处理完所有这些数据。”
在后端方面,这些成千上万个系统与区区几台大型Sun Solaris设备进行联系,这些Solaris设备运行的Oracle数据库负责保存所有客户数据。一套定制的数据库连接管理系统把来自贝宝网站基于Linux的Web层和中间件层的Web进程,与Sun/Oracle后端系统联系起来。
Mengerink说:“进程进出处理的速度极快。所以,Web层与数据库层之间有一个层来缓冲。而应用程序只管调用数据库,它根本不用理会这个中间层。数据库那边看到的是稳定、老式、持久的连接,不会因暴风骤雨似的连接而瘫痪掉。”
开源助力应用软件开发
使用开源Red Hat Linux还带来了开发方面的几个优势。由于贝宝在生产系统上使用低成本的软硬件,所以在应用开发测试环境几乎可以复制整个活动网站(live site)的状态。这让贝宝的编程人员可以编写贝宝生产应用软件的新版本,然后可以把新版本放到活动网站上,基本上没有什么干扰。
Mengerink说:“如果你的开发人员在与生产环境一模一样的环境上测试系统,到时出现异常情况的可能性要小得多。这至关重要。另外,开源软件还显然大大提高了测试工作具有的成本效益,因为不用支付在测试环境复制活动网站所需要的许可费。”这种模式还帮助贝宝的开发人员可以经常迅速开发出该网站几款主要应用软件的新版本,不过这有利也有弊。
Mengerink说:“我们面临的老大难问题是决定如何使软件开发与活动网站相一致。开发人员比较激进。他们一直中意最新颖、最优秀的测试版,然后借鉴在某个大学网站上发现的某个内核补丁。但业务部门的人员要保守一点;他们觉得,最好就用最稳定、最成熟的软件版本。”
他表示,贝宝开发人员在构建Linux内核以及他们使用的其他开源代码时采取了这种做法,从而有助于提高整个系统的安全性。
贝宝数据中心中的Linux服务器运行Red Hat内核,而内核作了自定义的细微改动,从而为系统增添了额外的安全性。作为一个基本措施,过多的服务、程序包及其他软件都被摈弃了。
Mengerink说:“Linux与开源软件的组合让我们易于进行改动以便扩展,同时具有极高的安全性。”
到目前为此,分布式Linux、开源软件和开源代码的快速应用开发这对组合大获成功;这对组合肯定会继续收到良好成效。