上线前的检查清单
平时我们都专注开发,运维小哥负责上线,很少会去思考一个问题:上线的应用应该达到什么标准?
今天就来了解下这个内容:
检查清单
合法性(Legal)
- 确保自己的应用没有违反第三方的证书许可
- 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)
- 可以监测到应用的不同数据
- 请求量
- 请求频率
- 业务逻辑响应时长
高可用(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