WTH is Technical Architecture | Beginner-Friendly Explanation
As someone who loves explaining complex things in simple words, I think it’s time to explain what technical architecture is. We all know what IT is, right? It’s all that hardware and software that we use daily. And as for architecture: in general, it is the art of designing and constructing buildings; in IT, it’s the art of designing and constructing IT solutions. Here you go, I’ve explained it all, thanks for reading! ??
Technical architecture (TA) aligns closely with Technology Architecture (as you can see, also TA). Technical architecture can refer to the layered structure, while Technology Architecture (TA) specifically handles software components, integration platforms, data, infrastructure, and cloud.
There are three layers in the whole picture:
Layer 1: Enterprise Architecture (EA)
Layer 2: Solution Architecture (SA)
Layer 3: Technology Architecture (TA) or IT Architecture (same).
Enterprise Architecture (EA) is the blueprint that focuses on aligning business strategy and structure with technology. It includes security, communication applications (email, chat), development tools (DevOps, backup, archiving), data analytic tools, web/portal/mobile apps, integration platforms (ESB, API, and other tools that allow different software to connect and share data). EA focuses on the entire business.?
Solution Architecture (SA) includes a set of functionalities needed to meet business objectives, the logic behind them, and the information associated with them. SA focuses on individual solutions connected to business needs.?
Technology Architecture (TA), or IT architecture, is a set of software and hardware components needed to meet not as much business objectives as a specific solution, the logic behind it, and data associated with it. TA focuses on specific tools and technology for implementation in business.?
Now, the combination of all three layers (EA, SA, TA) contribute to a cohesive IT architecture that aligns business needs with technical solutions.?
Each layer represents different types of architectural focus and addresses different aspects of a business’s needs.
I could've stopped here but during my research, I bumped into this amazing video (credits to @Going Headless with John) where another two interesting concepts were described, directly related to what I've just explained above.?
When starting a technical architecture in business, you don't have to start from scratch because there are pre-constructed IT architectures in systems development with their own technical styles and patterns that you can base on.?
The two new concepts alert: technical styles and technical patterns. They are coming out of 2 separate domains: technical architecture and technical design. What is the difference and what is the point - let me explain.?
A Technical Architecture Style helps define the structure of a system by setting general principles and rules. Styles don’t solve specific problems but provide a framework for the overall approach.?
For example:?
Layered Architecture Style separates different parts of an application into distinct layers, such as a presentation layer, a business logic layer, and a data access layer. This allows better scalability and separation of concerns.?
Microservices Architecture Style breaks down applications into smaller, independently deployable services. This promotes flexibility and allows different teams to work on separate parts of an application without stepping on each other's toes.?
Technical Architecture Patterns offer reusable solutions to recurring problems within a chosen architectural style. Patterns work within guidelines of a style to solve specific technical problems. By leveraging established patterns, developers can approach common challenges with confidence, knowing they’re using a proven, reliable approach.
For example:?
Model-View-Controller (MVC): Often used in web applications, this pattern divides an application into three interconnected components—Model, View, and Controller—to separate the internal data from the user interface.?
Repository Pattern: A data-access pattern that abstracts the data layer, making the underlying data access mechanisms easier to change without impacting the rest of the application. This makes it easier to switch databases or even add new data sources.?
Most of the time, technical styles relate to EA approaches while technical patterns address challenges within TA.?
That’s all I wanted to reveal. If it wasn't beginner-friendly enough, then stop being a beginner. ??