The main problem with this type of configuration, though, is that it introduces a serious amount of additional administrative overhead. Taking the example of a Linux Web server and a Windows domain, your IT department would need the skills to configure, maintain and support both Linux and Microsoft systems. You would need an increased staff in order to achieve this, obviously adding to your overall IT costs. Running a heterogeneous system will also increase the overall complexity of your network, which in turn increases the risk of errors or inadvertent data security breaches caused by the diverse systems and components.
There are other practical limitations, too. Not all software programs will be available in every OS version, so you may have to run completely different antispyware programs, for example, with each operating system. This further increases your administrative overhead. You mention using a different platform for development than for other infrastructure operations. Your development environment should certainly be kept separate from your day-to-day network operations, but by developing applications on a different platform altogether, you could end up with increased development costs and deployment issues.
Dig Deeper on Web application and API security best practices
Related Q&A from Michael Cobb
Pirated software is still a major concern nowadays. Uncover how to prevent software piracy and protect your organization's intellectual property. Continue Reading
Shellcode is a set of instructions that executes a command in software to take control of or exploit a compromised machine. Read up on the malware ... Continue Reading
The popular port scan is a hacking tool that enables attackers to gather information about how corporate networks operate. Learn how to detect and ... Continue Reading