A recent review of the Collax Business Server product that I wrote for TechRepublic recently prompted an email exchange between myself and Boris Nalbach, CEO of Collax. Mr. Nalbach graciously accepted my offer of performing an interview via email (Collax is based out of Germany). Collax uses many new and old technologies in some interesting ways, and I thought that this interview would be useful to programmers and developers are all types.
J.JaJJ: How did Collax as a company get started? BN: Collax was founded in June 2005 by Bill Hite (formerly of ON Technology), Olaf Jacobi (formerly of Cobion) and me (formerly of SUSE and Vice President Linux Strategy at Novell). Collax acquired the technology from Pyramid Computers, along with development and support team members. We built out the technical team and established European offices in Ismaning/Munich Germany, and established Collax Inc. in the US. Our first round of funding came at that time, with Atlas Ventures, Intel Capital, and Wellington Partners investing in the company. JJ: Where did the idea for Collax Business Server get started? BN: Linux and Open Source are being adopted among larger corporations —that chasm has been crossed. Leveraging the advantages of these technologies -- reliability, scalability, independence of roadmaps and cost savings -- these companies typically have substantial in-house knowledge. However, small and medium-sized companies have so far been largely blocked from taking advantage of Open Source since they usually do not have that know-how, and hiring consultants often times makes no commercial sense because the deployments are not large enough to justify this. Collax was founded to address the needs of the SMB market segment: we make these technologies accessible for them. We make sure that they can leverage all the benefits, without being exposed to the risks and complexities. JJ: What makes Collax Business Server different from other similar offerings in the market place? BN: The main advantage is that individual server components are bundled under a single, user-friendly, web-based interface. This not only simplifies the operation and maintenance of the server software, but also keeps at bay the complexities of Linux from the user. Thus the user can operate Linux technology without needing extensive know-how. JJ: Why would a company choose Collax Business Server over a standard Linux distributions such as REHL or Debian or SUSE? BN: Standard Linux distributions offer nearly 2000 open source software packages – many serving similar purposes and geared toward larger companies with IT staffs. Without dedicated Linux expertise, the set-up, administration and maintenance of these server solutions are not feasible for the typical small and growing business. Collax selects best of breed open source components, checks the dependencies and interoperability, and deeply integrates these components into the operating system so that the system can be operated via a web-based user interface. We make the difference between a bunch of great technology bits and pieces and several shrink-wrapped solutions. This allows SMBs access to the functionality, scalability, security and rapid innovation of Linux and open source without needing to learn a new operating system. JJ: What were some of the challenges Collax faced when putting together the Collax Business Server product? BN: Linux is complex. Identifying and then integrating the necessary components to run an SMB from the myriad Linux projects requires a high level of expertise. That is the expertise that we at Collax have and that the SMB generally do not. So sorting through all those choices and thinking like an SMB was one of our biggest challenges, but also our core strength. JJ: What programming languages and techniques were used to create the Web interface for Collax Business Server? BN: For the system as a whole it is all the technologies and programming environments that the involved Open Source technologies bring. For our Integration Framework and GUI there is some C and C++ and lots of Perl, which turns out to be a very decent environment for dealing with the APIs and configuration files of all the components. The GUI itself so far has been the classic HTML, XML and CGI implementation. With the next upgrade of our products, which is due out in a couple of weeks, we are reinventing all of this by doing the whole GUI in Ajax, browser server communication is implemented on the back of Json RPC. This takes performance, software ergonomics as well as interoperability to a whole new level, stay tuned! JJ: Does Collax contribute code to the Open Source Community? Why or why not? BN: Absolutely yes. We want to be a good citizen in the Open Source world, and a proactive one at that. We closely cooperate with many of the communities, our contributions ranging from improvements and bug fixes to adding new components to creating new components. Some of my developers are core team members. As an example, we will shortly release a new piece of code that maps kernel events to the user space. We use that to provide a couple of advanced functionalities in networking, but the code is pretty general in nature, and can thus be put to good use for completely different purposes. JJ: Are there plans to release an API for Collax Business Server to allow customers or third party developers to build extensions and plugins to Collax Business Server? If so, would they sell and support their products themselves, or would Collax resell and support that software? BN: We are working on a software developer kit (SDK) that will allow third parties to plug into our API and run their applications within or on top ofthe Collax Business Server environment. With regards to go-to-market, wewould then typically encourage these partners to sell the complete solution, as they are the people that have the domain experience for the particular application they develop. Where a solution fits into the competency of Collax as well as our eco-system close to our customers, Collax will consider to take responsibility as well. A good example for this approach is our Collax Open-Xchange Server, where we partner with another Open Source vendor to provide a completely integrated solution stack. JJ: Where are most of your customers located in? BN: Collax has approximately 8,300 Appliances and Software Packages currently installed worldwide. As a result of our history the majority of our customers are based in Europe, and we expect by the end of 2007 a growing percentage of our base will be outside of Europe in the Americas and even Asia. JJ: How difficult was performing the localization of Collax Business Servers for various languages? BN: This is not difficult at all, as our tool-chain and Integration Framework as well as GUI is designed to support this. Localization can be done completely independent from the product development. JJ: What differences do you see between the European software market and the software market in the United States? BN: Historically, I believe there is a trend of being more open to Open Source in Europe. But that is changing over the last year or so, where you can see more and more folks in other countries, especially in the US, becoming keen to leverage the advantages. The current investment climate around Open Source companies seems to support this as well. JJ: What kinds of programming and testing methologies were used during the development of Collax Business Server? BN: With regards to programming there is two sides to this: for the Open Source components that we integrate we adapt to the methodologies these bring. For our Integration Framework and GUI we have an object-oriented approach that allowed us to build a very strong and powerful infrastructure that supports us to innovate quickly and is easy to maintain and quality assure. It is a layered design where as you go higher in the software stack the abstraction level raises. For testing, you need to make sure that you exclude human error as much as you can. We design for testing, testing is built into our development work from the beginning, so we can easily do component and system testing, both as a black- and white-box approach, as well as highly automate the effort, which makes it reliable and repeatable. JJ: What is your development environment like? BN: For our development work we pretty much use the standard Open Source tool-chains which we embed in a highly automated build environment that provides a 100% consistent and repeatable code building. This is very important to guarantee quality as well as quick turn-around times for security issues. We have designed this ourselves. For testing, which again is integrated into this build environment, we have a bunch of Open Source technologies as well as our own extras that provide for automated testing in a networked environment. This allows us to implement pretty complex test scenarios with several machines working together in the network, so we can go beyond single machine or product tests and implement complete scenarios that our customers or technology partners run.
Testing is all about making things calculable and repeatable, that's what our environment enables us to do.JJ: How do you recruit and retain top engineering talent at Collax? BN: What we find is that our vision, which is all about making Open Source technology accessible to more people, is attractive to engineers. Then, the opportunity to work with the knowledgeable and cool engineers already on the team seems to be a lot of fun. That’s what makes me feel good about it every day. JJ: What do you have planned for the future of Collax Business Server? BN: We talked about the coming upgrade and SDK earlier. This is the next major step. This is actually about making sure that all the stuff that we build becomes available to others, be that community projects, ISVs, system integrators, or customers. Everybody who wants to build a solution stack on the base of Linux is reinventing that integration, installation and deployment wheel, not to mention providing a decent and easy-to-use GUI.
With the tool-chains and frameworks that we provide people can shortcut much of that effort and embed themselves into a turn-key shrink-wrapped environment, with unified management, perfect integration and a streamlined, well-structured and modern GUI. Doing so makes them an integral part of the overall solution, providing our joint customers completely integrated solution stacks, including interoperability between multiple stacks. For customers this turns out as a pretty homogenous IT environment, where they can buy, deploy and run their solutions with ease. If they know how to handle one server, they how to handle all others as well.
We are actually working with a number of select ISVs on the base of our betas to implement that very vision.
For partners, leveraging our infrastructure translates into a more productive working environment. For customers it provides huge savings for deploying and maintaining a solution, while at the same time increasing reliability and ease-of-use.
Justin James is the Lead Architect for Conigent.