Context. The design of Information Technology (IT) infrastructures is a challenging task
since it implies proficiency in several areas that are rarely mastered by a single person,
thus raising communication problems among those in charge of conceiving, deploying,
operating and maintaining/managing them. Most IT infrastructure designs are based
on proprietary models, known as blueprints or product-oriented architectures, defined by vendors to facilitate the configuration of a particular solution, based upon their services and products portfolio. Existing blueprints can be facilitators in the design of solutions for a particular vendor or technology. However, since organizations may have infrastructure components from multiple vendors, the use of blueprints aligned with commercial product(s) may cause integration problems among these components and can lead to vendor lock-in. Additionally, these blueprints have a short lifecycle, due to their association with product version(s) or a specific technology, which hampers their usage as a tool for the reuse of IT infrastructure knowledge.
Objectives. The objectives of this dissertation are (i) to mitigate the inability to reuse
knowledge in terms of best practices in the design of IT infrastructures and, (ii) to simplify the usage of this knowledge, making the IT infrastructure designs simpler, quicker and better documented, while facilitating the integration of components from different vendors and minimizing the communication problems between teams.
Method. We conducted an online survey and performed a systematic literature review
to support the state of the art and to provide evidence that this research was relevant
and had not been conducted before. A model-driven approach was also used for the
formalization and empirical validation of well-formedness rules to enhance the overall
process of designing IT infrastructures. To simplify and support the design process, a
modeling tool, including its abstract and concrete syntaxes was also extended to include the main contributions of this dissertation.
Results. We obtained 123 responses to the online survey. Their majority were from
people with more than 15 years experience with IT infrastructures. The respondents
confirmed our claims regarding the lack of formality and documentation problems on
knowledge transfer and only 19% considered that their current practices to represent IT Infrastructures are efficient. A language for modeling IT Infrastructures including an abstract and concrete syntax is proposed to address the problem of informality in their
design. A catalog of IT Infrastructure patterns is also proposed to allow expressing best
practices in their design. The modeling tool was also evaluated and according to 84%
of the respondents, this approach decreases the effort associated with IT infrastructure
design and 89% considered that the use of a repository with infrastructure patterns, will
help to improve the overall quality of IT infrastructures representations. A controlled
experiment was also performed to assess the effectiveness of both the proposed language and the pattern-based IT infrastructure design process supported by the tool.
Conclusion. With this work, we contribute to improve the current state of the art in
the design of IT infrastructures replacing the ad-hoc methods with more formal ones to
address the problems of ambiguity, traceability and documentation, among others, that
characterize most of IT infrastructure representations. Categories and Subject Descriptors:C.0 [Computer Systems Organization]: System architecture; D.2.10 [Software Engineering]: Design-Methodologies; D.2.11 [Software
Engineering]: Software Architectures-Patterns