Cloud Architectural Design Principle
Optimize for Cost
Automation
Scalability
Databases
Caching
Service, Not Servers
Removing single point of failure
Disposable Resource Instead of Fixed Servers
Security
Loose Coupling
Application Data Caching
Edge Caching
Vertical Scalability
Horizontal Scalability
Reserved Capacity
Spot Instances
Variety of Options
Data Warehouse
NoSQL Database
Search
Relational Database
Instantiating Compute Resources
Infrastructure as a code
Serverless Architecture
Managed Services
Well-defined Interfaces
Services Discovery
Graceful failure
Asynchronous Integration
Reduced Privilege Access
Offload security responsibility to AWS
Real-time Auditing
AWS Defence-in-Depth
Security as a code
Detect Failure
Automated Multi-Datacenter Resiliency
Redundancy
Fault Isolation
Durable Data Storage