Back to Blog
5 min read April 4, 2022

Tiers in Software Architecture

V

Velda Kiara

Creative Engineer

Tiers in Software Architecture

Software architecture is the organization of components in a system that includes how they interact with each other, the environment they operate in, and the principles used to design the software. Web application architecture is the conceptual description of the interactions between different components from the user interface, backend servers, cache servers, and databases.

Through this article, you will learn different types of tiers, examples, advantages, and disadvantages.

Tiers

As defined by Wikipedia, A tier is a term used to describe the physical distribution of components of a system on separate servers.

Types of Tiers

Single Tier Applications

In a single-tier application, all the elements: the user interface, the backend logic, and the database are in one place. A good example is Microsoft Office, where the user installs the application on their computer. They can easily access the files from their computer since they are available locally.

Screenshot 2022-04-04 at 00.14.15.png

Advantages of Single Tier Applications

Disadvantages of Single Tier Applications

Two-Tier Applications

Two-tier applications have application logic and the user interface on the client while the server contains the data stored. An example of a two-tier application is a music player.

Screenshot 2022-04-04 at 00.06.18.png

Advantages of Two-Tier Applications

Disadvantages of Two-Tier Applications

Three-Tier Applications

Three-tier applications are organized into three tiers the logical and physical tier, application tier, and data tier.

  1. The logical and physical computing tier is where the user interacts with the application
  2. The application tier is where data is processed using a set of business rules
  3. Data tier is where processed information is stored and managed.

The logical and physical computing tier contains the presentation or the user interface. The application is where data is processed, and the data tier stores and manages the application data.

Communication in the three-tier goes through the application tier. The physical tier and data tier cannot communicate directly. An excellent example of a three-tier application is a web application built by React and Tailwind as the interface, Django as the backend, and PostgreSQL as the database.

Screenshot 2022-04-04 at 15.46.02.png

Advantages of Three-Tier Applications

Disadvantages of Three-Tier Applications

N-Tier Applications

N-tier applications include dividing the architecture into logical layers and physical tiers. Layers are differentiated from tiers in that layers are the logical organization of code while tiers are the physical separation of components. Layers separate responsibilities and manage dependencies. Layers at a higher level can use services from a lower level, but the lower level cannot use services from a higher level.

An N-tier application can have a closed layer architecture or an open layer architecture. In a closed layer architecture, a layer can only call the next layer immediately down. In an open layer architecture, a layer can call any layers below it. A closed-layer architecture limits the dependencies between layers. However, it might create unnecessary network traffic if one layer passes requests to the next layer. Application Architecture Guide, Microsoft

An excellent example of an application that used an N-tier application is Instagram.

Wikimedia

image from wikimedia

Advantages of N-Tier Applications

Disadvantages of N-Tier Applications

Conclusion

Knowing the different tiers helps you understand the tradeoffs made to build good software applications.

Credits

Wikipedia hackr.io quora Geeksforgeeks Techopedia Dotnetspider IBM Martini geeks stackify

More to read

Enjoying my work? Buy me a piping hot chocolate

All photographs on this page were taken by V.Kiara — if you'd like to use them, please reach out first.