Patterns in IT architecture

Patterns are "Good Practices" for architecting, designing and building IT systems.

The past decennia IT systems are built for solving many types of problems. Many of these solutions can be re-used. Patterns describe re-usable solutions. Many hundreds of patterns exist in the IT industry today, for all types of solutions, like software design, infrastructure, etc.

Patterns describe the best way to solve a problem. Examples of patterns are (in no particular order):

  • Working in layers
  • How to setup redundancy
  • Using plugins
  • DMZ
  • Snapshots
  • Using caching

The patterns describe the problem that is solved, the working area, the actual solution and the advantages and disadvantages of the solution.

Grady Booch describes on his website (sign-on is necessary) a collection of patterns that are described in various books available on the market. The patterns are only stated on the site, the actual description of the pattern can be found in the books (the names of the books and ISBN numbers are also stated on the site).

Besides patterns, there are also Anti-patterns. These describe solutions that will not work in practical situations, but are still used frequently in designs. 

Lately, I have read a few books on patterns and anti-patterns. While for most architects and designers the patterns don't contain much new insights (most of what is described can be found in the day-to-day practice), there are always some issues that can be learned from. Apart from that, patterns are what the Germans call a "aha-erlebnis": one gets the confirmation that the choices made in (previous) projects were the right ones.

If you have to design solutions in areas that you have little experience with, studying patterns is recommended, as well as having knowledge about anti-patterns. This will prevent you for making generally made errors and mistakes, and it helps architecting proven IT solutions.

This entry was posted on Thursday 21 June 2007

Earlier articles

The cloud is as insecure as its configuration

Infrastructure as code

My Book

DevOps for infrastructure

Infrastructure as a Service (IaaS)

(Hyper) Converged Infrastructure

Object storage

Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Software Defined Storage (SDS)

What's the point of using Docker containers?

Identity and Access Management

Using user profiles to determine infrastructure load

Public wireless networks

Supercomputer architecture

Desktop virtualization

Stakeholder management

x86 platform architecture

Midrange systems architecture

Mainframe Architecture

Software Defined Data Center - SDDC

The Virtualization Model

What are concurrent users?

Performance and availability monitoring in levels

UX/UI has no business rules

Technical debt: a time related issue

Solution shaping workshops

Architecture life cycle

Project managers and architects

Using ArchiMate for describing infrastructures

Kruchten’s 4+1 views for solution architecture

The SEI stack of solution architecture frameworks

TOGAF and infrastructure architecture

The Zachman framework

An introduction to architecture frameworks

How to handle a Distributed Denial of Service (DDoS) attack

Architecture Principles

Views and viewpoints explained

Stakeholders and their concerns

Skills of a solution architect architect

Solution architects versus enterprise architects

Definition of IT Architecture

What is Big Data?

How to make your IT "Greener"

What is Cloud computing and IaaS?

Purchasing of IT infrastructure technologies and services

IDS/IPS systems

IP Protocol (IPv4) classes and subnets

Infrastructure Architecture - Course materials

Introduction to Bring Your Own Device (BYOD)

IT Infrastructure Architecture model

Fire prevention in the datacenter

Where to build your datacenter

Availability - Fall-back, hot site, warm site

Reliabilty of infrastructure components

Human factors in availability of systems

Business Continuity Management (BCM) and Disaster Recovery Plan (DRP)

Performance - Design for use

Performance concepts - Load balancing

Performance concepts - Scaling

Performance concept - Caching

Perceived performance

Ethical hacking

The first computers

Open group ITAC /Open CA Certification

Sjaak Laan

Recommended links

Ruth Malan
Gaudi site
Esther Barthel's site on virtualization
Eltjo Poort's site on architecture


XML: RSS Feed 
XML: Atom Feed 


The postings on this site are my opinions and do not necessarily represent CGI’s strategies, views or opinions.


Copyright Sjaak Laan