Daniel López Azaña

Theme

Social Media

Blog

GNU/Linux, Open Source, Cloud Computing, DevOps and more...

What is Web Architecture?

Reflections
Arquitectura y desarrollo web

Technology Architecture

Before you can get to define what web architecture is, first it is necessary to frame it properly. There are some roles related to architecture within the Information Technology industry, but basically we can do the following division:

  • System architects : combine different hardware components (computers and other devices) with software elements (operating systems) to build systems capable of providing the resources needed by applications or services wich run on top of them.

Typical diagram handled by a system architect

  • Data architects : design how information handled by applications is structured using databases.

Typical diagram handled by a data architect

  • Storage Architects : design storage area networks (SAN) that allow to store all the information generated by applications running on different information systems.

Typical diagram handled by a storage architect

  • Networking Architects : plan and design communication networks that allow data exchange between different information systems.

Typical diagram handled by a networking architect

  • Software Architects : more typically known as software engineers , these professionals design and build applications that provide services needed by users of information systems or other applications.

Web Architecture

It’s in the latter group where web architects fall, as a subgroup of software architects specialized in designing and building applications that are used through what is known as the Web, ie, using the HTTP protocol to communicate with users or with other web applications.

Sometimes this division is not so clear, especially in smaller projects where web architects may have to carry out tasks such as selection and sizing of hardware and software platforms used by web applications, forecasting and sizing of network traffic, providing the necessary resources to enable the application to assume that traffic volume, planning storage needs, ensuring availability through replication, clustering or other HA mechanisms, etc.

Web developing concepts

In any case, the skills that are genuinely specific to a web architect are:

  • Designing the user interface of web applications. In the case of a website, it would be the design of the website itself: look&feel (colors, images, fonts used, etc.), page layout, menu structure, visual elements, etc. Here come into play different disciplines such as graphic design , usability , user experience (UX) , user-machine interaction , website maps, etc., and terms like HTML5, CSS, DOM, Javascript, AJAX, web standards, etc.
  • Design and implementation of application logic , ie the set of capabilities wich it provides, such as user-entered data processing , results calculation from different input data, algorithms designing and implementation , manipulation of information stored in databases, executing different actions as a result of compliance with some given conditions or event triggering, etc. Ie planning and designing of what later is implemented using one or more programming languages.
  • Data architects are more concerned with sizing and designing an implementation of a specific database engine , while web architects are more concerned with information nature and how it is organized into a database.

Designing of information architecture , ie, determine the real-world information that the application will be able to handle, design a conceptual model wich is an accurate reflection of the real world with its different entities and relationships between those entities, determine the data model wich best suits that conceptual model, implement the data model on a particular database engine and move the necessary information to it for the application proper functioning. Do not confuse all this with the work of a data architect, wich is to organize the information inside databases to make better use of available resources, ie, determine which volumes or which physical disks are assigned to that databases, how to replicate those volumes to achieve data redundancy, how to optimize memory use or I/O, etc.

Web Architecture
Daniel López Azaña

About the author

Daniel López Azaña

Tech entrepreneur and cloud architect with over 20 years of experience transforming infrastructures and automating processes.

Specialist in AI/LLM integration, Rust and Python development, and AWS & GCP architecture. Restless mind, idea generator, and passionate about technological innovation and AI.

Related articles

Getting started

My first post

Despite interacting with the Internet and the blogosphere since its inception, I never before decided to write my own blog.I’ve been following lots of journals for many years and leaving my contributions in the form of comments or observations. Similarly I participate in numerous forums and debates offering and requesting help in many different disciplines. And of course I also contribute by writing occasional articles from time to time, as in the case of Gretur Viajes travel blog.

October 2, 2011
JAMstack Architecture - JavaScript APIs Markup

What is JAMstack? Modern Architecture for Ultra-Fast Websites

Discover how JAMstack revolutionizes web development with pre-generated static sites served from global CDN. Exceptional speed, improved security, unlimited scalability, and minimal hosting costs compared to traditional CMS platforms.

November 3, 2025
Carga del sistema y utilización de CPU en htop

What is the true meaning of system average load and CPU utilization in Linux?

The CPU average load value is a very important metric to understand the behavior of a Linux system, and especially its current and recent past status. Many times there is confusion between this term and percentage of CPU usage, but differences are important. In this article I will try to explain the true meaning of both and how to tell if a Linux box is overloaded or underutilized.It is shown in the different monitoring tools (top, atop, htop, etc.) as a set of 3 values representing the average CPU load experienced by a Linux system in the last 1, 5 and 15 minutes respectively. Therefore, a first difference is that these are historical values, while the percentage of CPU usage is typically measured in intervals of between 1 and 5 seconds, so their value is usually almost instantaneous.

May 31, 2016

Comments

Be the first to comment

Submit comment