2023-12-18 软件开发“白痴指数”


“白痴指数”,用来计算某个制成品的成本比其基本材料的成本高多少。软件开发“白痴指数”,用来计算计算机软件总成本比功能相关成本高多少。

  • 总成本(功能相关 + 非功能相关):设计、开发、测试、部署、配置
  • 功能相关:设计、开发

测试、部署、配置等非功能相关的成本越高,项目水分越大。

为什么我突然想写《软件开发“白痴指数”》 ?

今天我负责 release 一个新版本,需要配置一个 connection token,我花了大约 3~4 个小时才完成,差点没把我累死。😭

就是一个环境变量啊,干嘛搞得这么复杂呢?

美其名曰:架构安全。但是软件系统的安全是木桶效应,瓶颈不在最高的那块板,而是在最低的那块板。DevOps 搞得这么复杂,复杂到 DevOps developers 都不能完全理解和 100% 保证正确。最低的那块板就变成了维护如此复杂 DevOps 的人了。

“架构安全” 是什么垃圾? 推荐瞎折腾的人先看一下 《社会工程学》 是什么。

TJ 2023-12-18

简单记录一下我今天干了什么:

  1. 使用 terraform 在 GCP 创建一个 Secret Manager,用来储存密钥。
  2. 在 k8s 中配置 secret-manager client,用来在读取密钥。
  3. 使用 terraform 为 k8s 配置 Secret Manager 权限,没有权限读不到密钥
  4. 更新 k8s container image tag,得到 k8s load-balancer 切换 pod。
  5. 使用 Postman 调用 health endpoint,并查看 container image tag 是否正确
  6. 查看 metabase 已确定 database migrations 正确执行
  7. 查看 datadog, Google Pub/Sub subscriptions, 等等周边服务

关键是上面这些操作全都要通过 gitlab MR 和 CICD,美其名曰 GitOps,😂

  1. 编写 yaml
  2. 提交 gitlab MR
  3. 请求 review
  4. 合并 MR,并等待 CICD
  5. 确认 CICD 结果

我累死了,也傻掉了,太麻烦了。反复在 gitlab repositories 间横跳、提交 code、等待 review、执行 merge、继续等待,啊啊啊啊啊啊

GitOps 是什么垃圾? 等我休完年假回来,2024 年第一件事就是精简现在项目的 DevOps,不该用 git 的地方少扯版本管理。 infra as code 是继 micro-services 后又一个我粉转黑的架构技术。🤮

TJ 2023-12-18

最后再说一遍

软件开发“白痴指数”,非功能相关的成本越高,项目水分越大。