Solution Architect Framework

Мой базовый фреймворк для проработки архитектуры решения:

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

Что дальше?

  1. Нашли эту статью полезной? Поделитесь ею и помогите распространить знания!
  2. Нашли ошибку или есть идеи 💡 о том, что и как я могу улучшить? Напишите мне в Telegram.
  3. Хотите узнать обо мне больше? Читайте здесь.