What is Architecture

Architecture Concerns

  • Domain boundaries
  • Component responsibilities (specific to owning, changing, reading data)
  • Protocols, how systems communicate with each other
  • High level physical view
  • Clear network boundaries
  • Scalability aspect
  • Deployability aspects (characteristics and behaviours)
  • Should allow CI/CD
  • Where data resides, persists, GDPR and such

Infrastructure Concerns

  • Retries
  • Data persistance
  • Scaling functionality
  • Concurrent access