Engineering Architecture: Do's and Don'ts
Engineering Architecture: Do's and Don'ts¶
Use these guidelines to inform architectural decisions and ensure robust, maintainable systems.
Do's¶
- Route all API traffic through Azure API Management (APIM):
- Centralize API access, enforce policies (throttling, caching, security, etc.), and reduce code duplication.
-
Leverage APIM for monitoring, analytics, and lifecycle management.
-
Design for event-driven integration:
- Favor asynchronous, event-based communication between systems.
-
Only use file-based integration in exceptional, well-justified cases.
-
Maintain code and dependencies:
- Schedule regular time for codebase cleanup and library updates.
- Monitor and verify third-party library licenses for compliance.
Don'ts¶
- Don’t use non-standard data types:
- Always use appropriate, conventional data types (e.g., use datetime for date fields, not string).
-
Avoid schema deviations that hinder interoperability and data quality.
-
Don’t bypass API gateways:
-
Never connect directly to APIs; always use the designated API gateway (APIM) for access and control.
-
Don’t connect to primary databases directly:
-
Never connect to another system’s primary database. If unavoidable, use a read-only replica to prevent impact.
-
Don’t rely on polling:
- Avoid polling mechanisms for integration; prefer event-driven or push-based alternatives for efficiency and scalability.
Adhering to these principles supports secure, scalable, and maintainable engineering outcomes.