Platform choice or single platform?

A report in September talked about the danger of the computing landscape being dominated by a single platform. The report dwelt on the risk inherent in the IT infrastructure relying on one kind of system. NZ Developer invited Grant Straker and Tony Stewart to put the case for writing for multiple versus single platforms.

A US report in September spelt out what it considered a danger of the computing landscape being dominated by a single platform. The report — "CyberInsecurity: The Cost of Monopoly. How the Dominance of Microsoft’s Products Poses a Risk to Security" — dwelt on the risk inherent in the IT infrastructure relying on one kind of system. NZ Developer invited Grant Straker and Tony Stewart to put the case for writing for multiple versus single platforms.

True freedom is platform choice

by Grant Straker

Choosing to run and develop on multiple platforms is a move we decided on more than two years ago, having being a Windows-only environment until then.

We made the decision not because one system is better than the other, but because it opens up many more opportunities and allows some options in how we approach technical problems, without being locked into a specific vendor or platform. With standards such as web services becoming more widely used, ease of integration between disparate operating systems is also much easier.

First, let’s look at the benefits of developing for multiple platforms. To get the facts on the table, let’s have a look at operating system market share.

Market makeup

In the server market, Windows can claim 55% of the 2003 worldwide market, followed by Linux with 25%, Unix with 12% and the rest 8%.

In a nutshell, develop only on Windows and you can service just over half of the world’s market; develop (probably in Java) to run on all mainstream platforms (Windows, Linux, Unix, Mac) and have the ability to service 92%.

Microsoft is too big to not have a solution that integrates with its platforms and languages. However, don’t forget the likes of Oracle, PeopleSoft, IBM, Sun and BEA are J2EE Java-based systems all getting a bent for Linux. Keeping a foot in both camps can’t be a bad thing.

There are some definite market benefits to developing your software to run on multiple platforms. In our case, 40% of our software sales run on non-Microsoft platforms. These are sales we would not have made if we did not run on Linux or Solaris and include clients such as Fisher & Paykel, Housing New Zealand, Tourism Queensland and London Metropolitan University. It’s also no coincidence that the likes of Gen-i have recently bought an open source company.

More secure

Does running multiple environments make you more secure? Yes, I believe it does. In our environment we run a Windows domain behind a Linux firewall; we also run a number of Windows and Linux web and database servers. We write all our software to run on either windows or Linux without any additional configuration required (the wonders of ColdFusionMX being a rapid application language for Java — write once, runs anywhere).

If our Windows servers go down we can easily move the applications off them to run on a Linux box and vice versa; our clients have the same luxury. Having been hit by the odd SQL Server (we also ensure our apps are database-independent) and IIS virus in the past, I speak from experience. When it’s 3am and you’re stuck in the server room with the world turning to custard, the option of saying “Okay, let’s move everything onto a Linux server” is a nice one to have.

What about the hassle of maintaining two separate operating systems? Sure, this will always entail more work than running one, but not a lot more, and if the other system is Linux, it’s easy to support. Through Samba, all our Linux boxes appear as another Windows machine on our network so maintenance and backups are seamless and we can continue to use all of our Windows-based software. Yes, having all your eggs in one basket will make them easier to carry but it’s not so much fun if you drop the basket.

Freedom rules

The real benefit of a Java-based system is freedom. That’s not freedom of the “They’ve taken it because it’s free” kind that’s often presumed as the explanation for choosing Linux or Java as an alternative to Windows-based technologies. As a technologist, I appreciate the respective appeals of all the major operating systems. And as a business owner, I am also well aware of the commercial benefits and downfalls of each. It is the businesses that seek balance from all the available technologies — commercial, free or otherwise — that will be best positioned in the coming years to meet market demands.

Simply, it is better to be able to bat for both teams and have twice as many opportunities to get runs on the board, not to mention the fact the if one team’s dropping the ball a lot you can go and play with the other one for a while.

Straker is founder and chief information officer of Auckland content management developer Straker Interactive.

Singular platform spells efficiency

by Tony Stewart

It was not long ago that an organisation’s information systems consisted of a single computer with dumb terminals attached. In those days when you chose the vendor of your hardware you effectively bought into its view of the world. All your software and hardware either came from that vendor or a small group of closely aligned independent vendors. Life was simple.

Today, it is a very different environment. The advent of standards and de facto standards has allowed organisations to implement conglomerations of software and hardware from different vendors. The resulting commoditisation has been very effective in driving down the price of software and hardware. For an organisation, the ability to swap one vendor’s products for another without having to replace the entire infrastructure introduces protection from vendor reliance and provides the benefits of competition.

Complexity’s a killer

It is well known that the cost of IT to an organisation is directly related to its complexity. The more complex the IT implementation the greater the skill level and quantity of staff required to support it. Most IT departments are following some form of simplification plans. These may involve tasks such as the replacement of legacy systems with more current technologies or consolidation of different technologies to a preferred technology. Whatever the route taken the aim is to simplify the management requirements by reducing the number of different platforms.

The logical extrapolation of the maxim that simplification drives down costs would be that the most cost-effective IT organisations would operate a single platform with everything from one vendor. Opponents of “monolithic IT infrastructures” cite concerns of reduced security, increased reliance on a single vendor and reduced flexibility.

The security concerns relate to the fact that in a monolithic infrastructure, a single exploit can cause issues throughout the entire infrastructure. Whilst this may be valid in a global sense it is hard to see diversity being a valid defence mechanism within an organisation. It is far better to know your enemy. Monitor security bulletins and take action accordingly.

Defence through specialisation

Likewise, reliance on a single vendor at an industry level may be of concern but it is unlikely to be an issue at an organisational level. In most areas of IT there are any number of organisations offering similar products and services. Having a simple (or monolithic) infrastructure can in fact make it easier to swap vendors as their level of specific knowledge is reduced.

In general the purpose of the IT infrastructure is to support the business. Flexibility is often a key requirement. Lack of flexibility can equally apply to diverse infrastructures and monolithic ones. The complexity of the diverse infrastructure may make change even more difficult than the potential integration of a foreign platform to a predominantly single platform infrastructure.In today’s environment of ever increasing breadth and complexity of IT solutions, specialisation is a key defence.

Most organisations do not have sufficient scale in their IT department to develop and maintain the required level of expertise across a wide range of platforms. Indeed even the largest systems integrators find the need to specialise and to create centres of excellence. Having sufficient critical mass in each technology area is crucial to the ability to invest in staying current with the technology and ongoing development and enhancement of best practice techniques.

Development expertise

At Intergen we have chosen to focus on a single technology platform. We regularly see the benefits of this decision in our ability to deliver complex solutions in relatively new technologies. By constraining our area of expertise to the Microsoft environment we have been able to develop and maintain a far higher level of expertise and currency than we would be able to with a more fragmented approach. We have 30 developers working with Microsoft tools every day completing almost 100 applications a year. The knowledge gained is actively shared within the team, giving everyone a big step up from where they would be if they were working in a smaller group. Most organisations would derive similar quality and cost benefits by focusing on core areas and also by engaging specialists to assist in non core areas.

Tony Stewart is managing director of Wellington development house Intergen.

Join the newsletter!

Error: Please check your email address.

Tags Development ID

More about BEAIBM AustraliaInteractiveLinuxMicrosoftOraclePeopleSoftStraker

Show Comments
[]