- Quality of Design
- The Intelligent Architectures Archetypes in Detail
- Archetype Attributes
- Combining Archetypes Into Designs
- Structured Design vs. Ad Hoc Design
- Summary
- Acknowledgements
The Intelligent Architectures Archetypes in Detail
The IA archetypes can be considered reusable components, however, they are not "objects" or "black boxes" that can be dropped into place and used as-is. Archetypes take into account the hard datacenter reality that only the most trivial of problems can be resolved by an unmodifiable black box. Archetypes can be viewed as lumps of clay rather than pythagorean solids.
Archetypes are abstractions of hardware and software services, defined to meet the most basic system architecture needs. More importantly, archetypes are also defined to be adaptable and extensible to the real-world needs of a datacenter. To achieve this, archetypes have attributes to augment or modify the behavior or function of an archetype. To use an analogy from the physical sciences, the archetype may be thought of as a molecule, and its attributes as the atoms that comprise the molecule.
For example, all archetypes have a security attribute. This security attribute is used to control and modify all security and access aspects of the archetype. In the case of the data store archetype, the security attribute defines the security policies and file access permissions for the data to be placed in the data store.
By designing systems from the reusable, well-defined, debugged archetypes, consistent systems can be readily deployed and managed in the datacenter.
The following sections describe the IA archetypes and the common archetype attributes.
Data Store
The Data Store archetype abstracts all data storage resources including memory (RAM and virtual memory), disk drives, storage area networks (SAN), and tape drives. It is important to note that not all of the sub-components of the Data Store archetype are persistent memory. For example, server memory (RAM) is included as part of a data store. A data store also includes services such as logical volume management to combine attributes or sub-components of the data store to provide reliable and highly available data stores.
The Data Store archetype serves as a repository for all storage resources, and the needs of the application determine the appropriate resource to be used from the repository. For example, if the application requires reliable, available, persistent storage, RAID1+0 volumes would be used.
Data Manipulation
The Data Manipulation archetype is the repository for resources and services that manipulate or manage data. For example, this archetype abstracts the CPU and computing resources, clustering, fail-over, and highly available (HA) frameworks.
For the purposes of systems architecture, the operating system is considered data. This implies that the management and layout of the on-disk operating system image is considered part of the Data Manipulation archetype.
Data Transport
The Data Transport archetype is the abstraction for moving data between the Data Store and the Data Manipulation archetypes. This can include system buses, as well as networks and network protocols.
User Interface
The User Interface archetype serves as the repository for the requirements and specifications for how data is presented to the end user, as well as the requirements and methods of access.
It is important to note that in this sense, the user may be another system or service. This concept is crucial for combining archetypes into systems and combining systems into datacenters.
Physical Plant
The Physical Plant archetype is comprised of the physical requirements and needs of a system. Examples include power requirements, optimal operating temperature range, and required floor space.
The Physical Plant archetype also contains location information for the datacenters and systems. This includes the location of the datacenter and building that house the system or archetype, as well as information about its location within the datacenter.
Nerve Center
The Nerve Center archetype is the abstraction for the control and maintenance functions necessary for a system. This includes datacenter and system management and notification applications (such as Sun™ Management Center software), systems administration, service level agreements, datacenter and operations staff, and staging environments to perform unit and integration testing.
Business Continuity Planning
The Business Continuity Planning (BCP) archetype is the repository for the requirements and components for providing uninterrupted services during business disruptions or natural disasters.
This archetype provides the disaster recovery plans, as well as service requirements during a disruption.
Life Cycle
The Life Cycle archetype is the abstraction for the management and planning of the design, deployment, maintenance, and eventual decommission of a system.
This archetype embodies the procedures and processes of deploying a system and validating that it is production-ready, as well as maintenance information and runbooks for a system.