The idea of creating a Linux distribution with Firebird database came to me a long time ago when I was structuring the IT department of a company which develops automation software for drugstores.
The problems
In the beginning of 2000 the company's software was based on a client server Delphi 7 solution, accessing a database based on Borland Interbase 6.0. The connection method was the BDE (Borland Database Engine).
All the installations of the system were carried out remotely by the support team, and the install base was about 5,000 customers. The service was provided to all Brazilian states, and Brazil is a very large country.
The default server was Windows NT 4.0 and one of the main concerns for the support team was how to know the end user installed the system, which folder was the database, how the network was set up, among other configuration issues. In other words, the support technician lost a lot of time just understanding the user environment. Only then could they focus on the problem of the system itself.
Another problem was related to the performance of the database server on Windows NT 4.0. Depending on the process performed in the database, the server would be pushed to 100%, and then reboot was required without finishing the tasks.
There was no standard way of installing software on customer servers, and no procedure for best practices for optimizing Windows and InterBase.
Finally, as the support was performed remotely, the company needed to invest in licenses of Norton pcAnywhere. This product ended up being a purchase obligation for the client.
The challenges
I'm passionate about Linux and open source software, and I envisioned that a complete system would have to meet some requirements:
- Easy installation (several customers had no IT staff locally to help)
- Low licensing costs (remove the Windows and pcAnywhere licenses)
- Finely configured settings for the best performance of the operating system and database
- Web interface, so that the client can operate server without necessarily understanding Linux or the command line
- Standardize supportive care, unifying processes in a server that the entire support team knows
- Logging and auditing systems to track causes of malfunctions or corrupt database
- Compatibility with the hardware of the server market (Dell, HP, IBM, and others)
The solution
After the InterBase 6.0 code was open sourced in July 2000, version 1.0 of Firebird was released. It was an open source alternative designed to fix bugs and improve the server database.
A bug was discovered immediately after the opening of the code: the SYSDBA password appeared in plain text within the code. This failure was soon corrected and the benefits of open source system development were already evidenced early on.
Some software was selected to compose a distribution that would be able to solve most of the problems of infrastructure: Red Hat Linux operating system, database, Firebird 1.0, web administration interface based on Webmin, Samba, rsync, bash script routines for backup / restore, VNC for remote access and InnoSetup for client installers.
Research, development, and testing were needed to release the first version of ISO, at the time called Pharmacy Server. There was a lot of resistance by the development and support teams regarding the use of Linux and other open source softwares to solve problems. This was back in 2000, when the Windows 2000 operating system was coming out, and Linux was still a relative
unknown, especially in Brazil.
Finally, we selected a customer large enough so that the tests could be conducted with the distribution in a real environment. It was a drugstore chain with 40 branches and a very large daily operation. The result was such a success that the director of the drugstore never looked back to Windows NT. The performance was 3 times higher in routine, backups, and large reports tasks.
The installation was extremely easy: after inserting the CD into a new server and hitting Enter, the installer took care of everything: partitions, formatting, installing system folders and custom scripts, setting a default IP, and even ejecting the CD. After this, the client called the support staff in charge of finishing processes for the deployment of customer data.
The remote connection made via VNC and IPTables took the server from the client directly to the desktop of the technical
service.
The web interface facilitated client and technician contact with the new product. It featured tasks that made sense to the client's workflow: no difficult commands, console screens, or other common features of Linux at the time.
The Pharmacy Server was established by meritocracy, proving itself as the best platform in terms of performance, cost of ownership, support, and process automation.
Meritocracy is another very important feature of the open source world: software and solutions that endure are those that bring value to people and businesses.
The superiority demonstrated in the environment meant that everyone in the company could quickly comprehend and experience firsthand the value of the new solution. Thus, new versions and updates were added to the Pharmacy Server, taking into account both the requirements of customers and the automation product support.
In 2005, in version 5.0, The Pharmacy Server was mature and solid, running on a central server that supported over 300 drugstore chains in Brazil, and has been featured by Red Hat as a certification success story.
In 2010, after mergers and acquisitions, the company's operation was terminated and Pharmacy Server was shut down. Its last version used Red Hat 5.4, Firebird 1.5.3, and a custom version of Webmin web admin interface.
The Fireserver project - www.fireserver.com.br
In Brazil, a lot of software uses the Firebird database, and there is a large community of developers using Delphi, C++, and VB still integrating it with their software.
The project wants to bring the same benefits that the distribution provided to the drugstores, but this time for the entire market of companies using Firebird database.
This contribution also affects development companies who don't need to worry about the optimization and standardization of server, so they can concentrate on the features of the software they develop. It also creates opportunities for system integrators, server resellers, maintenance and monitoring companies.
The idea is to create an ecosystem that, in addition to improving database and hardware efficiency, allows the creation of peripheral services such as training, server support, customization, distribution, remote support, data warehouse, and monitoring.
The initial ISO is scheduled for launch in the first week of July and will be a review of the project since its discontinuation. The next step is to change the base OS to CentOS, enabling any company to enjoy the product without having to buy a subscription.
The second step is to create a new web administration interface, renewing utilization resources and modernizing the look. This work will likely be done in PHP.
The other major change is the use of the latest version of Firebird (2.5), providing additional resources and performance optimized database.
In parallel with this work, we are creating an ecosystem that will allow the marketing of services by various companies over the Fireserver: hosting, virtual machines for use in cloud providers, and training. And perhaps the most important: the adoption by the software companies of the Fireserver as standard server for their solutions. This ecosystem creates added value for customers and opportunities for suppliers.
The team consists of 4 people:
- Myself, Fernando Pimenta, as Project Leader and Linux Distro Developer
- Carlos Pimenta: Coordinator of web interface design (nicknamed Webface)
- Carlos Cantu: Firebird specialist and maintainer of one the most important Firebird communities in the world, Firebase
- André Santos: C++, Python and PHP Developer
I believe that soon we will be returning all the support that the open source community provides to those who seek solutions in it, and we'll be able to effectively contribute to the maintenance of a world of open source and open minds.
19 Comments