Software Development contrasts many needs, from the generation of code and production of algorithms, database and storage to security issues that are becoming more sensitive. All these needs must converge in the architecture of the information systems as a whole, and it is the job of architecture managers to ensure that these different pieces fit together.
Something similar to what happens with architecture, as the word is traditionally conceived, happens in Systems Engineering. The students of any Faculty of Architecture study thousands of designs, proposals, and styles, differentiate times and pay attention to the functionalities that are required by the clients in one or another building. A Software Architect must study information systems in the same way as an architect does with buildings and constructions, being careful to understand their learning and experience as a range of good practices and sensible solutions. At this point, it is important not to fall into the typical design error that is reuse. It may sound strange to someone in the software world who for years has been taught that reuse is a mainstay of the world of information systems, but in the case of design, it can be harmful. The engineer must be careful how he reuses his designs and for a very simple reason: all designs solve different problems and the technology is optimised for a particular problem.
The Architecture of an Information System must be intimately linked with the purpose of the software and its specific purpose, these issues together with the economic scenario will guide the architect on the adequate construction of an information system, incorporating it with the functional and non-functional aspects relevant to the operation of the system.
From above, we can conclude that we cannot try to cover every part of the system with a single component. For example, although relational databases are very good for storing large amounts of information, they are not efficient enough to perform certain types of searches such as those called FULL TEXT and for this, there are other solutions that better achieve this goal. This does not happen exclusively with the searches and the way information persists, it also happens with other important axes of Software Architecture that range from security to development methodology.