Clustering for scalability breaks down a unit of work to be done into smaller pieces and spreads those pieces among the computers in the cluster. Unexpected computer downtime costs millions. Given today's distributed systems and our current computing infrastructures, this level of availability can't be achieved. But that's one less thing to worry about. To obtain true fault-tolerance, you must eliminate every single point of failure that can interrupt your service goals.
Redundancy is the key from start to finish.
High-availability computer components and connections to the systems' public network are important. Business users can choose from scads of high-availability solutions. Many of them contain some intelligence in the application so failover can be handled at the application level. You need the redundancy provided by server-class architecture, but just as important, you need expansion slots for redundant public and private networks and redundant disk host bus adapters for shared storage and host bus adapters for the private disk space. That's a minimum of six slots depending on what's built onto the motherboard, not counting any other expansion needs.