November 22, 2016
I use Linux, and have for many years. I run Linux on Power hardware
, which is something any Linux enterprise user should consider. Still, I prefer to live in the world of AIX. I understand that Linux is a fixture now, but there are features and capabilities that I take for granted with AIX that aren't there (at least not yet) with Linux.
is a few years old, but it gets at the challenges of working simultaneously with open source and proprietary operating systems. (Incidentally, the author cites two books -- "The Cathedral and the Bazaar," by Eric Raymond, and "The Design of Design," by Frederick P. Brooks -- that would aid in your understanding of what he's talking about):
Quality happens only when someone is responsible for it. ...
Getting hooked on computers is easy—almost anybody can make a program work, just as almost anybody can nail two pieces of wood together in a few tries. The trouble is that the market for two pieces of wood nailed together—inexpertly—is fairly small outside of the "proud grandfather" segment, and getting from there to a decent set of chairs or fitted cupboards takes talent, practice, and education.
I enjoy the author's discussion of the bloat and prereqs and dependencies that exist in modern systems:
... the map helpfully tells you that if you want to have www/firefox, you will first need to get devel/nspr, security/nss, databases/sqlite3, and so on. Once you look up those in the map and find their dependencies, and recursively look up their dependencies, you will have a shopping list of the 122 packages you will need before you can get to www/firefox. Here is one example of an ironic piece of waste: Sam Leffler's graphics/libtiff is one of the 122 packages on the road to www/firefox, yet the resulting Firefox browser does not render TIFF images. For reasons I have not tried to uncover, 10 of the 122 packages need Perl and seven need Python; one of them, devel/glib20, needs both languages for reasons I cannot even imagine.
libtool's configure probes no fewer than 26 different names for the Fortran compiler my system does not have, and then spends another 26 tests to find out if each of these nonexistent Fortran compilers supports the -g option.
That is the sorry reality of the bazaar Raymond praised in his book: a pile of old festering hacks, endlessly copied and pasted by a clueless generation of IT "professionals" who wouldn't recognize sound IT architecture if you hit them over the head with it.
One of Brooks's many excellent points is that quality happens only if somebody has the responsibility for it, and that "somebody" can be no more than one single person—with an exception for a dynamic duo.
Who is responsible for Linux? Which distribution do you even consider to be "Linux"? Who's in charge of making the switch to systemd
, or making sure that Linux distributions don't break as a result of that change? Who do you call when they do break?
Who coordinates between the different distributions and vendors, and how do you know which one is right for you? Are you going with a commercially supported product like Redhat, SUSE or Ubuntu? How about a community supported flavor like Centos or Fedora?
With AIX, you know who's responsible. It's the project managers at IBM, who take input from customers, prioritize what goes into the next release, conduct proper testing to ensure that the large enterprises who rely on AIX will continue to have stable environments, and to allow for a significant amount of backwards compatibility while introducing new features:
More than once in recent years, others have reached the same conclusion as Brooks. Some have tried to impose a kind of sanity, or even to lay down the law formally in the form of technical standards, hoping to bring order and structure to the bazaar. So far they have all failed spectacularly, because the generation of lost dot-com wunderkinder in the bazaar has never seen a cathedral and therefore cannot even imagine why you would want one in the first place, much less what it should look like.
This is the kind of thing that I notice. I get that different sets of programmers and designers will have different opinions about what's important and necessary, but we're talking about two different worlds here. How many Linux developers/open source users have spent any time working with mainframes or commercial UNIX operating systems? If all you've ever seen is Linux, Windows or macOS, how can you even begin to understand what those of us who manage enterprise systems need to effectively do our jobs?
It's not that I'm not willing to change. For instance I now realize that I shouldn't think of my critical systems as friendly pets that require special care and feeding.
But the problem, for me, is the significant differences in philosophy and design between those who use enterprise systems and those who use Linux/open source solutions.
With AIX, I have a built in logical volume manager (LVM) that allows me to easily import and export volume groups and resize filesystems. Or consider the capability to migrate rootvg to another disk and run bosboot while the system is up and running. This is not always an option on other operating systems. It can be frustrating to learn that you cannot easily resize partitions or filesystems, or find that default filesystems have changed, and not always for the better. With AIX, I easily find new hardware on my running system with cfgmgr, I check and change the attributes of my adapters without writing a value to /proc, and I dynamically remove CPUs and memory. And being able to choose whether I run one adapter virtually with VIO server and another adapter physically by assigning the card to my LPAR is a nice touch.
Now think about multibos and alt_rootvg and alt_disk_install
and the power of being able to boot from hdisk1 after a migration, and how, if there are issues, you can boot from your original OS that is still on hdisk0 and try again later. Some Linux distributions don't even allow migration from one version of the OS to another; it's suggested you reinstall. With AIX, I've upgraded the same systems for years with no problems.
AIX enjoys deep integration with the hardware, and performance tuning is well understood. There's built in bare metal backup and restore of the operating system, built in error reporting at the hardware level (try finding which component needs to be replaced on your x86 hardware while your system is running' maybe your light path diagnostics will work, but maybe not), and rock-solid, well considered virtualization solutions at the hardware level.
Last but not least, as of AIX 7.2, there is Live Update
Yes, the shift away from proprietary UNIX is happening. Shift isn't even the word. Linux is learning, absorbing and getting smarter. Linux is eating the world
. But as we continue down this path, I'll continue to think of the features I already have or those that I'll have to give up, at least until the Linux phenomenon catches up.
Posted November 22, 2016 | Permalink