It is very difficult to make context-free value judgements on an architectural design in Software Development. The suitability of an architecture can only truly be evaluated with an understanding of the context in which it operates.
For instance, an emerging system with a low number of pilot users could design an architecture with deferred decisions on scalability (ie. one server with manual restarts on failure), but may still have to provide integrations into organisation-wide standards regarding security and logging. Whereas, that same system later in life may also need to consider scalability and distributed concerns.
Therefore, Architectural decisions must be made respecting the operating context so that appropriate trade-offs, guardrails and freedoms can be implemented. It is a good bet though to Allow architecture to evolve, preventing the system from decaying or becoming an obstruction to value delivery.