上线前的检查清单

平时我们都专注开发,运维小哥负责上线,很少会去思考一个问题:上线的应用应该达到什么标准?

今天就来了解下这个内容:

检查清单

  • 确保自己的应用没有违反第三方的证书许可
  • My application does not violate cryptography policies and laws
  • 我的应用遵循组织的标准

    第二条不太能看懂想表达什么,先记录一下。符合密码学的政策和规则?看起来怪怪的。

弹性(Resiliency)

  • 应用保持合理的功能隔离
  • 高负载下应用可以恢复
  • 应用可以自动重新建立丢失的连接
  • 应用不会导致级联故障,是整个系统崩溃

负载均衡(Load Balancing)

  • 项目可以使用多核CPU
  • 项目可以跑在负载均衡背后
  • 可以不停机添加节点

易部署(Transparent Deployment)

  • 可以在不停机的情况下加入节点
  • 可以在不影响用户会话的情况下加入节点
  • 可以滚动升级

监督(Supervising)

  • 系统重启后应用依旧可以存活
  • 应用在崩溃后可以立即重启

日志(Logging)

  • 应用记录了所有的错误日志(包括被“吞掉”的错误)
  • 应用把不同的级别的日志独立保存,不同日期的也独立保存
  • 日志聚合到日志分析服务

监控(Monitoring)

  • 配置了异常活动的报警
    • 应用重启事件
    • 错误率下限触达报警
    • 系统资源濒临耗尽(CPU,Memory,IO > 90%)
    • HTTP请求超时
    • HTTP响应码500
  • 对系统各部分进行健康检查

可度量(Metrics)

  1. 可以监测到应用的不同数据
    • 请求量
    • 请求频率
    • 业务逻辑响应时长

高可用(High Availability)

  • 部署在不同的独立的数据中心

测试(Testing)

  • 进行过压力测试
  • 进行网络隔离测试(I have performed network partitioning tests for my application)

备份(Backuping)

  • 可以从备份中恢复所有数据

安全(Security)

  • 参考 OWASP Top 10 进行审计
  • TSL加密(https)
  • 已经在响应头上加入了有关的安全设置

    • X-Frame-Options
    • X-Content-Type-Options
    • Content-Security-Policy
    • X-XSS-Protection
    • trict-Transport-Security
    • Public-Key-Pins

原文地址

https://github.com/mtdvio/going-to-production/blob/master/serverside-checklist.md

加载评论框需要科学上网