Apart from working as software engineer & technology architect for over 18 years, I have also been conducting training & workshops on Technology Architecture for many years now. People often ask me to share articles on Technology Architecture that they can read and learn about technology architecture. There are many papers published on the internet but not all of them are easy to understand and some of them are quite dull and boring. I am going to start posting about Technology Architecture in the way I explain it to my workshop participants and hopefully people will find it useful read.
A building architecture
What is Technology Architecture?
When constructing a building an Architect interact with customer to understand the requirements and how the building will be used and then he create the architecture blueprint that gets reviewed & approved by the civic authorities before a civil engineer starts the construction of the building.Once the blueprint is ready the architect will use the blueprint to explain to the builder, civil engineers and contractors about the type of foundation, material that should be used and how to build the building.
In software engineering the Technology Architect creates the Technology Architecture which at nothing but set of high level components that will help him create the architecture blueprint.Once the blueprint is ready the architect will use the blueprint to explain to the development team how the software should be constructed.So Technology Architecture is the blueprint of the software solution.
The Technology Architecture defines
1) the building blocks of the software
2) the relationship of blocks with each other & how the blocks will work together
4) how the current & future business requirement are being met by the solution
5) the standards that are to be followed
6) how solution can reuse certain components of the block
7) how to meet the technical and non-technical requirements ( system performance, throughout, response time, security, scalability etc)
Snapshot of Technology Architecture blocks
Note- The above sample image is of Microsoft Azure Architecture Blueprint
A building architecture
What is Technology Architecture?
When constructing a building an Architect interact with customer to understand the requirements and how the building will be used and then he create the architecture blueprint that gets reviewed & approved by the civic authorities before a civil engineer starts the construction of the building.Once the blueprint is ready the architect will use the blueprint to explain to the builder, civil engineers and contractors about the type of foundation, material that should be used and how to build the building.
In software engineering the Technology Architect creates the Technology Architecture which at nothing but set of high level components that will help him create the architecture blueprint.Once the blueprint is ready the architect will use the blueprint to explain to the development team how the software should be constructed.So Technology Architecture is the blueprint of the software solution.
The Technology Architecture defines
1) the building blocks of the software
2) the relationship of blocks with each other & how the blocks will work together
4) how the current & future business requirement are being met by the solution
5) the standards that are to be followed
6) how solution can reuse certain components of the block
7) how to meet the technical and non-technical requirements ( system performance, throughout, response time, security, scalability etc)
Note- The above sample image is of Microsoft Azure Architecture Blueprint