核心思想

以满足业务场景为出发点

践行 DevOps 理论

DevOps 就是将开发、测试、运维部门相互融合,打破部门壁垒,从而为产品的快速迭代、发布提升效率、创造价值和收益,本质上就是将人、流程、工具进行整合,突出责任共担(产品、代码等质量、自动化、反馈),同时站在 SRE (Site Reliability Engineer) 的视角关注应用的“效率”和“稳定”,从 CRE (Customer Reliability Engineering)的视角追根溯源去“应对“和“解决“问题。

标准化-基础设施

  • 云资源命名:LB,集群名称等
  • 域名规范命名
  • 服务器资产添加到jumpserver统一管理和运维。jumpserver充当cmdb的角色。

标准化-应用

  • 应用的元数据属性:如应用名、应用 Owner、所属业务、应用功能说明
  • 应用代码属性:主要是编程语言及版本(决定了后续的构建方式),Git 地址
  • 应用部署模式:涉及到基础软件包,如语言包 Java、Node等
  • 应用目录信息:日志目录、应用包目录(进入对应目录构建)
  • 应用运行时的参数配置:运行端口、Java 的 JVM 参数 GC 方式、堆内存大小配置

应用关联关系

  • 应用与云基础设施的关系:包括应用与 LB、LB与DNS、DNS与CDN等;
  • 应用与应用之间的关系:Skywalking链路追踪
  • 应用与云服务/自建服务之间的关系:应用与 Redis 缓存,应用与消息队列 Topic、应用与 DB 等

应用生命周期管理

  • 创建阶段:确认应用与云基础设施和云服务/自建服务的关系。如 LB,DNS,CDN,Redis 缓存,消息队列 Topic,DB等
  • 研发阶段:持续集成(Coding)、持续发布(Coding)、容器服务
  • 上线阶段:容量评估、压测、持续发布(Coding)
  • 运行阶段:SLA、监控报警、扩容、缩容、限流、熔断、降级(云监控/prometheus)
  • 销毁阶段:根据创建阶段的绑定关系删除对应资源,避免不必要的浪费

应用Owner意识(责任)

应用Owner可以随时向生产环境提交代码或者发布新的服务,但是作为Owner,必须要对发布的代码和线上服务的稳定运行负责。

应用生产发布流程

  • 新建发布单
  • 发布前变更(若有)配置、sql等
  • 根据规则选择tag进行滚动发布,直接发布uat环境验收过的docker镜像,不再编译打包
  • 生产环境发布代码需要人工审核(Coding)
  • 发布后变更(若有)配置、sql等

应用首次发布流程

  • 压测报告
  • 上线前check list
  • 上线todo list
  • 回滚todo list
  • 观测监控大盘

on-call 轮班

7*24小时轮班

故障管理

  • 业务为先,先恢复业务,再查问题
  • 故障模拟和恢复演练
  • 故障复盘

运维安全

  • 堡垒机
  • 安全组
  • 内部系统CLB白名单
  • 主机安全
  • 代码安全审计(coding/sonar漏洞扫描)
  • WAF
  • 防盗链cdn/对象存储(配置源白名单)
  • SSL
Logo

一站式 AI 云服务平台

更多推荐