Confidence in Microsoft’s operating systems, prior to Windows 2000, was not great in larger enterprises, so developers mainly used UNIX and other platforms for application servers and mission-critical systems. Windows NT was mostly used to handle users and the logon process to the network. It was also employed for file and print servers, though not many IT professionals trusted it as a platform to run their business applications on. Some developers saw potential in it, but most people more or less looked at it as a toy operating system on the server side. Unfortunately for Microsoft, this reputation has been hard to shake off. In our work we often meet people who regard anything Microsoft develops as toys. This is too bad, because starting with Windows 2000, Microsoft has convinced us more and more that it really can build stable platforms—platforms that help developers design and build scalable solutions.
A big complaint from IT professionals was that they often needed to reboot the operating system because of errors that occurred. Microsoft was blamed for this problem. The critique was well deserved in many cases, but a lot of the errors that resulted in rebooting the OS were caused by administrators trying new software and installing things they shouldn’t have. Also, a lot of these errors came from faulty drivers for hardware that was not supported. Microsoft analyzed nearly 1200 Windows NT 4.0 Servers to find out where to put the most effort in stabilizing Windows 2000. The company found that 65 percent of the reboots were caused by planned outages, such as adding hardware or software. Furthermore, Microsoft found that of the unplanned reboots, more than half were caused by faulty device drivers, antivirus software, and hardware failures.
No UNIX administrator would have tried to install beta software for a new program on, say, a Solaris system—nor would they have tried to install any new cool games. Unfortunately, we have seen such actions on Windows systems (in production) ourselves over the years, mostly on Windows NT servers but also on some Windows Server 2000 systems as well. Fortunately this bad habit has almost completely vanished and nowadays poses no threat to security or scalability on systems that we have been in contact with. Since Windows was easier to handle than some of the other popular systems of the time, many people and companies developed software and hardware for it, and many experimented almost freely. The result was a lot of problems and constant reboots. Many of these errors could have been avoided or solved with- out rebooting the server: if awareness of the reasons for them had been more widespread.
Microsoft saw these problems and put a lot of effort into building a new system architecture that improved server uptime, increased fault tolerance, and increased availability. Microsoft knew that it was essential to deliver a platform that enterprises could feel confident building their business on to have success in the market.
Microsoft also saw the need for companies to extend their business to the Internet. This required a comprehensive web, security, and communications technology built into the operating system, combined with good scalability and performance for handling the demands of Internet traffic.