1. A computer system for selecting a preferred design architecture for a multi-tiered architecture based on a service specification, an infrastructure specification, and service requirements, comprising: a design generator configured to receive the service specification and the infrastructure specification and establishing candidate designs based thereon; and an availability evaluation engine configured to receive the candidate designs and provide an availability estimate for each of the received designs to the design generator; wherein said design generator is configured to operate in conjunction with the availability evaluation engine to, for each of plural tiers of the multi-tiered architecture: iteratively evaluate a plurality of candidate designs satisfying a first criterion based on available spare components for the tier and anticipated performance of resource components in the tier; select a lowest cost design from the plurality of candidate designs; and establish the lowest cost design as a preferred design.