Skip to content

Instantly share code, notes, and snippets.

@pdsarin
Last active November 11, 2019 17:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pdsarin/d884a7ee39daf641c15f4f07da292d53 to your computer and use it in GitHub Desktop.
Save pdsarin/d884a7ee39daf641c15f4f07da292d53 to your computer and use it in GitHub Desktop.
External Communication How your contexts communicate with the outside world. Do they use REST or an RPC protocol like gRPC?
Inter-Service Communication How do contexts communicate with each other? Synchronously or asynchronously? Is the message format text (e.g., JSON) or binary (e.g., avro, protocol buffers)? What messaging technologies do you use? (e.g., SNS, SQS, Kinesis, Kafka, RabbitMQ, some tables in your own database) How do you handle failures?
Authentication and Authorization How do people authenticate with your system? How do services (if you use them) authenticate with each other? How do you check that a user (whether person or machine) is authorized to perform an action?
Deployment and Operations How do you deploy to production? How do you monitor that the system is working correctly?
Upgrades and Patching How do you ensure that patches (especially security patches) are promptly applied?
Local Development How will developers develop against your system locally? Will they test against production, use a staging environment, or seed test data locally? How will they test against other systems that their code depends on?
Validation and Standards What are your standards for writing code and APIs? How do you enforce those standards? Do you rely on schemas or type checking? Where do you manage and version your schemas/types?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment