CyberInfrastructures (CIs) are complex socio-technical-economical systems that are difficult to describe, design, analyze, and evaluate. As one example, E-Health CIs are patient-centric community-serving systems that have particular regulations for information security, governance, resource management, scalability, and maintainability. We have built multiple successful E-Health interdisciplinary projects at the University of California, San Diego, including CY berinfrastructure for CO mparative effectiveness REsearch (CYCORE) for cancer clinical trials, P ersonal A ctivity L ocation M easurement S ystem (PALMS) for studying human activity patterns, CitiSense for sensing city pollution, and I ntegrating D ata for A nalysis, A nonymization, and SH aring (iDASH), which is a National Center for Biomedical Computing. These CIs have served their user communities well with respect to their projects’ goals and durations. Due to their shared requirements, these systems were all designed around the service bus-based Rich Services software architecture. However, there are also significant differences in how these CIs were designed and implemented, which might be informative to the community of CI developers. In this chapter, we detail our experience with developing E-Health CIs from the software quality perspective. We start from generic CI requirements along with domain and application-specific requirements, and we analyze the tradeoffs of development and deployment choices and propose a blueprint for next generation CIs. The main question that we answer is: How can we improve the quality of the next CIs by capitalizing on lessons learned, the best architectural and implementation choices, and reusing elements from previously existing systems? We present three contributions. First, we identify a set of activities and attributes that enable us to assess the quality of a CI with regard to important maintenance activities that are common to all CIs. These activities and attributes and the way we perform the evaluation are generic and can be applied to other projects and domains. Second, we analyze multiple projects and identify a set of common requirements for CIs and applications in the E-Health domain. We separate these requirements into common requirements that apply to all CIs, E-Health specific requirements that apply to CIs and most applications in the Health domain, and application-specific requirements. This separation makes many requirements reusable, and we expect that they will inform the development of future E-Health CIs and applications. Finally, we identify a set of architectural and implementation recommendations that will help developers create higher quality CIs for the E-Health domain.