Linux Enterprise ComputingPromoting Linux Requires Advertising. It Matters to Me.TM GnuCash! Linux Enterprise Computing This page attempts to survey Linux in a corporate, commercialenterprise setting from a programmers' or technicians' perspective. If you are looking for information about the technologies and buildingblocks for building e-commerce sites, small and large servers,and complex custom commercial systems, I believe you will find this page useful. Topics currently covered include:system and network management, databases, high-availability & fault-tolerance, e-commerce, project management tools,as well as a few wish lists.Anyone new to Linux should dip a toe in the vast ocean of theLinux Documentation Project,including the Linux Links page.There are a large number of HOWTO's for most of the common administrative and technical questions about Linux.Monthly, weekly and daily news updates can be had at theLinux Journal,Linux Weekly News,Slashdot andLinux Today.Extensive listings of all varieties of applications can be found on theLinux Applications and Utilities Pageand theScientific Applications on Linux site. The latest bleeding-edge cuts can be found on freshmeat.net.There are many desktops; two popular ones areKDE and Gnome.Reviews of office apps includeword processors,spreadsheets, andfinancial software.Last but not least, t-shirts and coffee mugs from ThinkGeek.The Next Few Decades of Computing reviews the various technologies whoseflowering will determine the nature of networking and computing in the future. Linux Banner" src="http://www.linas.org/linux/index.html/banners/enterprise-linux.gif">Linux in BusinessLinux is used widely in the business world, and its use is growing rapidly. If you are uncertain about the commercial viability of Linux, or want to gather material to support a pitch to management, the links below should help. Linux as a Replacement for the Windows 2000 Desktop adresses the 'office desktop' issue. It reviews the typical Microsoft desktop applications, and thier Linux counterparts, in the context of a small-office budget. The review also includes hardware-upgrade and system administration issues brought up by such a transition. Is Free Software Invevitable? is an economic study of the adoption of free software by businesses. It reviews the economic incentives for te adoption of free software, as well as the modes with which development costs are amortized. Linux in Business - Case Studies provides a rich set of stories of Linux deployment in large and small companies, including examples from Southwestern Bell, the Burlington Coat Factory, special effects for the Academy-Award-winning movie Titanic and the US Post Office. Linux for Business provides examples and references to case studies for the use Linux in business settings. M-Tech maintains a listing of companies using Linux on its Linux Business Applications page. Linux en Enterprise (en français), a list of French companies that use Linux in their business. Includes contacts. Linux and Decentralized Development analyses the nature of Linux software development, and why its decentralized development model is proving to be so technically strong. Linux Consultants HOWTO provides a listing of consultants. Linux VAR's (Value-Added Resellers) provides a listing of VAR's. The Linux Mall provides listings and sells a variety of products and services. Linuxmanship provides tips & techniques for selling Linux in face-to-face meetings. The Free Software Reading List links philosophical and sociological articles from the leading lights of the Open Source movement. (Some minor commentaries not listed include Only the Free World... and my own sophmoric Open Source and Code Quality). Replacing NT with Linux, a story of NT woe and Linux triumph with an order fullfilment and inventory system. DatabasesA good industrial-strength database server should offer transaction support, two-phase commit and rollback, automatic check-pointing, hardware and/or power-failure recovery, hot backups and replication, just for starters. But to put these features to use, one needs Report Generators, Query Tools, Web-to-Database Gateways, and sophisticated Administration Interfaces. Linux SQL Databases Linux Non-SQL Databases Linux SQL Programming Interfaces Linux Database Managment and RAD Tools Linux Database Webscripting Tools Bug Tracking, Asset Management, Help-Desk Automation, Workflow and Project ManagementThere are a variety of commercial and Open Source packages available for Linux that help automate both internal and customer or channel relationship processes. There is a broad spectrum of systems with similar-but-different function, ranging trouble-ticketing systems, automated FAQ's and chat systems, to asset management, to workflow systems and project management systems, to ERP systems (yes, Linux now has nascent ERP software). The Bug-Tracking, Help-Desk Automation and Project Management page provides a glossary of the terms, followed by a long list of some of the available packages. Intrusion Detection and Access ControlA listing of security and access control tools has been moved to the Linux Security page. Data Mirroring, Replication and File SynchronizationAn increasingly common request from business management to system administrators is the ability to mirror/copy data across multiple systems (possibly geographically separated). This eliminates the single point of failure when a file server breaks down (or is stolen, burns in a fire, etc). Data mirroring is also useful for distributing files to a set of web servers. It also helps solve the problem of needing fast access over a slow network connection: by copying files to a local server, the speed of the network connection is no longer a bottleneck for remote file access. There are a variety of data mirroring/ file synchronization solutions available. Note that they generally fall into one of two classes: real-time mirroring tools, and file synchronization tools. Note that real-time mirroring is difficult/impossible with a synchronization tool, since you would have to run it every few seconds, and that would overload the system. Note that the synchronization of laptops is hard for a mirroring tool, because most of the time, the laptop is not connnected to the net, and thus can't be updated. Note also that the word "replication" is usually used in conjunction with the word "database", and if you need database replication, you should check up on databases. Note that there are a number of tools specifically aimed at mirroring web sites. These are not listed below, there are too many of these, and they really belong in thier own category, because they have a different set of features and user requirements. rsync provides fast incremental file transfer between two systems. By comparing timestamps and file sizes, it only copies those files that have changed. GPL'ed, and available as a standard part of most Linux distributions. rsync is low-tech but simple: Use rsync to periodically check on and copy modified files. Rsync has several basic drawbacks: it can't be scaled to large systems or used to provide live, 'hot' mirroring; and it also can't easily be used to synchronize to repositories where both sides are making changes. rdiff-backup improves over rsync by providing simple backup/archiving features. In addition to copying files over, it maintains a set of differences, allowing old versions and deleted files to be recovered. Note it also preserves hard links, dev files, permissions, uid/gid ownership, and modification times. Python scripts, reported to run on Windows and other Unixes as well as Linux. GPL'ed. FAM, the File Alteration Monitor, monitors file systems for changed files. FAM monitors for changes in real time, and thus, it can be used to mirror changed files in real time. More importantly, it provides a programming API, allowing custom file-monitoring applications to be written. Because it is based on an event-driven rather than a polling design, it is scalable to large systems. See also Atif Ghaffar's Realtime Data Mirroring article. Unison is a file synchronization tool. It runs on both Windows and Unix, and does not require sysadmin privledges to install and operate, making it ideal for individual users. Unlike rsync, it performs two-way synchronization, and therefor can detect file change conflicts. Unlike FAM, it syncs only when instructed to, making it ideal for offline users (laptops, road-warriors). GPL'ed. Reconcile is a file synchronization tool. Mitsubishi Electric Research Laboratories. Not clear how to get a copy, or what the license is. Mirror, a data-copying tool similar to rsync. Written in Perl. Runs on Windows as well Unix. See also Mirror Master for maintaining multiple mirrors. NBD -- Network Block Device NBD is a standard part of the Linux kernel that allows a chunk of raw disk (a 'block device') to be made available over the network. This chunk of disk can then be used to build a RAID array that spans the network. NBD suffers from the problem of being rather hard to set up and administer, somewhat fragile in an unreliable network, and incapable of reconciling updates if the two sides of the mirror operated independently for any length of time. It is really meant for a high-availability server room, where both the network connection and the presence of a sysadmin can be guarenteed. See also the Linux Journal article on NBD for good exposition & HOWTO. See also Enhanced NBD a project to improve NBD. DRDB is similar in features to NBD (above), but builds in RAID-1 mirroring support (rather than using the Linux kernel's RAID support). This makes it more HA-aware, and better able to cope in an HA server room. GPL'ed, commerical support is available. Sistina's GFS Global File System. High-performance, flexible, commercial product, expensive. SteelEye offer data replication as a part of thier high-availbility suite of systems. It appears to be based on NBD (described above) together with the Linux RAID (md) layer. Commerical product. EverStor Replicator allows data to be pushed from a Unix server onto a Windows netowkr environment. Commercial product. Version Control, Configuration Management, and Automated Software DistributionDocument management systems are vital for controlling a collection of documents, managing web sites, managing changes and revisions to software, and updating the software & config files on large networks of computers. The venerable RCS, CVS and rdist systems can do a fraction of these tasks, but there are other tools as well, often better suited to particular tasks. The Version Control page lists some of these. Network ManagementSee the Linux Network Management Systems Page; primarily focused on SNMP based tools. IBM 370/390 Mainframe SupportWould you like to run Linux on a mainframe partition? RAS - Reliability, Availability, ServiceabilityLarge server installations are concerned with issues such as 'failover' and 'high-availability (HA)', which are just two buzzwords for setting up and managing systems that are extremely reliable, and are never 'down', even while a repairman is replacing a failed piece of hardware (disk drive, power supply, ethernet card ...). The buzzword 'serviceable' just means that an 'ordinary' system operator can easily keep the system up and running even while the repairman (the 'service' guy) is taking things apart with a screwdriver. 'Clusters' are usually collections of machines that are configured to work together with each other, frequently (but not always) set up with redundancy and failover ('fault tolerance') in mind. High-Availability.com offiers Linux HA products. SteelEye offiers Linux HA products. The High Availability Linux Project is the focus point for the development and use of high-availability servers and techniques. The Linux Virtual Server Project aims to build the clustering features into the Linux kernel and other subsystems so that a cluster of machines can appear to be a single (redundant, highly-available) server on the network. Global File System is a project to develop support for SAN (Storage Area Network) fabric support for Linux. A SAN fabric consists of a set of disk drives that multiple boxes can access. The disk drives are typically SCSI or Fibre-Channel attached. The GFS file system allows multiple hosts to mount the same disk drive at the same time, an perform typical file-system operations coherently, without corruption. Fake is an IP takeover switch useful for building redundant servers. The MON tool offers a monitoring infrastructure that can be used to implement High Availability features. The Linux High-Availability HOWTO describes a new project to add high-availability features to Linux. Please note the rapid response available from the linux security mailing list, and Linux CERT. Although security and cracker detection issues are not normally considered to be a part of 'high availability', note that one possible server failure mode is the cracker's 'cd /; rm -r *', if not the pedestrian denial-of-service (DoS) attack. RAID (Redundant Array of Inexpensive Disks) provides some protection against disk failure in a single system. Anecdotes about the largest linux installations around in terms of RAM, disk, network, cluster. The BugTraq mailing list. Please note Caldera is pursuing X/Open UNIX 95 (Spec 1170) branding for Linux. This includes POSIX.1 (FIPS 151-2) and XPG4 Base 95 (POSIX.2, FIPS 186). RAIDThere are several options for RAID (Redundant Array of Inexpensive Disks) for Linux, from pure-software disk striping and mirroring, to RAID-capable SCSI controllers and outboard boxes. Storage management software is another issue. I've slapped together a quick survey. Clusters and SMPClustering interfaces -- a way of hooking up multiple CPU's for single-system login, load-balanced web-serving, load-balanced database queries. A quick, dirty, old and obsolete survey of Linux SMP and clustering. The old, obsolete Linux Threads FAQ. MOSIX for Linux is a cluster-enablement technology that provides transparent process migration between nodes in a cluster. Migration is pre-emptive and transaparent to the user; processes run remotely via distributed system calls. MOSIX has been used to build several large clusters, including a 100-CPU cluster at Hebrew University. The Beowulf clustering technology provides Linux with the basic infrastructure needed for clustering. Beowulf has been used to build numerous large clusters, including the 140-CPU cluster Naegling at Caltech, the 68 node Lobos cluster at the National Institutes of Health, and the University of Paderborn cluster. Cluster batch processing/scheduling is supported with |
|