Information Technology Reference
In-Depth Information
those open source projects were now creating software that was reliable enough for pro-
duction use. Linux matured. Apache proved to be faster, more stable, more feature rich,
and easier to configure than commercial platforms. MySQL was easier to install and man-
age than Oracle. Oracle's price tag was so high that the moment a free SQL database was
available, the flood-gates opened. Perl matured, added object-oriented features, and gained
acceptance outside of its initial niche as a system administration language. All of this was
unimaginable just a few years earlier. One combination of open source software was so
common that the acronym “LAMP” was coined, referring to the quartet of Linux, Apache,
MySQL, and Perl. The ability to use commodity servers running a free operating system
was revolutionary.
High Availability
While a LAMP system was less expensive, it was slower and less reliable. It would take
many such servers to equal the aggregate processing capacity of the larger machine being
replaced. Reliability was more complex.
Researchersstartedexperimentingwithusinglow-costcomponentstobuildservers.Re-
search such as Recovery-Oriented Computing (ROC) at University of California-Berkeley
( Pattersonetal.2002 ) discoveredthatmanysmallserverscouldworkbetterandbecheaper
than individual large servers. This was previously unheard of. How could that under-
powered CPU designed for desktops compete with a custom-designed Sun SPARC chip?
How could a cheap consumer-grade hard disk compete with a fancy SCSI drive?
The conventional engineering wisdom is that more components means more failures. If
one computer is likely to fail every 100 days, then it is likely that a system with two com-
puters will have a failure every 50 days. If you had enough computers, you were likely to
experience failures every day.
Research projects like ROC at UC-Berkeley and others reversed that logic. More com-
puters could be more reliable when “distributed computing” techniques were employed.
Rather than design a system where any one machine's failure prevented the system from
providing service, these researchers developed distributed computing techniques that let
many machines share the workload and have enough spare capacity that a certain percent-
age of the machines could be down and service would be unaffected.
ROC also observed that companies were paying for reliability at every level. The
load balancer provided reliability, sending traffic to only the “up” server(s). The servers
provided reliability by using expensive custom CPUs. The storage systems provided reli-
ability by using expensive RAID controllers and high-end hard drives. Yet, to avoid down-
timeduetoapplicationsthatrequiredmanualfailover,companiesstillhadtowritesoftware
tosurviveoutages.Whypayformanylayersofreliabilityandalsopaytodevelopsoftware
Search WWH ::




Custom Search