KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

私有化交付工程:把一套系统送进客户内网 — keel 龙骨

这门课不站在「把一套系统跑起来」的起点上,而是站在「它要跑在一个你进不去、也不该进去的地方」的起点上。

这门课不站在「把一套系统跑起来」的起点上,而是站在「它要跑在一个你进不去、也不该进去的地方」的起点上。

章节目录

  1. 01 · 为什么「私有化」不是「多买一台服务器」 — 这一章先不装任何东西。它要解决的是另一件事:把「交付一套系统」拆成几段可以分开判断的路—— 运行它所需的东西从哪来、怎么进得去、进去之后按什么顺序落地、出了事谁能自己查。 拆不开这四段,交付就只能是那句话:「在我机器上明明是好的」。
  2. 02 · 一个能送进内网的镜像里装了什么 — 这一章要回答一个看起来很朴素的问题:为什么你的代码只有 61.4kB,送进去的那个镜像却有 215MB? 答案不是「依赖太多」,而是「一个能自己跑起来的环境」本来就有这个重量。 把这份重量拆开,才能判断哪些是必须搬的、哪些是可以不搬的。
  3. 03 · 没有外网,怎么把制品搬进去 — 这一章要拆掉一个几乎所有人都会默认的假设:「需要的时候去仓库拉一下」。 在外网环境里它是免费的,在内网里它连失败的方式都很不友好—— 它不报「没有网络」,它挂在那里等超时。这一章把这条假设替换成一个明确的动作。
  4. 04 · 从压缩包到跑起来,中间隔着五步 — 这一章要回答的是:客户拿到那个包之后,到底发生了什么,以及哪一步错了会留下什么。 答案里有五步,顺序不能换;更要紧的是——每一步失败时,已经发生的事情不一样。
  5. 05 · 一套代码、多个客户:配置注入与实例隔离 — 这一章要回答的是:**同一份镜像、同一份编排文件,怎么给两个客户在同一台机器上各起一套, 而且谁也不会踩到谁? 答案不在于「多写一份配置」,而在于每一个会被多个实例共享的名字都要提前加前缀**, 以及配置必须能被现场自己读出来。
  6. 06 · 升级与回滚:要么升上去,要么原样退回来 — 这一章要回答的是:怎么让「升级」这个动作只有两种结局。 中间态——升了一半、 结构和代码对不上、数据被新版本写脏——是私有化交付里最贵的一种状态,因为在客户现场没人能收场。 这一章的所有设计都在消除中间态,包括一个真实存在过的缺陷和一次踩进去的坑。
  7. 07 · 现场排障:让客户先能自己查出答案 — 这一章要回答的是:客户打电话说「不对」的时候,谁先能查出答案? 在一个没有我们、也可能没有外网的机房里,排障的瓶颈不是「查不出来」, 而是每一步都要等人。这一章的设计目标只有一个:把「能自己查的那部分」交出去。

进入 keel 阅读