Architectural Views for building Cloud Systems

From the Open Group

  • Business Architecture views, which address the concerns of the users of the system, and describe the flows of business information between people and business processes
  • Data Architecture views, which address the concerns of database designers and database administrators, and system engineers responsible for developing and integrating the various database components of the system
  • Applications Architecture views, which address the concerns of system and software engineers responsible for developing and integrating the various Application Software components of the system
  • Technology Architecture views, which address the concerns of acquirers (procurement personnel responsible for acquiring the Commercial Off-The-Shelf (COTS) software and hardware to be included in the system), operations staff, systems administrators, and systems managers

Views from both IT and Business perspectives mapped to the Zachman framework

  • Business Architecture views (see Developing a Business Architecture View) address the concerns of users, planners, and business managers, and focus on the functional aspects of the system from the perspective of the users of the system; that is, on what the new system is intended to do, including performance, functionality, and usability. These can be built up from an analysis of the existing environment and of the requirements and constraints affecting the new system.
    • The People view focuses on the human resource aspects of the system. It examines the human actors involved in the system.
    • The Business Process view deals with the user processes involved in the system.
    • The Business Function view deals with the functions required to support the processes.
    • The Business Information view deals with the information required to flow in support of the processes.
    • The Usability view considers the usability aspects of the system and its environment.
    • The Business Performance view considers the performance aspects of the system and its environment.
  • Data Architecture views and Applications Architecture views address the concerns of the database designers and administrators, and the system and software engineers of the system. They focus on how the system is implemented from the perspective of different types of engineers (security, software, data, computing components, communications), and how that affects its properties. Systems and software engineers are typically concerned with modifiability, re-usability, and availability of other services.
    • The Data Flow view (see Developing a Data Flow View) deals with the architecture of the storage, retrieval, processing, archiving, and security of data. It looks at the flow of data as it is stored and processed, and at what components will be required to support and manage both storage and processing.
    • The Software Engineering view (see Developing a Software Engineering View) deals with aspects of interest to software developers. It considers what software development constraints and opportunities exist in the new system, and looks at how development can be carried out, both in terms of technology and resources. The software engineering view is particularly important in that it provides a reference for selection of building blocks related to elements of the existing system that may be re-used in the Target Architecture.
    • The System Engineering view (see Developing a System Engineering View) presents a number of different ways in which software and hardware components can be assembled into a working system. To a great extent the choice of model determines the properties of the final system. It looks at technology which already exists in the organization, and what is available currently or in the near future. This reveals areas where new technology can contribute to the function or efficiency of the new architecture, and how different types of processing platform can support different parts of the overall system.
  • Technology Architecture views address the concerns of the acquirers, operators, communications engineers, administrators, and managers of the system.
    • The Communications Engineering view (see Developing a Communications Engineering View) addresses the concerns of the communications engineers. It examines various ways of structuring communications facilities to simplify the business of network planning and design. It examines the networking elements of the architecture in the light of geographic constraints, bandwidth requirements, and so on.
    • Acquirer’s views (see Developing an Acquirer’s View) address the needs of an acquirer or procurer, providing appropriate guidance for purchasing components that “fit” the architecture. Acquirer’s views of the architecture are primarily concerned with costs, and standards that must be adhered to; for example:
      • The Cost View
      • The Standards View

These views typically depict building blocks of the architecture that can be purchased, and the standards that the building blocks must adhere to in order for the building block to be most useful.

  • Composite views:
    • The Enterprise Manageability view (see Developing an Enterprise Manageability View) addresses the concerns of the operations, administration, and management of the system, and concentrates more on the details of location, type, and power of the equipment and software in order to manage the health and availability of the system. It covers issues such as initial deployment, upgrading, availability, security, performance, asset management, fault and event management of system components, from the management perspective of the following subject matters:
      • Security
      • Software
      • Data
      • Computing/Hardware
      • Communications
    • The Enterprise Security view (see Developing an Enterprise Security View) focuses on the security aspects of the system for the protection of information within the organization. It examines the system to establish what information is stored and processed, how valuable it is, what threats exist, and how they can be addressed.

Architects also have concerns of their own which basically define the fitness-for-purpose of an effort. Architects must understand completeness, where completeness includes considering all relevant views, the relationships between those views, and dealing with the conflicts that arise from those different views. Architects also must deal with viability of the architecture: if the architecture is not capable of being implemented, then its value is in doubt.