Architecture is a set of structuring principles that enables a system to be comprised of a set of simpler systems each with its own local context that is independent of but not inconsistent with the context of the larger system as a whole.3
The role of the architect is to make designer and developers productive as quickly as possible.
Creating an architecture to address the service-level requirements will help you to avoid that "CNN" moment.
Scalability is the ability to support the required quality of service as the system load increases without changing the system.
Reliability ensures the integrity and consistency of the application and all of its transactions.
Availability ensures that a service/resource is always accessible.
Extensibility is the ability to add additional functionality or modify existing functionality without impacting existing system functionality.
Maintainability is the ability to correct flaws in the existing functionality without impacting other components of the system.
Manageability is the ability to manage the system to ensure the continued health of a system with respect to scalability, reliability, availability, performance, and security.
Security is the ability to ensure that the system cannot be compromised.