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

What is Web Architecture?

No comments

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.

Class diagram typically handled by a software engineerULM diagram handled by a software architect

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.



 

About the author

Daniel López Azaña
Cloud Solutions Architect

Entrepreneur, a generator of ideas and restless mind. Passionate about new technologies, especially Linux systems and Open Source Software. I also like to write about Technology News, Cloud Computing, DevOps, System Security, Web Development and Programming, SEO, Science, Innovation, Entrepreneurship, etc.

DanielWhat is Web Architecture?

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *