Solution Architect Framework
Мой базовый фреймворк для проработки архитектуры решения:
- Ресурсы и требования организации:
- Обязательный к соблюдению корпоративный стандарт:
- Стандарты от корпоративных архитекторов.
- Стандарты стрима.
- Стандарты ДИБ.
- Digital платформа:
- Software Platform.
- Machine Learning Platform.
- Обязательный к соблюдению корпоративный стандарт:
- Реализация взаимодействия микросервисов:
- Стиль и технология для коммуникации микросервисов.
- Serialization Formats.
- Schemas.
- Avoiding Breaking Changes.
- Managing Breaking Changes.
- Sharing Code (DRY).
- Service Discovery.
- API Gateways.
- Service Meshes.
- Documenting Services.
- Workflow:
- Database Transactions OR Distributed Transactions—Two-Phase Commits OR Sagas.
- Build:
- Continuous Integration.
- Build Pipelines and Continuous Delivery.
- Mapping Source Code and Builds to Microservices.
- Deployment:
- Multiple Instances.
- The Database.
- Environments.
- Deployment Options.
- Kubernetes and Container Orchestration.
- Progressive Delivery.
- Testing:
- Implementing Unit Tests.
- Implementing Service Tests.
- Implementing End-to-End Tests OR Implementing Contract Tests and Consumer-Driven Contracts (CDCs).
- Implementing In-Production Testing.
- Implementing Cross-Functional Testing.
- Observability:
- Log aggregation.
- Metrics aggregation.
- Distributed tracing.
- Как определяется, что Система работает?
- Security:
- Обеспечение безопасности приложения.
- Обеспечение безопасности данных.
- Resiliency (отказоустойчивость):
- Service-level objectives (SLOs).
- Возможные сценарии деградации функциональности.
- Применение Stability Patterns.
- Сценарии обработки отказов каждого элемента системы: в отдельности и группами.
- Применение Chaos Engineering (Sustained adaptability).
- Выполнение root cause analysis для инцидентов.
- Scaling:
- Масштабирование.
- Кэширование.