Skip to main content

Types of architecture

 

Based on Coverage or Scope

Different viewpoints of a system play a crucial role in architectural discussions. The same applies to architecture and its various types. (Note: This discussion is limited to IT and the software industry, not the construction industry.)

If we categorize architecture based on its coverage or scope, the following types emerge:

  • Enterprise Architecture: Covers the entire organization, including its people, business, and processes.
  • Segment Architecture: Focuses on a specific business unit or segment.
  • Solution Architecture: Addresses a particular application or function.

Based on Level of Abstraction

Architecture types can also be defined based on the level of abstraction at which a system is analyzed, including its constituents, their relationships, and behaviors:

  • Enterprise Architecture

    • Scope: Entire organization
    • Level: Abstract (less detail)
    • Outcome: Strategic insights
  • Segment Architecture

    • Scope: Business unit
    • Level: Moderate detail
    • Outcome: Business objectives
  • Solution Architecture

    • Scope: Specific application or function
    • Level: Detailed
    • Outcome: Specific operational solutions

Architecture Types Based on Aspect/Domain

Architecture can also be classified based on the domain or aspect it focuses on:

  • Business Architecture
  • Data/Information Architecture
  • Application Architecture
  • Technology (Infrastructure) Architecture

Enterprise Architecture can be considered a superset of these architecture types. Solution Architecture also describes Information Architecture, Infrastructure, Business View, and Application Architecture in more detail.


Relationship with Other Architectures

Systems Architecture vs. Software Architecture

  • Systems Architecture

    • Encompasses hardware, software, networks, and interactions within a system.
  • Software Architecture

    • Focuses on the detailed structure of a software system, including its components, their relationships, architectural style, and patterns.
    • It provides more detailed insights compared to Solution Architecture, as it is specific to software systems.

(There is a separate page on Software Architecture on this site for more details.)


Alternative Categorization of Architectural Work

Some divide architecture into the following types:

  • Enterprise Architecture – Covers the entire organization, strategic, high-level.
  • Domain Architecture – Focuses on specific domains such as applications, data, infrastructure, etc.
  • Solution Architecture – Operates at the project level, focusing on specific solutions.

Common Architectural Domains:

  • Application Domain
  • Infrastructure Domain
  • Data Domain
  • Business Domain
  • Security Domain (though its inclusion in this list is debatable)
  • Integration Domain
  • Network Domain (questionable, as every specialization does not necessarily constitute an architecture domain)

According to this perspective:

  • Enterprise Architects cover various domains but operate at a high level with broad scope and limited depth.
  • Solution Architects have broad coverage but work at a lower level of detail.
  • Software Architects are similar to Solution Architects but focus specifically on software design, including components, structures, patterns, layers, and frameworks. Their scope is narrower, but their depth is greater.
  • Domain Architects specialize in a specific domain, providing expertise across all levels within that domain.

Final Thoughts

Other types of architectures either introduce new terminology or overlap with existing ones. Many organizations and websites use different terms without clearly defining their relationships and distinctions. If you find a comprehensive list of such architectural jargons or duplications, please let me know.

Comments

Popular posts from this blog

Virtual environments in python

 Creating virtual environments is essential for isolating dependencies and ensuring consistency across different projects. Here are the main methods and tools available, along with their pros, cons, and recommendations : 1. venv (Built-in Python Virtual Environment) Overview: venv is a lightweight virtual environment module included in Python (since Python 3.3). It allows you to create isolated environments without additional dependencies. How to Use: python -m venv myenv source myenv/bin/activate # On macOS/Linux myenv\Scripts\activate # On Windows Pros: ✅ Built-in – No need to install anything extra. ✅ Lightweight – Minimal overhead compared to other tools. ✅ Works across all platforms . ✅ Good for simple projects . Cons: ❌ No dependency management – You still need pip and requirements.txt . ❌ Not as feature-rich as other tools . ❌ No package isolation per project directory (requires manual activation). Recommendation: Use venv if you need a simple, lightweight solut...

Building a Simple Text Generator: A Hands-on Introduction

Introduction Text generation is one of the most exciting applications of Natural Language Processing (NLP) . From autocorrect and chatbots to AI-generated stories and news articles , text generation models help machines produce human-like text. In this blog post, we’ll introduce a simple yet effective text generation method using Markov Chains . Unlike deep learning models like GPT, this approach doesn’t require complex neural networks—it relies on probability-based word transitions to create text. We’ll walk through: ✅ The concept of Markov Chains and how they apply to text generation. ✅ A step-by-step implementation , fetching Wikipedia text and training a basic text generator. ✅ Example outputs and future improvements. The Concept of Markov Chains in Text Generation A Markov Chain is a probabilistic model that predicts future states (or words) based only on the current state (or word), rather than the full sentence history. How it works in text generation: 1️⃣ We analyze a gi...

Mastering Trade-Off Analysis in System Architecture: A Strategic Guide for Architects

 In system architecture and design, balancing conflicting system qualities is both an art and a science. Trade-off analysis is a strategic evaluation process that enables architects to make informed decisions that align with business goals and technical constraints. By prioritizing essential system attributes while acknowledging inevitable compromises, architects can craft resilient and efficient solutions. This enhanced guide provides actionable insights and recommendations for architects aiming to master trade-off analysis for impactful architectural decisions. 1. Understanding Trade-Off Analysis Trade-off analysis involves identifying and evaluating the conflicting requirements and design decisions within a system. Architects must balance critical aspects like performance, scalability, cost, security, and maintainability. Since no system can be optimized for every quality simultaneously, prioritization based on project goals is essential. Actionable Insights: Define key quality ...