Separation of Concerns
Build autonomous, decoupled services - SOA
- Define Clear contracts (Semantic, SLA)
- Define Explicit boundaries
- Backward & Forward Compatibility
- Versioning
Don’t rely purely on Moore’s law. Systems should be decoupled and/or partitioned to scale out
- No Single Choke points
- Partitioning should be Fine grained
- Be able to run on Commodity Hardware
- Designed for GEO readiness
Changes are the norm not the exception
- Design applications to be modular and extensible
- Design components to be flexible and configurable
Complicated designs fail in complicated and expensive ways
- Simplified Operability (Instrumentation/Monitoring/Tools)
- Simplified Debugging (Root Cause Analysis)
- Simplified Ramp up
- Diagnostic Capabilities
Failures are the norm not the exception
- No Single Point of Failure
- Services should be resilient (Run in the wild)
- Graceful Degradation of services
- Deployments should be automatable
- Ability to roll back releases
1 comment:
A good set of architecture principles to follow. Thanks for the post!
Post a Comment