Sunday, September 17, 2006

Golden Bits or Fool's Gold

One of the more popular open source business models is the "golden bits" model. In this model, the term "certified" or "certification" comes up often during the sales cycle. But what does "certification" really mean?

Generally it means that there is a 100% probability that a certain configuration of technology has passed a certain set of tests. Unfortunately, the probability of that technology configuration matching your system preferences multiplied by the probability that the test cases mirror exactly your application workload is equal to 0%. This reality explains why IT shops that only buy "certified" solutions, open source or not, still have four layers of application promotion: development, test, QA, and production. These layers are required to "certify" that the "certified" solutions will actually work for the customer. It also explains why the services segment of the IT industry is the largest by a significant factor, even in the face of so many "certified" solutions.

The problem with "golden bits" is that gold is useful for certain things like jewelry and corrosion resistant electrical contacts. But, for example, carbide steel is better for milling and drilling. Diamonds are better for making grinding wheels. It really depends on what you are attempting to accomplish with the materials you are provided. Fortunately, the current trends in the software industry are favorable to the needs of the customer with respect to software becoming more modular and malleable to workload specific requirements.

The first favorable trend is open source itself. With open source, at least you have the option of changing a particular component to suit your needs. It certainly requires an investment in skilled developers and software architects to carefully choose a sustainable path, but it is likely that this investment could be cheaper than the alternative -- being stuck in a technological dead end with the proverbial helicopter airlift to better ground as the only way forward. Be certain your open source vendor supports your needs to modify the components to suit your unique application requirements.

The second favorable trend is service oriented architectures (SOA). With SOA, integration among "loosely coupled" components occurs based upon a network access standard. Certification is irrelevant because the provider can run the "service" as a black box if the system software approach for a vendor's component is not consistent with the system software for components provided by the internal company developers.

The third favorable trend is server virtualization. With server virtualization, the system software that supports the application can be decoupled from the system software that abstracts the hardware and exposes the network. Each application component has its own operating system and related system software, and multiple components are integrated on the same hardware via a virtual machine wrapper. Certification simply means that each component can be delivered as a virtual appliance, which eliminates all potential for conflicts among components. Certification is real because the entire unit is integrated and maintained by the application provider. If it breaks, it is their problem.

"Golden bits" will never be a substitute for great software architecture. Be wary of any vendor hawking "golden bits" or "certification" because the reality is there are likely lots of hidden costs if they have not implemented a solid software architecture.


Post a Comment

<< Home