当时我正在一家为药店开发自动化软件的公司构建 IT 部门,那时创建基于 Firebird 数据库的 Linux 发行版的想法就浮现在我的脑海。
问题
在 2000 年初,公司的软件基于客户端服务器 Delphi 7 解决方案,访问基于 Borland Interbase 6.0 的数据库。连接方法是 BDE(Borland 数据库引擎)。
系统的所有安装都由支持团队远程执行,安装基础约为 5,000 名客户。服务提供给巴西所有州,而巴西是一个非常大的国家。
默认服务器是 Windows NT 4.0,支持团队的主要担忧之一是如何知道最终用户安装了系统,数据库位于哪个文件夹,网络如何设置以及其他配置问题。换句话说,支持技术人员花费大量时间仅仅是了解用户环境。只有这样,他们才能专注于系统本身的问题。
另一个问题与 Windows NT 4.0 上数据库服务器的性能有关。根据数据库中执行的进程,服务器负载会达到 100%,然后需要重新启动而无法完成任务。
没有在客户服务器上安装软件的标准方法,也没有优化 Windows 和 InterBase 的最佳实践程序。
最后,由于支持是远程执行的,公司需要投资购买 Norton pcAnywhere 的许可证。该产品最终成为客户的购买义务。
挑战
我对 Linux 和开源软件充满热情,并且我设想一个完整的系统必须满足一些要求
- 易于安装(一些客户在本地没有 IT 人员可以提供帮助)
- 低许可成本(移除 Windows 和 pcAnywhere 许可证)
- 为操作系统和数据库的最佳性能进行精细配置的设置
- Web 界面,以便客户可以在不必了解 Linux 或命令行的情况下操作服务器
- 标准化支持服务,在整个支持团队都熟悉的服务器中统一流程
- 日志记录和审计系统,用于跟踪故障或数据库损坏的原因
- 与服务器市场硬件的兼容性(戴尔、惠普、IBM 等)
解决方案
在 2000 年 7 月 InterBase 6.0 代码开源后,Firebird 1.0 版本发布。它是一个旨在修复错误和改进服务器数据库的开源替代方案。
代码开源后立即发现一个错误:SYSDBA 密码以纯文本形式出现在代码中。这个错误很快得到纠正,开源系统开发的优势在早期就已得到证明。
选择了一些软件来组成一个发行版,该发行版能够解决大部分基础设施问题:Red Hat Linux 操作系统、数据库、Firebird 1.0、基于 Webmin 的 Web 管理界面、Samba、rsync、用于备份/恢复的 bash 脚本例程、用于远程访问的 VNC 和用于客户端安装程序的 InnoSetup。
需要进行研究、开发和测试才能发布第一个 ISO 版本,当时称为 Pharmacy Server。开发和支持团队对使用 Linux 和其他开源软件来解决问题有很多抵触情绪。那是 2000 年,当时 Windows 2000 操作系统即将问世,而 Linux 仍然相对
未知,尤其是在巴西。
最终,我们选择了一个足够大的客户,以便可以在真实环境中对发行版进行测试。那是一家拥有 40 家分店且日常运营规模非常大的连锁药店。结果非常成功,以至于药店主管再也没有回头使用 Windows NT。在日常操作、备份和大型报表任务中,性能提高了 3 倍。
安装非常简单:将 CD 插入新服务器并按 Enter 键后,安装程序会处理所有事情:分区、格式化、安装系统文件夹和自定义脚本、设置默认 IP,甚至弹出 CD。在此之后,客户致电负责完成客户数据部署流程的支持人员。
通过 VNC 和 IPTables 建立的远程连接将客户的服务器直接连接到技术人员的桌面
服务。
Web 界面方便了客户和技术人员与新产品的联系。它具有对客户工作流程有意义的任务:没有复杂的命令、控制台屏幕或当时 Linux 的其他常见功能。
Pharmacy Server 通过精英管理建立起来,证明自己是性能、所有权成本、支持和流程自动化方面的最佳平台。
精英管理是开源世界的另一个非常重要的特征:能够持久存在的软件和解决方案是那些为个人和企业带来价值的软件和解决方案。
环境中展示的优越性意味着公司中的每个人都可以快速理解并亲身体验新解决方案的价值。因此,在 Pharmacy Server 中添加了新版本和更新,同时考虑了客户的需求和自动化产品支持。
2005 年,在 5.0 版本中,Pharmacy Server 成熟而稳定,在一个中央服务器上运行,该服务器支持巴西 300 多家连锁药店,并被 Red Hat 作为认证成功案例进行了专题报道。
2010 年,在并购之后,公司运营终止,Pharmacy Server 被关闭。它的最后一个版本使用了 Red Hat 5.4、Firebird 1.5.3 和自定义版本的 Webmin web 管理界面。
Fireserver 项目 - www.fireserver.com.br
在巴西,很多软件使用 Firebird 数据库,并且有大量的开发人员使用 Delphi、C++ 和 VB 仍然将其与他们的软件集成。
该项目希望为使用 Firebird 数据库的整个公司市场带来发行版为药店带来的相同好处。
这种贡献也影响了开发公司,他们不必担心服务器的优化和标准化,因此他们可以专注于他们开发的软件的功能。它还为系统集成商、服务器经销商、维护和监控公司创造了机会。
这个想法是创建一个生态系统,除了提高数据库和硬件效率外,还可以创建外围服务,例如培训、服务器支持、定制、分发、远程支持、数据仓库和监控。
最初的 ISO 计划于 7 月的第一周发布,并将是对项目自中断以来的回顾。下一步是将基础操作系统更改为 CentOS,使任何公司都可以在不必购买订阅的情况下享受该产品。
第二步是创建一个新的 Web 管理界面,更新利用资源并使外观现代化。这项工作很可能用 PHP 完成。
另一个主要变化是使用最新版本的 Firebird (2.5),提供额外的资源和性能优化的数据库。
与这项工作并行,我们正在创建一个生态系统,该生态系统将允许各种公司通过 Fireserver 营销服务:托管、用于云提供商的虚拟机和培训。也许最重要的是:软件公司采用 Fireserver 作为其解决方案的标准服务器。这个生态系统为客户创造了附加值,为供应商创造了机会。
团队由 4 人组成
- 我,Fernando Pimenta,作为项目负责人和 Linux 发行版开发人员
- Carlos Pimenta:Web 界面设计协调员(昵称 Webface)
- Carlos Cantu:Firebird 专家,也是世界上最重要的 Firebird 社区之一 Firebase 的维护者
- André Santos:C++、Python 和 PHP 开发人员
我相信我们很快将回报开源社区为那些在其中寻求解决方案的人提供的所有支持,并且我们将能够有效地为维护一个开源和思想开放的世界做出贡献。
19 条评论