Yaakov Menken, CEO of Capalon Internet Solutions of Baltimore, spent the last month of summer setting up an open source-based call center, called Contact Loved Ones, for families separated by hurricanes Katrina and Rita. Users of that system get their information from MySQL, the open source database that Capalon's developers use most often when setting up Web application systems for businesses. In this interview, Menken explains his reasons for using and recommending MySQL and open source software.
What was your most challenging project?
Yaakov Menken: Five years ago, we were called upon to fill an urgent need. An old acquaintance of mine runs a successful business selling computer parts and peripherals. AT&T gave him four months' notice that they were discontinuing their business-grade shopping cart product.
He and I share a mentor, who recommended Capalon to keep his business functioning. But by that time only two months remained to do the project, but we were able to create and deploy a MySQL-based system capable of handling several hundred orders daily.
Remember, this was in 2000, before open source software like Zen Cart and osCommerce existed.
Today, all of their purchasing, inventory and shipping refer to our MySQL-based systems. Their data in the server farm and in their office need to be essentially in sync at all times, requiring data replication through a secure tunnel. It has continued to grow in complexity throughout the years.
Why did you start working with MySQL, and why have you kept using it?
Menken: We started in Web development and programming, using Microsoft IIS with Microsoft Access on the back end. In early 2000, we decided to change platforms in response to two problems: one, that an overloaded IIS instance could halt the entire Windows NT server on which it ran; and two, that Access, not having been designed for Web or enterprise use, could have severe (not to say, 'catastrophic') corruption issues if multiple parties attempted to write data at the same time.
We did explore an upgrade to Microsoft SQL Server, but it was expensive and would not have solved the first issue. Given my previous Unix background as well as the increasing acclaim for both PHP and MySQL, it seemed the logical choice. My one programmer at the time was as enthusiastic as I was, and we've never looked back.
If a client needs a database, MySQL fits that need. It's as simple as that.
How has MySQL changed since you started using it?
Menken: MySQL has only continued to improve. For example, master-slave replication has been stable for years now and is very reassuring if a server goes down. It is relatively difficult to find MySQL data corruption that can be attributed to MySQL itself, rather than a failed server or full disk. After the underlying problem is resolved, myisamchk -r has worked consistently.
If you could change one thing about MySQL, what would it be?
Menken: We've managed to stress MySQL when it is hit with too many simultaneous complex queries, but that is extremely rare. Stored procedures are on the way, as is ever-better failover and replication.
What other open source software do you use and advise your customers to use on a regular basis?
Menken: The open source model isn't just about getting software for free; it's about getting valuable, stable and rapidly improving software for free.
We utilize and recommend the LAMP combination -- Linux, Apache, MySQL and PHP -- for most any Web application. We also use a host of applications built upon LAMP, such as Wordpress, phpMyAdmin and MediaWiki. We use Nagios, as well as AWStats, MRTG and other Linux-based tools. Now we have latched on to Asterisk as well.
I wish I had space to credit all the developers and projects that have helped us. We also provide Majordomo mailing list services, and have contributed to the support and development of Majordomo for several years.
Could you discuss the pros and cons of using open source software?
Menken: The largest con is that most businesses remain Microsoft based, and there are certain tools related to Microsoft Office that require Microsoft.
The benefits far outweigh those cons. Support from the community is every bit as likely to solve whatever problems we find as is the tech support group for most any proprietary product. If you know what you are doing, Apache's flat files are far faster and more convenient than Microsoft's IIS controller. Linux is faster and more stable than anything that needs to devote resources to a GUI, and we don't use XWindows on servers for the same reason. PHP is a concise but nearly intuitive language that allows for more direct access to more powerful functions than does ASP, similar to comparisons between C and Pascal 20 years ago.
People write new C and C++ programs all the time. Who programs in Pascal today?
What proprietary products do you use and recommend, and why?
Menken: My desktop is WinXP, and I have an Apple laptop. There is still too much business and productivity software that needs to be ported to Linux, though OpenOffice has made huge strides there.
What operating systems do most of your customer run, and which ones do you recommend for Web apps?
Menken: Our hosting clients run the gamut, and I would have to say that most of our co-located servers are running various releases of Windows server products. Others use Linux and FreeBSD.
Only in rare cases do we undertake a development project on anything other than LAMP; usually for a preexisting client, and often one we are gently pressuring to switch.