Skip to content

Instantly share code, notes, and snippets.

@mweiden
Last active August 21, 2018 23:28
Show Gist options
  • Save mweiden/36defe50f6b2fcef547d8fe3e892be69 to your computer and use it in GitHub Desktop.
Save mweiden/36defe50f6b2fcef547d8fe3e892be69 to your computer and use it in GitHub Desktop.

Production checklist

Design

  • System blueprint (boxes and arrows)
  • Capacity planning

Administrative

  • Rollout plan
    • If rollout of a backward incompatible version of a service
      • Data migration
      • Switchover
      • Service rollback
    • Rollback plan (+ feature flags)
  • Service operators assigned
  • Documentation
    • In-code documentation
    • README.md with overview, build steps, and deploy steps

Automated processes

  • Continuous development
    • Tests
      • Automated
        • Unit tests
        • Functional tests
        • Code style (lints and sniffers)
        • Code quality monitoring
        • Code coverage checks
      • Manual
        • Scale test
        • Feature acceptance/Business acceptance
        • A/B tests (if applicable)
      • Healthcheck endpoint
    • Package storage
      • Container registry (if container)
  • Continuous delivery
    • Gitlab deployment pipeline (optimally for different environments)

Implementation

  • Operational logs
  • Scaling (adding new nodes) should not affect consistency of other layers
  • Degradation (removing nodes) should not affect consistency of other layers
  • Monitoring
    • Hardware
    • Network
    • Resources and load
    • API status
  • Dashboards
  • Alerts
  • Distributed tracing integration (if a high-scale system)
  • Authentication and Authorization (if applicable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment