Inhibitors to Linux Growth
Linux is not a panacea to solve all the woes of the average IT department. It is clearly a new opportunity to lower costs, maintain or expand functionality, and partner with a huge community of developers that would be too expensive for anyone to hire. Let's explore some of the more significant inhibitors holding Linux back. As with most things in the high-tech world, there is a large contingent working diligently to eliminate any inhibitors to Linux's growth. Time will eliminate many of the inhibitors listed here.
Linux owes much of its success to one killer open source application: the Apache Web Server. According to the Netcraft Web server survey (http://www.netcraft.com), at the end of 2001, the Apache Web Server was being used by more than 50% of sites on the Internet. The combination of Linux and Apache creates a low-cost, high-performance, easily deployed environment for almost any service provider or IT department.
Beyond Apache, many applications have been developed by research and educational communities, or have been developed in-house by companies on the leading edge.
The classic chicken-and-egg conundrum occurs with any environment, and Linux is no different. While many companies wait for applications to be available before they deploy Linux in their environment, ISVs wait for customers to deploy Linux before they make their applications available.
This chicken-and-egg conundrum is gradually breaking down, however. Part of the breakdown is attributed to the normal maturation of Linux. Also, mainstream application vendors are seeing part of their business being eroded by open source alternatives. One of the first and most significant of these breakdowns was the effect of Apache on the Netscape Web server family.
Another factor driving the change is one already mentioned: the development environment. ISVs have had to maintain multiple development environments for each of their UNIX platforms. Many are shifting to Linux as their core development environment and using it as the base port for all other platforms. In fact, in conversations with ISVs, many of them were surprised to find that a significant portion of their engineers were already using Linux both at work and at home. Some of them expected huge efforts to port to Linux, only to discover that it was already done (or at least, large parts were finished).
Large hardware and software companies are fully supporting Linux. Now that BEA, Dell, Hewlett-Packard (HP), International Business Machines (IBM), Oracle, SAP, and many others are making products available on Linux, the ecosystems around each of these (and many other) companies are also planning to support their products and services on Linux. The snowball is well on its way down the mountain and steadily gaining momentum.
Of course, paying customers have the final say. As more and more companies request, and even demand Linux, vendors will have no choice but to respond.
Maturity is a relative term. But, 10 years is actually very young for an operating system, especially when compared to UNIX, which has a heritage that goes back to the 1960s. Linux has a solid and proven track record in the Internet infrastructure. As we saw from Figure 12, it is also starting to make inroads in the application server tier. Many of the critical infrastructure applications (databases, application servers, etc.) needed for core business applications are now becoming available.
Another area of maturity can be classified as "enterprise-readiness." IT managers count on a broad range of tools and capabilities to manage large environments. However, many of the system management, administration, deployment, and update tools that most IT managers take for granted are either not available or very early in their stages of development. Hardware vendors, software vendors, and the open source community at large are working diligently to fill these gaps. This obstacle will be overcome faster as companies put their own engineers to work part-time or full-time on improving this state of Linux. By opting to use this potential control point, companies of any size can influence the direction and development speed of Linuxa luxury not available to many in the past with other operating systems.
Many software vendors are also looking for additional features in the Linux kernel to be able to tune the performance, availability, and scalability of their applications. Today, many of them make compromises to overcome some of these limitations. Again, the open source community provides a proactive forum to solve these limitations in ways not tied to company budgets, roadmaps, financials, or legal constraints.
Vertical scalability allows Linux to scale its performance by adding processors within the same system. Horizontal scalability increases scale by distributing tasks among many systems. Scalability is a relative characteristic. For many, many applications, Linux scales very well. With the release of the Linux 2.4 kernel, multi-processor scalability to 16 processors is usually possible, provided the application can take advantage of it. Today's UNIX systems will often scale to 128 processors and beyond.
However, scalability can take many other forms. Many of those who need scalability beyond what Linux can deliver and also want the cost advantages have turned to clusters to solve their performance needs. Horizontal scalability, or combining a large number of low-cost systems and making them work in tandem, has been and continues to be one of the great strengths of Linux. However, applications are usually developed and tuned to scale well in either multiprocessor or clustered environments. Rarely will applications be optimized to scale well in both configurations. Linux also has many opportunities to improve scalability in input/output (I/O) capabilities, availability, deployment, and management.
The scalability of the Linux kernel continues to be an area of debate. The changes to the kernel involve difficult tradeoffs between complexity and capability. Linus Torvalds, the creator of the Linux kernel (discussed in detail in the next chapter), has tended to err on the side of keeping the kernel small, reducing complexity, and optimizing for smaller systems. This may make it more difficult to find ways to vertically scale the kernel.
Linux (and most open source software) presents a new class of business risks, usually involving the management of intellectual property. Implementing any new technology within an enterprise involves risk that needs to be managed. Linux and open source are no different. Business processes that may not have existed before must be established. Many companies are discovering, however, that managing these risks responsibly are well worth the economic returns that Linux brings. Part 3 of this book will examine, in significant detail, many of the risks associated with open source and how to manage them. In fact, open source opens a wealth of new opportunities to increase productivity and refocus your energy to the core value you bring to your customers.