Sean Treadway’s concerns of a single service

Florian Maul
fme DevOps Stories
Published in
2 min readMar 29, 2017

Today I attended Peter Bourgon’s talk at KubeCON 2017 on Go microservices with GoKit where he referenced a list by Sean Treadway (Chief architect at Soundcloud) about all the questions the need to be answered when building and deploying microservices. This struck me as a really good checklist to follow and use when implementing a microservice architecture.

Here are the 48 concerns for microservices Treadway identified:

  • Service name
  • Programming language(s)
  • Programming paradigm(s)
  • Architectural choices
  • Integration pattern(s)
  • Transport protocols
  • Authentication
  • Authorization
  • Reporting
  • ETLs
  • Databases
  • Caching
  • Platform libraries
  • Service dependencies
  • CI Pipeline dependencies
  • 3rd party library dependencies
  • 3rd party service dependencies
  • Security threat model
  • License audit
  • Compliance audit
  • Capacity plan
  • Provisioning plan
  • Cost reporting plan
  • Monitoring plan
  • Maintenance process
  • Backup and Restore process
  • Secret management
  • Secret rotation
  • On-Call schedule
  • Configuration management
  • Workflow management
  • Alerts
  • Log aggregation
  • Unhandled failure aggregation
  • Operations and incident response runbooks
  • API documentation
  • Source Code Repository
  • Humane Service Registry
  • Service Discovery Registry
  • Distributed Tracing Registry
  • Monitoring Dashboard Registry
  • Build Artifact Repository
  • CI pipeline(s): Build, Test, Publish
  • Integration tests
  • Contract tests
  • Canary
  • Deploy
  • Post deploy tests

It would be fantastic to add a paragraph of explanation and examples to each concern to enhance this list to act as a guide for building microservice architectures. Since this will be a bigger project (which I might not finish), I will for now just publish this list as is and hope you can get some value out of it as well.

--

--