This paper considers service provider network design with a view of meeting application availability. Our primary goal is to design a service provider network using disparate network components and low-availability Virtual Network Functions (VNFs) while achieving high-availability Service Function Chains (SFCs). To this end, we attempt to answer the questions as to how much redundancy, and what type of redundancy should be incorporated in the network. Initially, we model a state-of-the-art provider architecture that is spread across the access, metro-core and backbone networks with associated discrete components such as switches, routers, optical equipment and data-centers. Our network design model leads to computing the amount of over-the-top (OTT) services that can be provisioned over a given network while achieving a particular availability. To this end, we formulate a constrained optimization model whose objective is profit maximization subject to availability measures that OTT services demand. We provide constraints of robustness that facilitate traffic churn. Four heuristics are also proposed with objectives that consider the breadth of the three key impacting parameters: VNF licensing cost, server utilization and delay optimization and the case for dynamic traffic. A simulation model presents comparative data for efficiency, latency and server utilization as well as validates our optimization model. The results stress the importance of an efficient optimization model in planning the network, as well as planning VNF placement ahead in time.