|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
Prev | Contents | Next |
"The guard is tired." Famous quote from the history of the USSR
|
|
The main purpose of the paper is to structure large and complex topic "Solaris vs. linux" into key subtopics, subtopics the most relevant to large enterprise environment. Issues are complex and change dynamically so this discussion is just a snapshot that fixed status for the late 2006 and many findings might already be outdated. Also it is only a initial limited attempt to explore this issues by structuring it into key subtopics. Still the author hopes that if not the comparison itself, but the developed framework can be useful and further extended by other authors.
|
In the process of writing the paper the author came to painful understanding of a simple truth: the level of complexity of modern OSes exceed human capabilities. That's why we often love a particular OS and so passionately defend it. It happens just because of the huge investment we made as well as because if you know OS better it will be more stable and reliable in a particular environment. In a way differences in sysadmin qualification supersede differences in OSes stability and maintainability.
I never had any illusions as for my knowledge of linux, but what I realized during writing of the paper is that my knowledge of Solaris leaves much to be desired too. In no way the author can claims that he completely understands the issues discussed about the two OSes described: both are extremely large and complex products and the author experience with both is limited to several highly specialized areas. Both are extremely useful and have their place in a large enterprise environment. Both already have substantial presence in datacenters with linux dominating X86 hardware installations and Solaris often representing the dominant part of RISK servers park.
But as always in system administration the devil is in details. Both Solaris and Red Hat and Red Hat and Suse are very different. That means that in real enterprise situation you often need to take sides in order not to get into "three or more flavors of Unix in a single organization" trap. I can easily see large enterprise datacenters which have linux and Solaris as two flavors of Unix used, but that leaves out AIX and HP-UX each of which has its own strong points and the army of devoted administrators. And if Solaris is present, then most often either AIX and HP-UX are present too and the classic situation aptly named "Bolivar cannot carry double" in already mentioned famous (actually mainly among Eastern Europeans ;-) O. Henry story "The Roads We Take" arises in all its dark glory.
I would like also to stress that the acquisition of top level administration skills is a long, expensive process that with the current level of complexity of OSes takes probably not two-three like before but five-six years even for the most capable specialists . That means that such skills represent an important part of the company intellectual capital. And this capital should be treated with care without abrupt and unjustified by real business needs disruptions in cases were such disruptions can be avoided. To quote Linux Torvalds, switching from administering one OS to another is not unlike “performing brain surgery on yourself”.
The complexity of modern OSes had risen to the level when it is almost beyond the capability of single, even very intelligent, person to understand them. That means that top level admin skills can be acquired only during the long time and they represent important part of the company intellectual capital. To quote Linux Torvalds, switching from administering one OS to another is not unlike “performing brain surgery on yourself”. |
The most important finding of the paper is that adding a new flavor of Unix into preexisting enterprise mix is a complex operation that has side effects. If Solaris is already present or dominant in the infrastructure adding Solaris 10 for X86 is safer option than adding linux. The latter usually leads to an increase of the total number of Unix flavors used and as we argued above this increase badly affect welfare of system administrators, whose human limits due to the complexity of environment usually are around two OSes and in end of the day actual costs of the Unix infrastructure. Often such a move necessitates either split of Unix administrators group into subgroups with each responsible for a particular couple of flavors of Unix (with additional overhead, red tape, and/or potential infighting inherent is such split) or removing one of two preexisting flavors of UNIX from the environment (very bold and difficult to accomplish move). So in a sense in order to succeed the introduction of linux should always be a replacement, not an addition to the enterprise Unix stack and as such is a complex surgical operation that should not be done on the base of simplistic objectives and naive spreadsheets which convincingly demonstrate large fake economy.
Side effects and complexity of the task of adding yet another flavor on Unix in a large enterprise environment should not be underestimated. Qualification of sysadmins and of paramount importance for the success of any such, even completely justified, move. |
Issues here are complex and negative effects can be profound. Sysadmins need to know the system in-depth to ensure reliable performance (and other things equal that's more difficult to ensure for linux then for other enterprise Unix flavors) and with the current complexity of operating systems even with sufficient training that goal can be achieved only for one or at most two flavors of Unix. Of course much depends on the quality of sysadmins. Moreover, if an organization has no high quality specialists it becomes a hostage to the expensive and sometimes unscrupulous consultants from various "professional services" organizations and that tends to drive costs higher and quality of service lower. Here both linux and Solaris 10 X86-64 introduction will logically lead to costs overruns and/or serious production problems. Like car jocks used to say "there is no replacement for displacement" ;-)
An important impression the author got from writing this paper is that the Linux guard is tired and disillusioned. The dreams of "Cathedral and Bazaar" dissipated on the first contact with the reality. That means that the development more and more converges into traditional "industrial cooperative" framework. It is driven not by volunteers (to call Linus Torvalds a volunteer is some respect a cruel joke -- he is more like a prisoner of his own ambitions and social status of "father of linux kernel") but by salaried employees who are at the same time prisoners of the particular social movement. I wonder how many of the them in the depth of their hard hate "open source crowd". Key developers are dispersed in several organizations that finance this cooperative (instead of traditional team within a single organization, most often in a single location) which make cooperation more challenging, more difficult and more prone to conflicts.
Moreover the linux development is understaffed and overstretched with extremely ambitious and fuzzy goal of "world domination": creating the best OS on the planet for everything from toaster to mainframe. If we assume that kernel and major subsystems development are conducted by an industrial cooperative with costs shared among several large players, then problems facing linux become more clear: as in any cooperative contributions are dependent on the good will and financial health of participants, each of which tends to be slightly suspicious that other do not provide a fair share.
Also fifteen years of development are fifteen years of hard work and it is natural that the initial enthusiasm vanished and sometimes changed into disappointment (or even resentment) and that the focus for even the most devoted members of the core Linux kernel development group including Linus Torvalds himself started shifting and conceptual integrity of the product suffered as a result. Both decisions made and implementations adopted are not as sharp as they used to be at the beginning. Partially because the size of codebase becomes prohibitive and while any change/improvement is possible nothing is simple anymore. Like Larry Wall aptly noted about Perl 5 implementation, working with such a monstrous codebase simply stopped to be fun (that's why he decided to launch an ambitious project to create Perl 6 starting the implementation from scratch). Working with such huge and complex codebase became a hard, exhausting work no matter what salary you get. Huge size of the codebase also tends to block the infusion of new talent.
As I mentioned before, at the end of day it became evident to everybody that open source does not have a monopoly neither on technical talent, nor on innovative ideas, not on the quality of implementation. Linux never reached the stability of Solaris, AIX or HP-UX. Also, while open source in general and linux in particular had its share of innovative ideas (especially in the area of scripting languages were open source dominates) many important innovations for Unix came from traditional channels of innovation. For example, neither VNC, not ZFS, nor Dtrace were products of open source development. The same is true for VMware, Xen and AIX Lpars which legitimized the virtual machine concept. To add insult to injury for open source zealots Xen development was partially financed by Microsoft Research and Microsoft implementation of Python (IronPython) runs faster then its open source counterpart. All those examples suggest that there is nothing that prevents other OSes to surpass linux as the best choice for X86 platform in large enterprise environment. The dream of world domination might turn into pipe dream, and if so the question arise are all those personal scarifies endured by key developers outside "linux money crowd" worth the result ? Would they be better using their talent on more conventional organizations like commercial software startups and get some real money in return for 80 working hours weeks they endured ?
Even the idea of creation of high quality kernel by geographically dispersed, Internet connected team of high quality specialists in not without problems. As Napoleon said after the Battle of the Sands that two Mameluke usually could defeat five French solders, but 100 French usually could defeat 500 Mamelukes (or something to that effect). His point was that proper organization, talented management and discipline helps to win battles even if individuals involved on the other side are more motivated, better trained and equipped, but less well organized and suffer from the lack of discipline. That does not mean that the corporate environment is a paradise, it has its own well-known problems, but still this quote has some relevance to open source development of complex products like Unix kernel [Bezroukov1999a, Bezroukov1999b]. Also mail list as the main methods of communication proved to be inferior to a real room with a blackboard were two or more developers can freely discuss their ideas or even to a traditional corporate teleconference. It provokes too much ego-related infighting and that makes it difficult to separate the wheat from the chaff. I like better the “virtual water cooler” concept using IRC that Canonical seem to push, but it is not without problems too. Virtual is not always better then the real thing. In open source literature similar kind of problems are usually discussed under the banner of "difficulties of herding cats" ;-). See for example How to Herd Cats and Influence People - linux.conf.au 2007. As Tom Hanrahan, OLSL head of Linux engineering noted [Hanrahan2004]:
As far as how you manage it, you do have to think more in terms of how you influence the direction things are going rather than dictating how things are going. I guess that's the sense you have when you talk about herding cats or having organized chaos.
Also the age of the OS does matter. Historically no OS managed to grab significant additional market share after more then ten years of development as at this point novelty of OS, if any, starts to disappear and the focus automatically switches from occupying new territories to defending the currently occupied turf and providing compatibility with previous generations of the OS. There can be exclusions, but still this rule usually holds. And success brings its own problems: not only the compatibility with previous versions might soon become a huge problem for linux (the first profound effects of which probably might first be visible in the slow pace of switch from RHEL 4 to RHEL 5). More dangerous problem is that focus shifts from principal things to superficial polish and system became heavy from bells and whistles (that's another way to note the loss of conceptual integrity). In a way the problems with new versions of linux enterprise distributions are very similar to those that Microsoft faces with the development of Windows: accumulation of fat due to the introduction of new unnecessary features and bell and whistles like innumerous generations of more and more cute animated icons (note the waist of efforts and problems for users introduced by changes on the icons and other "balkanization of interface" type of improvements in Office 2003) and the problem of motivating users to move to the new version (for example from Windows 2003 server to the forthcoming Windows Vista server). In large enterprise environment when new version does not provide compelling advantages over the old many people feel that upgrade does not worth it and until support of the older version lasts will stick to the old version.
Moreover, after ten years of development any OS can be legitimately called "a legacy OS" as warts and driven by compatibility requirements compromises start to affect the architectural integrity. In general OSes behave not unlike humans: any chronic health problem that can be attributed to architectural (or in case of humans genetic) deficiencies become more pronounced with the age.
In short linux is not a magic bullet and in enterprise environment the OS has a lot of issues and first of all in the area of stability as well as related and even more important problem of conceptual integrity. So the greatest and the most provable positive return can be achieved in areas were issues of stability can be resolved by introducing the redundancy like in internet-facing Web servers.
Therefore the claim that linux is a revolutionary OS was OK for 1992-1998. First versions on linux starting from 0.1 were really the smallest "semi-POSIX compatible" OSes known, the tiny and fast OSes capable of running GNU applications on regular 386 PCs using minimum of resources (4M or even 2M of RAM was OK). Also a fit of reengineering a kernel, capable of running most GNU applications from published specifications, the book Design of the Unix Operating System by Marice J. Bach and series of William and Lynne Jolitz's papers in Dr. Dobbs Journal in one year by a student should also be commended although it is far from being revolutionary in a pure technical sense and looks more like a Guinness record.
But this claim is largely unsubstantiated in year 2006 and later. Linux now should be properly called "legacy OS" belonging to the same category as Solaris and Windows. Actually Windows NT is an OS that is younger then Linux as it was first released in 1993 and was available for Intel IA-32, MIPS, Alpha and PowerPC architectures (actually Windows NT 3.51 was ported to SPARC too, but the product was never sold).
Of course none of those operating systems stands still and there is not much left in Linux kernel 2.6 from versions 1.x, or 2.0. But the underling framework of ideas remains intact and the same is true for Solaris. Both represent Unix Renaissance, both are true descendants of the same OS paradigm created in AT&T many years ago, which in turn was inspired by ideas pioneered by Fernando Corbato and which were acquired by AT&T researchers during their participation in Multics project in late 60th of the last century (AT&T withdraw from the Multics project in 1969; A year later DEC introduced the first PDP-11 (PDP 11/20) and that was the computer architecture on which Unix matured. BTW the PDP-11 was a phenomenal success very similar to PCs success decade later and that definitely contributed to Unix success similar to Intel CPUs successes huge contribution to linux popularity: rising tide lifts all boats.
Also due to the age of OS, Linux kernel development now faces the problem
of change of the guard as the "regime" of Linus "kernel" Torvalds cannot
last forever and after more then fifteen years of development any OS developer
starts losing edge. Kernel development requires phenomenal sacrifices in
terms of personal time and commitment and for the old guard that also by-and-large
gone. Now with each new version of kernel they are probably thinking "Do
I want to push this big rock up a hill again?" It might be
that Linus Torvalds is closer to the status of another retired dot-com millionaire
with his own small park of Mercedeses and yacht that most people suspect.
Solaris is past this cycle as
Bill Joy, who in his
Berkeley years
single-handedly
"outcoded" the entire AT&T (
As other vendors now invest serious efforts on grabbing low end Intel-based servers market share linux might never grow significantly beyond the current share, leaving Red Hat with a cash flow problem that might negatively influence the quality of support of respective distribution. Fallout from the Microsoft-Novell pact recently led to layoffs in OSDL (nine out of 28 staffers), the only cooperative venture between large vendors devoted to Linux kernel architecture development. CEO Stuart Cohen resigned saving OSDL approximately half-million dollars in salary. Hiring lawyers instead of technical specialists by OSDL made future direction of this cooperative venture between Intel, IBM, HP (and several minor players) even more fuzzy. With the annual budget of only eight million dollars OSDL cannot sit between two chairs. Torvalds is still there, but strategic focus of OSDL is under question. It may be re-tuned for legal combat instead of Linux kernel architecture development. On the other hand Oracle's frontal attack on Red Hat by hijacking the support revenue might be just the first sign of future troubles for "pure play" open source software vendors.
There are several often overlooked positive features of Solaris as an alternative to Linux on x86-64 hardware in large enterprise environment:
Saving money in moving to a new flavor of Unix in large enterprise
environment is a complex task that is heavily influenced by existing
set of flavors. Like with any large IT project benefits are
usually overestimated and costs are underestimated. After magical
number two any addition to the existing Unix flavors mix generally increases
costs in large enterprise environment due to complex interplay of factors
including but not limited to sharp deterioration of Unix administrators
performance in case they are managing more then two. In this case Solaris
represents huge advantage as it is already usually present in large
enterprise Unix flavors mix and can run on x86-64 hardware which currently
has the hightest cost to performance ration.
Despite all this fury of kernel releases and versions of distributions minted each year technically linux is a very conservative OS. In some respects, for example the level and uniformity of integration of scripting into major utilities and applications, it is a backward OS even in comparison with OS/2, which used REXX both as an external scripting language (shell) and macro language for GUI and applications) and Amiga, BE OS, Inferno and even NEXT. The key developer of the kernel lacks any substantial technical vision necessary to bring the kernel and OS on the next level; he is quite satisfied with the status quo provided by POSIX Unix and strives only for numerical dominance belonging to "polisher/optimizer" types among OS (and languages) developers not an "inventor" type. There is nothing revolutionary in linux as an operating system. I became interested in linux around late 1993 and even at this time it was quite clear that this is a very conservative replication of Unix that does not strive to be so much on cutting edge (compare it with Next or OS/2) as being the cheapest available (the least common denominator) on the most common hardware, essentially replicating Microsoft's DOS/Windows strategy in Unix world [Bezroukov2005a]. Strategically nothing in the development of linux changed since 1993 other then the level of investment into development and proliferation of distributions. It remain conservative, somewhat backward OS ("neo-conservative") supported by pretty strong social movement somewhat similar to neo-conservative political movement in the USA. Here is the relevant quote from [Bezroukov2005a]
In a sense it's more like a powerful political campaign, very similar to Newt Gingrich "Contract with America" thing (fight corruption, waste in government spending, tax reform and a balanced budget, etc.) than a technological advance. There are other things that make analogy between Newt Gingrich and Linus Torvalds much less superficial than it looks from the first sight.
For example, both understand that the principal task of the leader is to define a positive "vision" around which followers can cohere, define strategies to achieve this vision, then delegate authority to others to carry out operations and tactics. That's why Torvalds so easily delegates programming part of kernel to other people. As long as he is in a controlling position of leader and configuration manager of the whole kernel who has the final word on what will be included in a particular version, it does not matter much who will produce a particular module or driver. Enjoy your ride as long as you agree that I am the driver.
Prior to becoming the House speaker, Newt Gingrich had spent over a decade writing and speaking about, and organizing around, an eclectic neo-conservative model, which he argued should take the place of Great Society liberalism. In Gingrich's view, his conservative predecessor, Ronald Reagan, had ultimately come up short as a transformative leader because his horizon as a leader had been defined by opposition to liberalism rather than a positive vision of a new order in American politics. "The great failure of the modern Republican party, including much of the Reagan administration," Gingrich wrote in 1984, "has been in its effort to solve problems operationally or tactically within the framework of the welfare state . . . . Real change occurs at the levels of vision and strategy." That's somewhat similar of Torvalds attitude to Stallman. Gingrich reiterated this theme in a 1995 interview:
"You have to blow down the old order in order to create the new order. Reagan understood how to blow down the old order, but wasn't exactly sure what the new order would be."
When Gingrich became speaker in 1995, his overriding goal was to succeed where President Ronald Reagan had failed, by creating a "new political order" in the United States. Sounds pretty similar with the "world domination" rhetoric of Linus Torvalds. Both share extraordinarily ambitions, executive-style understanding of political leadership, and an acute ability to work well with press. Both repeatedly demonstrated willingness to challenge conventional wisdom and take political risks to advance their goals (Linus decision to bless commercial distributors was very unconventional, to say the least, for a "member of a GNU generation").
Compatibility with previous versions of OS for applications is
dramatically better on Solaris. On linux you are generally surprised
if a binary package for any complex application compiled for previous
version of OS works. In Solaris you are surprised if it does not work.
The article presents some evidence that suggests that due Solaris
might be one of the most interesting from the computer science point
of view kernel among free Unix troika (Linux, FreeBSD/OpenBSD/NetBSD
and Solaris).
"Take two" effect of Linux adoption. The usual consequence
of large enterprise adoption of linux is adoption not one but two major
enterprise flavors of Linux (both Red Hat and Suse). Solaris is
not suffering from this "split personality" problem. In linux the "Unix
curse" is replayed on the level of competition of RHEL (and now Oracle)
and Suse distributions: any organization that deploys one flavor
of Linux is risking to introduce the other "real time soon" as it can
happen that some applications are certified only for Red Hat and other
only for Suse. Also, as we observed above, the relative shares
of those two distribution in the enterprise market may well reverse
in the future with Novell enjoying substantial success with Suse 10
along with the pact with Microsoft that contains provisions important
for large enterprise customers and Red Hat facing the competition with
Oracle in capturing support revenues.
Actually Oracle converted a pair of enterprise distributions into troika
as its full compatibility with Red Hat might not last more then a couple
of years it needs to establish itself (or time for Red Hat to fold).
There is a substantial fashion related component in enterprise
Linux adoptions: such moves are most suitable to "beta addicts"
type of Unix administrator personalities and IT managers. It is especially
attractive to people who want to make a career on change for the sake
of change as well as in "Alice in Wonderland" fashion driven frenzy
of highly Dilbertilized and partially outsourced IT environments.
The article tries to demonstrate that in large enterprise environment
rewards for becoming "beta addict" are questionable. Increasing the
number of Unix flavors is even more questionable and usually nullifies
any savings. Also due to the way top linux distributions vendors
compete with each other they are always pushed to 'cutting edge": "the
latest and greatest" version of the kernel and major subsystems.
That means that compatibility suffers and upgrades are more of an adventure
then in other, more conservative, flavors of Unix. I would like to stress
it again: while quite innovative in its own right that Solaris has much
better compatibility record and more smooth patch cycle. The fact that
Solaris 10 runs on commodity hardware (cheap Opteron servers now and
in late 2007 on new Intel Duo and Quattro CPUs) makes it an interesting
alternative for more conservatively oriented IT managers and administrators.
Solaris is a more stable OS, especially in network intensive tasks.
It works as well if not better then Linux on cheap Opteron-based servers.
New T1 CPUs make Solaris on SPARC more attractive and provide a clean
migration path from older UltraSparc models that badly fell behind in
price/performance ratio.
The number of people in large enterprise environment who lost their
jobs due to problems with linux stability is a well kept secret, but
the danger is real as probably any head of the large enterprise Unix
department with substantial linux deployment can attest. Of course,
much depends on the qualification of the personnel and carefully tuned
Suse or Red Hat server is more stable than the same server with the
distribution installed "out of the box". Still the issues are real and
linux stability can be called the skeleton in the closet of large enterprise
deployments. The safest way to deploy linux is to use it for applications
were reliability can be improved by redundancy. It is much more risky
to deploy linux in cases where there is no such fallback. Overspecifying
hardware so that linux can run with less peak load also helps in most
cases and it is easy to do due to the arrival of Duo and Quattro CPUs
with faster (1.33Ghz) memory buses.
Some open source applications run on Solaris better then on linux.
Due to the architecture of Solaris kernel and I/O subsystem there
are several open source applications that can run on Solaris better
then on Linux. Among them are Java-based applications (home-field advantage),
all heavily multithreaded applications and possibly open source databases.
Still overall support of open source applications is an Achilles heel
of Solaris and it needs to be improved as number of deployments depends
of ability to capture the savings from open source applications, not
open source OSes.
Solaris 10 on Opteron has better security due to more uniform
utilization of hardware stack protection mechanism, and, especially,
due to zones and RBAC implementations. RHEL approach to security based
on SElinux is questionable both architecturally (too much overhead)
and from administrator point of view (overcomplexity) and might be an
Achilles heel of this linux distribution: overcomplexity always backfires.
Solaris 10 significantly improves the security of open source applicators
due to presence of RBAC, zones as well as built-in protection from stack
overflows (this is a temporary advantage that will disappear with more
wide adoption of AMD64/EM64T architecture).
Solaris has superior light-weight virtualization capabilities.
That can be additional contribution to improved security and can solve
the "root password hell" problem in large datacenters, relegating zone
passwords to zone administrators who at the same time are application
administrators.
Solaris scales better then Linux and generally behaves better
in configuration after 4 CPUS and memories after 16G. One of the limitations
of linux development model is automatic lock-in on mass-produced low
end hardware. That's a natural side effect of the democratic nature
of open source and that's what made linux successful as it essentially
repeated Microsoft story of capturing market share starting from the
low end, but in the Unix world context. Due to inherent limitations
of scalability of open source development, linux can and should be successful
on the lower end, but in midrange and, especially, high end deployments
its attractiveness is much less.
But if you look at larger picture even on low end linux failed to made
any significant dent in Microsoft's market share and with successful
launch of Windows 2003 server even relinquished some previously occupied
territory back to Microsoft (for example on front end Web servers farms).
All-in-all it only reenergized Microsoft development team.
Feature creep is less pronounced in Solaris: codebase is not
that bloated. There is a single instance of OS that includes not only
kernel but also GUI and utilities, not multiple competing distributions,
each with their own homegrown set of management utilities and very unclear
survival perspectives.
"Pure play" Linux vendors might find it hard to capitalize on
support revenue. The question whether Red Hat will successfully
withstand Oracle frontal assault or Novel will manage to capitalize
of Red Hat weakness and became dominant distribution are really a multi-million
dollar questions. Actually if large hardware manufactures like HP and
Dell adopt Oracle Linux there can be a wave of defections from Red Hat
on enterprise level: money speak lower then words.
Still due to GPL there is always a possibility to capitalize on linux
distribution revenue by any powerful enough player (GPL installs the
law of jungles in this area). Solaris is licensed under a different
license. See
Nikolai
Bezroukov. Labyrinth of Software Freedom (BSD vs GPL and social aspects
of free licensing debate) for more information.
Like any OS Solaris is not ideal and has its own set of shortcomings. Some are serious, some are not, Among those that matter for large enterprise environment I would like to mention
Solaris has weaker compatibility with Microsoft and currently
Solaris 10 in this area significantly trails Suse due to series of initiatives
Novell and Microsoft recently launched. Level of compatibility
of Solaris 10 with Active Directory is lower then in Suse 10 and configuring
AD authentication is more complex and less well covered in Sun documentation
and blueprints. Essentially Sun brass completely lost a huge opportunity
to capitalize on Microsoft pact, paying only lip service to improving
compatibility with Windows 2003 server-based infrastructure which is
an established member of any large enterprise IT environment and often
the dominant part of IT infrastructure.
This is a blunder similar to abandoning TCL in the past (or not buying
VMware) and like in case of any strategic blunder consequences of it
might hunt Sun for some time. In view of GPLing Java Sun suit
against Microsoft looks like completely misplaced move: why they fought
for their intellectual property if at the end they abandoned it completely
(GPL is the license definitly suitable for abandonware). I understand
an anti-IBM angle of such a move, but having FSF as their best friend
is not a strategic business advantage for Sun, no matter how you spin
it.
Availability of precompiled and prepackaged open source applications on Solaris is lower then on Linux and Solaris is missing "home field advantage" in this area. Currently Solaris 10 is really inferior to both Red Hat and Suse in this important for enterprise customers area. On large enterprise level nobody is buying Solaris support because the OS itself is freely downloadable, it is the possibility to run high quality open source applications while preserving previous enterprise-class proprietary applications that drives sales. Moreover due to new multiple core CPUs (T1 line) Sun needs to became the top packager of open source applications for Solaris to represent a viable alternative to Linux as there is a significant premium, associated with running many enterprise class proprietary applications on multi-core CPUs: many proprietary software packages count CPU cores in licensing. There are several sub-factors in this area:
Linux now become the major development platform for open source
applications (with FreeBSD as a distant second) and as such
has "home field" advantage for many (but not all) open source applications
valuable for large enterprise environment.
Even to partially neutralize linux "home field" advantage
Sun needs dramatic improvement of the availability of prepackaged
major open source applications valuable for large enterprises
(let's call them "enterprise one hundred") along with much better
interoperability with Microsoft.
The key player here is Sun compiler development group.
Packaging excellent development tools like Studio 11 and creating
the line of open source packages based on this compiler (for both
UltraSparc and Opteron versions of Solaris) that Sun start doing
recently might be a viable step in compensation for this disadvantage
as few enterprise users recompile packages before deployment (partially
due to weakening of core staff in the process of outsourcing). Of
course this step incur for Sun significant costs but I see not other
way to enhance viability of Solaris for broad spectrum of "enlightened"
enterprise customers who want to use open source but do not want
to move to perma-beta, unstable (will Red Hat be around in 2017?
Any guesses about Novell position in 2017? ) and fast changing
world of linux enterprise distributions when being of cutting edge
is considered by distributors to be a major competitive advantage
(Red Hat tried to be more conservative with Xen and have found itself
under pretty successful PR attack by Novell that inflicted some
damage).
Paradoxically with their rush for "latest and greatest" version
of linux kernels and key subsystems enterprise linux vendors increased
viability of both Sun and Microsoft as the platforms for running
key open source applications. For example the share of PHP users
who use Microsoft Windows not only as development but also as a
deployment platform recently became really visible and this change
now is clearly reflected in newer PHP books and offerings of major
Web hosting providers.
Currently precompiled open source applications packaging infrastructure
is rudimentary on Solaris and that serves as a major deterrent for
those who really can use Excel spreadsheets in calculation saving:
it is open source applications not open source OSes provide major
savings, if any. List of supported application in case of
Sun in inferior to both RHEL and Novell. As open source applications
became even more attractive on SMP servers with four or more CPUs
this problem recently only increased with the introduction of Intl
Duo and Quattro CPUs.
Sites that create and distribute open source packages
for Solaris need to be subsidized by Sun and their package selection
should be improved although return on investment for additional
open source applications after first two or three hundred quickly
deteriorates. Still even a small investment into such outfits can
provide substantial and immediate improvement is the Solaris competitive
position. The most bright spot for Solaris is
http://www.blastwave.org,
the site that has impressive list of more or less up-to date packages
for major open source applications and advanced package technology
that automatically resolved dependencies). There is also older and
higher quality (but without automatic resolution of dependencies)
sunfreeware.com
repository that contains large number well-selected packages. Despite
of very high quality of packaging the versions available are not
always current, some packages actually are pretty old. That's
natural as packaging of complex applications is a very complex
and labor intensive job and it requires both high qualification
and dedication. Adopting BSD-style "compile on delivery" technology
(used in linux space by Gentoo) might be an interesting alternative
for Solaris that can get Studio 11 more visibility with the side
effect of improving the security of open source applications.
Much better job can and should be done with "out-of-the-box" availability
of major scripting languages, for example packaging for Perl definitely
should be better and ksh93 should be used as default shell instead
of POSIX shell that is used now. Also it's probably time for Sun
to drop Bourne Shell and switch all scripts to ksh93 as usage of
Bourne shell is the source of unnecessary complexity and incompatibilities
in the world when an entry level server often has 2G of RAM and
2GHz CPU.
The top dozen of the most popular enterprise-ready open source applications
for Solaris ( including but not limited to apache, Postgress, bind,
postfix, Sendmail and scripting languages, especially PHP5 and Python)
should probably be included in standard installation and supported
out of the box. Some of they already are supported by Sun with Postgress
as the most recent addition, but more needs to be done. All others
should be at least upgraded quarterly on the software Supplement
CD each time Solaris gets its quarterly upgrade.
I would like to stress it again that the importance of solid infrastructure
of both precompiled and "complied on delivery" ( BSD-style) open
source applications can not be overestimated due to the multicore
architecture of latest Sun CPUs (T1 line). This CPU essentially
makes SUN a natural promoter of enterprise open source applications.
Maintenance of open source applications not supported by Sun
is a problem for enterprise customers. After discovery of exploitable
vulnerabilities new versions of precompiled packages are not available
within a two-week frame (and sometimes not available within a month;
therefore enterprise customers which rely on precompiled applications
and does not have ability to recompile sources suffer from this
lag).
Linux has a larger "knowledge space" especially noticeable in the number of published books.
While Solaris has much better OS level security, Linux has
better "open source security knowledge infrastructure" including
the information about securing open source applications, especially
those implementing key application level TCP/IP protocols (HTTP,
DNS, SMTP, ssh, Kerberos, etc). Of course those materials can be
adapted for Solaris but linux still has home field advantage in
this area too. Just look at the number of O'Reilly books that use
linux as a platform.
Most high quality tech materials about open source applications
are Linux oriented. Due to this superior knowledge space open
source applications are often deployed on Linux in a more advanced
fashion ( examples are typical "out of the box" DNS configurations,
Apache configurations, Postfix is often deployed as a Sendmail alternative,
xinetd is deployed instead of inetd, firewall integration is "application
friendly" with installation options allowing certain services, etc.)
Of course all of them can be replicated on Solaris but it requires
additional effort and sometimes higher qualification of sysadmins.
Here linux has "home field" advantage too.
Solaris suffers in several important for large enterprise administrators productivity areas:
"Out of the box" availability of scripting languages is inferior
in comparison with Linux. In the past Sun brass adopted
and killed TCL which would be the major advantage for the OS (it
was a victim of Java push). Default Perl installation is a
step in right direction but is very limited. TCL and Expect
need to be installed manually. Same is true for Python
which is improving rapidly due to support from Google as well as
Ruby which is the first scripting language with nicer integrated
co-routines and properly implemented exception handling (it is impossible
to implement proper exception handling without co-routines as first
class language construct or with after-though addition which most
libraries are already stabilized; interrupt handler is essentially
a stopped co-routine; this is the fact Gosling never managed to
understand)
Quality of default shell (ksh88 in Solaris) is dismal.
Bourne/Korn shell dualism preserved in Solaris outlived its usefulness
long ago. Of course in large company there are always a lot of political
struggle and party of "traditionalists" can be quote strong but
the ability to overcome stupid resistance for changes which time
has come is essentially the test of the IQ of the top brass . Solaris
is probably the only major Unix which still widely uses Borne shell
for scripting. Although ksh93 is available as
dtksh it is rarely used and the version is very old:
does not support latest command line enhancements in ksh93 like
usage of arrow keys in C-shell fashion. Bash is not fully
integrated into the OS (cannot be used as role shell) and is somewhat
buggy (long lines overwrite itself from the beginning and attempts
to type a long command became a really interesting exercise)
PAM availability and capabilities are lacking in comparison
with Linux. Ports of most interesting linux PAM modules
is long overdue. Despite pioneering the concept Solaris in
now lags behind Linux in this area.
Availability of productivity enhancing command line tools,
especially orthodox file managers is lower. For example, Midnight
Commander essentially became linux only application and works not
so well on Solaris. Prepackaged version of deco and other
lightweight OFMs are difficult to find.
Packaging is weaker. It can be considered completely
outdated although there are rumors that Sun is taking steps in adopting
apt-get.
Support from third party vendors for key enterprise applications is weakening as Oracle is flirting with Linux and IBM also promotes Tivoli and other key enterprise applications for Linux and AIX. Still Solaris on Sparc has about 12,000 enterprise applications, and the porting job from Solaris on Sparc to Solaris on X86 is a lot easier than moving from Solaris to Red Hat Linux.
While each of listed advantages and disadvantages is important, still those are details and they cannot change the key message of the paper: TCO reduction in the large enterprise environment is not directly connected with the quality of the OS or its real or imaginable advantages over existing Unixes be it AIX, HP-UX, linux or Solaris. Side effects and complexity of the task of adding yet another flavor on Unix in a large enterprise environment should not be underestimated.
Please note that as of March 2007, Sun stared addressing several of those due to recent hiring of one of Debian founders Ian Murdock[Farber&Dignan2007]. As Ian wrote in his blog:
"I'll be advocating that Solaris needs to close the usability gap with Linux to be competitive; that while as I believe Solaris needs to change in some ways, I also believe deeply in the importance of backward compatibility; and that even with Solaris front and center, I'm pretty strongly of the opinion that Linux needs to play a clearer role in the platform strategy."
There is no reason why Sun can't use Debian interface and applications with Solaris as the kernel.
The paper stresses two key issues that affect the behavior of large organizations that are introducing new Unix flavor into the large enterprise:
The side effects of adding each additional Unix flavor deployment
on a number of supported flavors of Unix (Unix flavors proliferation)
often nullify real or imaginable benefits from the adoption. Excessive
variety of Unixes is a chronic and costly disease that many large enterprises
suffer from. The articles stresses that the importance of this
issue simply can't be overestimated: the level of "Unix diversity",
not the set of flavors of Unix used is the dominant factor in determining
the TCO of Unix infrastructure for large enterprise environments.
Important advantage of Solaris is that it does not have problems
connected with Linux fragmentation into several different distributions
with at least two major enterprise-class distributions (Red Hat and
Suse with the latter recently enjoying a huge boost due to its pack
with Microsoft and which due to this pack can eventually displace Red
Hat from the top stop).
The frequency of patching also has disproportional effect on TCO of a particular OS in large organization environment. It also has great influence on the security of the infrastructure. Other things equal large enterprises benefit from an OS that can be used with the less frequent patch cycle. Linux (at least as of early 2006) requires more frequent patching then any other major enterprise-ready flavor of Unix (AIX, HP-UX and Solaris). The paper point out that if linux patch cycle is artificially made equal to patch cycle of major enterprise OSes the level of security can deteriorate. The author argues that the length of patch cycle for linux should be probably equal to length of patch cycle for Microsoft OSes (typically one month). This fact significantly lessens that attractiveness of linux for large enterprise environment but can be mitigated by running firewall (which is well integrated into RH 4), as well as running linux under VMware or (with the forthcoming integration of XEN) in separate specialized "minimal" linux images created for a each major application (similar to Solaris zones partitioning) but both solutions increase demand for already highly stretched administrator workforce.
Due to those two issues Solaris 10 on Opteron (and in 2008 probably on Intel Duo/Quattro CPUs) represents a viable alternative to deployment of Linux in any large enterprise which already has substantial Solaris presence and that wants to reduce the cost of hardware due to better cost/performance ratio of Opteron CPUs (and later in 2007 Intel Duo and Quattro CPUs as Sun signed pact with Intel to support this line of CPU too) and commodity pricing for Intel-compatible hardware. Availability of Solaris for enterprise customers is not limited to Sun hardware: HP supports Solaris on many its Opteron-based servers along with linux.
From purely technical standpoint Solaris is a quality OS and in many technical areas is equal or superior to linux. The open source model that was adopted for the Solaris OS ensures that this standard will be maintained. Most enterprise applications that are available on linux are also available on the Solaris. Also Sun also has an extremely good and largely deserved reputation in terms of quality of support, training and certification. In those areas it is superior to offerings from Novell or Red Hat although Red Hat has an advantage of keeping training "in-house" while Sun outsourced it and that negatively affects quality and Novell in the most democratic as for training and certification options (Red Hat has very expensive as for open source OS training and certification options even if we are talking about large enterprise financial capabilities).
If you're currently using linux in large enterprise environment as Web front end, it make sense taking a look at Solaris, as a more scalable alternative slightly biased toward higher end hardware. Security wise Solaris has a substantial lead over any Linux distribution and no amount of hardening can compensate for absence of RBAC implementation and zones in current linux distributions. That fact (combined with the necessity of more frequent patching for linux) means that maintaining the same level security on linux will always be more expensive for large enterprises. Of course other factors, like the qualification of staff can offset this disadvantage.
All-in-all Solaris is powerful, stable, conformant to standards OS that can run many open source applications as well as Linux and some (mainly multithreaded applications) better then Linux. Like in the cases of Red Hat and Suse, the cost of support is extra, but it is more reasonably priced. Security patches are free which makes Solaris similar to Windows (the latter paradoxically is very competitive with Linux if we are limiting ourselves to enterprise distributions with paid annual support requirements such as Red Hat and Suse).
While many of open source enthusiasts would prefer linux for everything they do, nobody can deny that "stability is a sign of professionalism" and I would add the compatibility is an important sign of professionalism too. This paper suggest that Solaris as a brand did quite a lot of good and introduced many important innovation in Unix. From technical standpoint currently Solaris 10 is the leader among Unix flavors in large enterprise space and while you don't have to love the leader (or respect technical quality; this is unfashionable thing in modern IT ;-), some experimentation and acquiring the working knowledge of the system would not hurt even for the most avid linux supporters. They might be surprised what they will find...
HP's Solaris to Linux Migration whitepaper served as a source of additional inspiration in version 0.4. IBM's "Migrating to Linux or AIX from Solaris OS" CD ROM helped to put Power5 family in proper perspective relative to UltraSparc and Opteron in version 0.89.
Wiley Sanders (Yipes Enterprise Services) provided his valuable feedback about quality of X2100 as well as difficulties of switching from Solaris on Sparc to Solaris on Opteron.
Many readers provided valuable feedback on early versions of the paper and that sustains this volunteer project on its path for more then a year. Positive feedback was a great stimulus to expand further topics covered in the paper as each feedback provide different unique insights into the situation and the author would like to thank all reader who send such feedback no matter positive or negative for encouragement. Also I think that for some readers the arguments were convincing enough to try Solaris. In such cases I think the paper despite all its deficiencies achieved it mission. Here is one example of this genre:
Dr. Nikolai Bezroukov,
Thank you for this article. It is one of the most informative on the subject that I have ever seen. I have used Linux for about 11 years, and used it at ISP's before the dot com bust. Linux has come a long way for sure, and I will continue to use it where appropriate. For a while, I've been watching Solaris and wondering if it would really make for a "better Linux than Linux".
I have been thinking of installing it more at my customers sites and using Linux less. This article has given me the inspiration to push forward and invest more time and resources into Solaris. In the long run, I think my customers will benefit ! Although Solaris X86 has been around since version 8, (if I remember correctly), I was afraid to really use it in a production environment, and attaining a high end Sparc system was out of the question at the time. With Sun solidly behind Opteron, I am excited about the prospects !
As an interesting sidenote.... I once had a Sun 4/110. The external hard drive sounded like an airplane taking off. The proc ran at something like 13mhz. It had a manufacture date of 1989 and the monitor was 21 inches, had red/green/blue cables and weighed about 100 lbs... would had made a great boat anchor. I GAVE IT AWAY because i couldn't stop playing with it and was loosing time on other projects ! I wish I still had it ! Things have come a long way haven't they ! Anyway, good luck and thanks so much for the article.
Jay
Among letters sent to the author there was also a large, almost daily stream of letters from Linux enthusiasts who criticized almost everything the article stated and thus provided important stimulus for the author to review and sharpen focus of some statements. For some people it is difficult to believe that their beloved OS does not invoke excitement of specialists who get used to other systems :-). For example one permanent stream of mails, while sometimes contains interesting observations, completely mixes enterprise distributions and large enterprise environment with experimental distributions and university environment (note, for example, claims about stack protection with PaX protection in the letter reproduced below). Here is one typical letter belonging to this genre nicely favored with an appropriate doze of misplaced indignation (from Samy Al Bahra (gwu.edu), received Mar 3, 2007):
I am a major Solaris fan, and a major FreeBSD fan. As someone extremely interested in operating system design and implementation both platforms definitely provide better examples of sober engineering and elegant hackery.
However, your article titled "Solaris vs Linux" is absolute cruft backed by unsubstantiated claims. There are many benchmarks that speak against Solaris when compared to Linux for small-to-large (not huge) machines. Yes, Solaris scales well on HUGE machines (16 processors, etc...) but even scalability comes at a cost (fine grained locks, component based design, etc...). Solaris is also more reliable. But Zones was an innovation based on the FreeBSD jails concept phk@FreeBSD pioneered (which is similar to the OS/2 sandbox idea).
Even though Linux is not a complete engineering success, it does run on many critical networks and as an open popular platform did attract the proper target audience to innovate in security. Get it right, through the PaX patch, Linux was the first system to truly provide non-executable stack and *comprehensive* buffer overflow protection even on x86 processors lacking nx.
Regarding file-system performance, it was not until ZFS that Solaris actually performed well here :-) Before that, countless benchmarks will completely nark on it. Benchmarks published so far, are sketchy (independent benchmarks, BTW) for ZFS. ZFS is by far a superior architecture in terms of scalability/management/reliability (which implies integrity). However, there are file-system options for Linux much more diverse which you fail to look at (XFS?! Lustre?!)
Also, Opteron as an architecture is not 'superior' to the Intel Core 2 Duo Extreme architecture in any light, whatsoever. As a concept, yes, ccNUMA is the future. But the performance gold cup still goes to Intel (it was only in a small time frame with Intel Core 2 Duo's shared cache architecture that Opteron out-performed Intel's multi-core offerings). UltraSparc is good for through-put computing, but is completely pathetic when compared to Itanium (and the EPIC architecture). Computational abilities of UltraSparc are also limited. If anything, UltraSparc has always been a good winner in I/O (and the T1 release was definitely a big win for UltraSparc viability).Anyways, I could go on and on about your article. All that time you spent typing and bashing on Linux could've been spent doing real research and *truly* highlighting the areas Solaris deserves credit for (for example, not listing VFS, a CORE concept in UNIX now, as a SUN innovation...or looking at dtrace) and in the mean time, you could've also truly highlighted areas Linux has innovated (things like kexec, LSM, PaX, vm86, ALSA, etc...). Such ranting is not a contribution of any sort really.
Good job writing a lot though! Contact the SUN marketing team some day (though they're even more honest).
Prev | Contents | Next |
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Created Jan 2, 2005. Last modified: August 10, 2009