政府部门的 Linux 应用:加州空气资源委员会的秘密揭示
在最近的一篇文章中,我批评了加州空气资源委员会 (ARB) 的一位成员对 Linux 桌面的评估。 了解公共部门供应商的运作方式后,我希望阻止基于非企业级 Linux 桌面的评估而可能发生的对加州开源倡议的破坏。 这促成了 ARB 的首席信息官 Jim Welty 和我之间的一些沟通,最终我们与他的主要工作人员进行了电话会议。
在与 Bill 交谈时,我发现了一个模范州政府机构,该机构十多年来广泛利用 Linux 和开源软件。 该团队认为 ARB 在全国空气质量管理方面名列前茅,在全州开源 IT 解决方案方面名列第一。 当我第一次与 Welty 交谈时,他立即指出他的团队对该机构的 IT 成功负责。 他指出 Bill Fell、Harry Ng 和 Narci Gonzales 是在 ARB 推动、构想和编程开源系统使其发挥作用的倡导者、远见卓识者和程序员。
加州 ARB 记录了开源软件的有效性和成本节约,证明了开源模式可以省钱; 提供与专有软件相当或更好的性能; 提供可靠性、灵活性以及免受许可麻烦和违规行为的困扰; 并提供来自各种供应商和用户群体的支持选项。 正如 Bill 所说,“管理层倾向于认为,并非所有出色的或优雅的解决方案,无论是 IT 还是其他方面,都需要昂贵,都必须预先包装或收缩包装,或者包含所有花哨的功能。 目标是以合理的成本促进和提高个人生产力。”
Bill 还公开讨论了他的机构要控制软件。 他表示,开源使其机构能够控制升级和源代码。 他还认为,该机构的软件允许用户访问数据,而无需他们保持与专有解决方案同步。
Bill 紧接着开始讨论梅特卡夫定律,该定律由 PARC 的 Robert Metcalfe 提出,他也被称为以太网之父。 梅特卡夫指出,系统的价值等于其节点数的平方。 ARB 团队看到了这种价值,因为其互联网站点是有机组织和支持的。 随着每个人都参与分享他们的知识,组织的知识呈指数级增长。
在 ARB,每位员工每天都可以为网站做出贡献。 Bill 的团队称该过程是有机的,因为其站点是从下往上刷新的。 Bill Fell 说:“我们保持了模型的开放性:任何人都可以贡献。 我们为每个项目至少设有一个页面,并授权项目人员以 [其] 自身最佳利益来维护页面的更新。”
ARB 首次使用开源产品是为了解决信息传递问题。 Welty 这样描述这个过程:
这 [很] 有道理,因为互联网的开发是为了支持全球不同系统之间的信息交换。 我们着手使用开源产品(例如 LAMP 套件)开发系统。
我们在 1991 年加入了互联网运动。 我们与 Teale 数据中心合作,构建了将我们的空气质量建模人员与圣地亚哥超级计算机连接起来所需的以太网基础设施。 我们还向董事会推出了基于互联网的电子邮件,使用了 Eudora 和 Pegasus 等产品。 那是互联网的原始时代。 你们中的一些人会记得使用互联网搜索引擎,其名称如 Gopher、Archie、Veronica; 这些名称取自 Archie 漫画书。
我们的万维网服务计划始于 1994 年,当时 Web 只有 50 台服务器。 今天,有超过 3500 万台。
1995 年,ARB 购买了 50 美元的 Red Hat 发行版,以支持代理服务,从而保护易受黑客攻击的 NT 3.51 服务器。 该机构随后实施 Linux 以支持其邮件列表程序、FTP 服务器、网络 DNS 和互联网搜索引擎。
从 2000 年开始,ARB 开始使用 Linux 作为操作系统、Apache 作为 Web 服务器、PHP 作为脚本语言开发基于 Web 的应用程序。 根据 Billy 的说法,“Harry Ng 几乎启动了所有使用 LAMP 的操作系统程序。”
ARB 在 2000 年将其 NT Web 服务器迁移到 Linux。 根据 Bill 的说法,IT 部门努力的最终结果是可以衡量的成本节约。 他还声称,该团队大大提高了对互联网系统的理解,并受益于廉价的冗余、系统可靠性、免受供应商许可策略的约束以及对运营的更大控制。 在他的一次演讲中,Welty 说:“我们的经验证实了贸易杂志一直在说的关于这些开源产品的说法。”
在一份名为 “ARB 的开源倡议”的案例研究中,Bill 写道:
我想分享我们在将应用程序从商业平台迁移到主要基于开源产品的平台上的经验。 1994 年,我们的排放清单系统组正在本地 HP/UX 服务器和 Teale 数据中心托管的 Sun Solaris 服务器上开发 Oracle 数据库。
该应用程序是使用 Oracle 的 PL/SQL 以及 Oracle Developer 工具套件构建的。 该设计要求用户通过 telnet 连接到相应的服务器,以访问字符模式菜单、数据输入表单和报告。 到 1995 年,似乎 Web 和 Web 浏览器提供了一种更好的方式来向客户端交付应用程序以及向公众提供信息。
因此,我们购买了 Oracle 的 Web 应用服务器,并用它构建了 ARB 的第一个基于 Web 的应用程序,取代了排放清单系统的 telnet 界面。
不幸的是,我们发现 Oracle 早期用于开发 Web 应用程序的工具正如他们所说,“存在问题”。 每个新版本都添加了显着不同的功能。 这导致了稳定性问题:员工不得不重新学习 Oracle 不断变化的 Web 开发工具并重写应用程序。 成本也成为一个因素:每个新的“更大、更改进”版本的 Oracle Web 服务器和工具都变得更加昂贵。
随着服务器许可成本的增加,我们发现更难为第二个或第三个 Web 应用程序服务器(测试、开发或故障转移目的所需的服务器)预算。 使用 Oracle Web 应用程序服务器也意味着应用程序服务器只能与 Oracle 数据库一起使用。 ARB 还使用了其他数据库,如 DB2、SQL Server 和 Microsoft Access。 Oracle Web 应用程序服务器与这些其他系统无法互操作。
到 1999 年,我们开始寻找替代软件,该软件应:1) 获得和维护成本更低,2) 提供更高的稳定性,3) 提供更好的编程工具,以及 4) 提供更好的互操作性。 鉴于我们有使用 Linux/Apache 支持我们的代理服务器、ftp 服务器、DNS 和邮件列表服务器的经验,我们寻找开源产品来替代 Oracle Web 应用程序服务器。
我们发现 Linux 和 Apache 再次满足了我们的性能要求。 顺便说一句,Apache 软件现在已在超过 63% 的 Web 服务器上使用。 然而,我们仍然缺少一种应用程序脚本语言来处理事务。
实际上,我们本可以使用的开源脚本语言有很多,例如 Perl、C、Python。 我们偶然发现了 PHP。 PHP 是一种专门为开发 Web 应用程序而开发的语言。 它还具有与各种数据库的连接器,包括 Oracle、DB2 等。
PHP 还与 Linux 和 Apache 集成良好,并包含许多简化 Web 应用程序构建的功能。 此后我们发现,PHP 用户/开发人员社区定期改进并逐步向该语言添加功能。 我们最初使用 Linux/Apache/PHP 而不是 Oracle Web 应用程序服务器的试验进展顺利。
存在一些电信问题,但我们发现互联网上的用户组是解决这些问题的丰富信息和帮助来源。 最后,虽然我们将数据库本身保留在 Oracle 中,但我们将排放清单应用程序的其他组件替换为 Linux、Apache 和 PHP 套件。
我们的程序员能够轻松集成这些功能,并且他们对这种组合为开发 Web 应用程序提供的广泛功能印象深刻。 向开源产品的更改对用户是透明的。 并且安全不是问题,因为数据库和 Web 应用程序服务器仍然位于我们的防火墙之后; 所有对系统的公开查询都由代理服务器处理。
我们估计我们的成本约为 27,600 美元:操作系统 1,600 美元; Web 应用服务器 20,000 美元; 开发软件 6,000 美元,供 6 名程序员使用。 相比之下,通过使用开源产品,我们只支付了 59 美元。 而且我们没有持续的年度维护费用要求。
此外,使用开源解决方案,我们可以根据需要复制尽可能多的系统实现,不仅用于生产和测试,还用于管理。 培训、操作恢复备件等,均无需成本,也无需担心许可违规问题。
自从迁移到 Linux/Apache/PHP 套件以来,我们发现了 MySQL(my sequel),这是一种用于开发数据库的开源产品。 该产品与 Linux/Apache/PHP 套件集成良好。 我们已经使用 MySQL 构建了几个中小型系统,并发现它很容易与市场上的专有产品(如 MS ACCESS、MS SQL,甚至在某些情况下与 Oracle)竞争。 它可以快速处理 JOIN、事务和查询。
以下是我从 Bill Welty 那里了解到的另一件事:ARB 拥有杰出的管理文化。 没有这种环境,IT 部门的任何成就都不可能存在。 这是全球其他机构可以学习的东西。
正如 Bill 在我们的谈话中所说,“ARB 的 IT 计划是保守的。 我们开发的系统必须有用、可靠、及时、准确,并且易于与外部世界集成。 鉴于当今的预算性质,系统还必须持久耐用且高效。 其次,ARB 的 IT 计划具有很高的执行可见性。 作为首席信息官,我直接向执行办公室报告。 我们的信息安全办公室是集中式的,我们的项目管理办公室也是如此。 执行办公室强烈支持对 IT 以及非 IT 工作进行有效的项目管理。”
施瓦辛格州长,我希望您能花更多时间与 Bill Welty 及其团队在一起。 我确信他可以帮助您实现并超越您让加利福尼亚州成为更适宜经商之地的目标。