12 factor
- 基准代码
- 依赖
- 显式声明依赖关系
- 不同的语言有不同的优势劣势
- 例如
- Go - 跨平台 无依赖
- NodeJS - node_modules 非常庞大
- 系统依赖 - Linux, Windows
- 运行环境依赖 - node, nginx, apache
- 配置
- 在环境中存储配置
- 静态配置 - 本地
- 动态配置 - consul、configmap
- 运行时 - runtimevar
- 后端服务
- 构建,发布,运行
- 进程
- 以一个或多个无状态进程运行应用
- 例如: 单个容器、nginx
- 无状态确保 灵活、扩容、缩容
- 端口绑定
- 通过端口绑定提供服务
- 例如: Ingress, Gateway, 8080
- 并发
- 易处理
- 开发环境与线上环境等价
- 日志
- 管理进程
- 后台管理任务当作一次性进程运行
- 例如: 数据库初始化、schema 迁移、外部服务配置
CD Four key metrics
- 更改前置时间
- 部署频率
- 平均修复时间 - MTTR
- 变更失败率
Core Web Vitals
abbr. | stand for | mean | test for |
---|
LCP | Largest Contentful Paint | 最大内容绘制 | 加载性能 |
FID | First Input Delay | 首次输入延迟 | 交互性 |
CLS | Cumulative Layout Shift | 累积布局偏移 | 视觉稳定性 |
TTFB | Time to First Byte | 首字节时间 | LCP |
FCP | First Contentful Paint | 首次内容绘制 | LCP |
TBT | Total Blocking Time | 总阻塞时间 | FID |
TTI | Time to Interactive | 可交互时间 | FID |
metric | from | to |
---|
LCP | 2.5s | 4.0s |
FID | 100m | 300m |
CLS | 0.1 | 0.25 |
SRE Golden Signals
Zero trust architecture
Software Bill of Materials
- 软件物料清单 - SBOM
- 致力于提高软件供应链的安全性
- 交付的组件+工具和框架说明