The Guide to Practical and Pragmatic IT Architecture Design

IT Architecture Framework

The IT architecture model describes the layers and components that are needed for a specific solution. But as there are different types and sizes of applications, one would wonder what should a good technology architecture design include. The fact is that it is quite simple, and the very first step is to understand what the fundamental blocks of the application are.

There is one general rule in architecture design and that is that any application only has 6 fundamental layers:
  1. Front-end,
  2. Functional capabilities or functionalities,
  3. Data,
  4. Integration,
  5. Platform & Infrastructure, and
  6. DevSecOps

IT Architecture Framework


With these 6 blocks (we focus on the first 5 in this section) one can describe any type and size of application. And to illustrate that, we show two examples:
  • Doorbell, a doorbell system is very simple and using the framework the architecture would that the button is the front-end interaction with user, the logic is that if the button is pressed, a sound will ring. The data is the tone and melody that will sound once pressed. And the platform is an electronic circuit board that hosts the device. In this case there is no integration as the doorbell does not connect with any other device or system.  
Doorbell Architecture
  
  • A more complex example is a bank ATM where a customer can check his or her balance and obtain money. The front-end is the ATM machine outside the bank, the functionalities are "check account balance" and "take out money", the data is the balance of clients' accounts and the platform and infrastructure are the ATM machine and the server that hosts the application. In this case it also integrates with other banks in case the customer is not client from the same bank. So the IT architecture would look like the following:   
ATM Architecture


One may ask why we need these five components rather than more or less components or even just one single box. It is obviously true that for a small application the design can fit easily one page, while a large complex application its design documentation could cover multiple pages. But the main reason for describing architecture with these five elements is that it provides two main benefits:
  1. It ensures that all application capabilities are addressed. It provides an inventory of capabilities that any application needs to have. We can see that as above any type of application needs these capabilities to work. It is a checklist to verify that the designer has thought off all technology capabilities to make the solution work.

  2. It decouples the Application design. This framework provides flexibility and scalability. The application is easier to make future proof, because once the application needs to be scaled up and accommodate more volumes and growth, specific components can be exchanged and designed and built separately without affecting the other components. It avoids the big mistake early monolithic application designs had when  they were inflexible and could not accommodate any major changes in the application architecture without major releases. With this structure it provides that flexibility and agility that many companies are looking for. 

Therefore, for any application, this IT architecture model can be used as a reference framework when designing your solution. In the following sections we describe each component in more detail.

We show the overall architecture framework with all its layers and its respective capabilities in this diagram:
Technology Architecture Framework

You can find more details about each layer of this IT Framework in the following links:

1 comment:

itarch.info said...

Interesting note on tecnical architecture: https://www.cio.com/article/3634472/technical-architecture-what-it-does-for-a-living.html