抢占服务器是个大便宜

一直有个大便宜, 我从未在公开社区宣传过, 那就是阿里云的抢占服务器非常划算.

长期大折扣

其在标题栏上写的最高节省 90%, 并不夸张, 热门配置的服务器通常是乘以 20%的折扣, 也就是二折, 稍冷门的配置可以到 9%的折扣, 不到一折.

热门服务器一类是小规格入门服务器, 如 2c2g,2c4g 等, 还有一类是CPU/内存均衡型服务器, 如 1:2(4c8g), 1:4(4c16g,8c32g) 等, 这类服务器折扣少一点.

冷门配置一般是指CPU/内存不均衡的服务器, 如 1:8(8c64g), 1:1(8c8g) 等, 这类服务器折扣最多.

今天查抢占服务器, 2c16g 的比 2c8g 的还便宜, 因为一个折扣到 9%, 一个折扣到 14%, 形成倒挂.

阿里云抢占服务器的折扣率动态刷新, 我不清楚其算法如何, 但为我的使用场景节省了 85%的成本肯定是有的.

抢占服务器使用前提

使用抢占服务器的核心是将CPU/内存和长期存储分离, 长期存储可以使用可分离的云盘, OSS, NAS, 数据库.

其中云盘依赖于地域, 而抢占服务器的可用资源也和地域强相关, 因此尽管云盘是 IO 性能最强的稳定存储, 但并不能保证在所有地域都有抢占服务器可用, 我个人建议将其置为次选.

其它三个存储都依赖网络, 而阿里云的内网通信免费, 尽管 IO 延迟可能较高, 但 IO 速率还可以, 主要是随机读写慢于云盘.

OSS 是阿里云的对象存储, 适合存储主要用于的文件, 适合网络分享.

NAS 是阿里云的网络存储, 适合存储各类文件, 读写均衡, 但不太适合公共分享.

数据库适合存储结构化的数据, 计算和内存资源占用相较前三者较多, 成本也会更高, 数据库本身只适合使用高性能云盘承载. 它本身是长期存储, 同时依赖云盘这种形式的长期存储, 有的数据库类型还依赖内存, 如 etcd,redis 等.

关键性问题

  • 抢占式服务器能否承载长期业务?

答案是肯定的, 宁屏去广告就使用的抢占服务器承载了长期业务.

  • 抢占式服务器如何被回收?

您可以创建无保护期或者一小时保护期的抢占式实例,超过保护期后,当市场价格高于您的出价或资源供需关系变化时,抢占式实例会被自动释放,请做好数据备份工作

抢占式服务器有两种出价方式:

一是购买保护时长, 即约定使用X 小时, 之后看市场情况释放. 释放也有两种形式, 一是释放所有资源, 二是仅释放计算资源, 保留云盘,IP 和快照, 保留的资源会继续计费. 运维可以在约定时间前迁移业务到新的 ECS 机器.

二是不使用保护期, 即使用市场实时价格出价, 如果储备资源紧张, 即使按市场价格出价, 也会被回收.

宁屏去广告 依托 Kubernetes 集群, 使用了第二种出价方式, 第二种方式相较第一种方式还能再省约 15%的成本.

  • 抢占式服务器如何迁移业务?

核心在于, 如果阿里云决定释放你的抢占式服务器, 会提前5 分钟通知.
需要在这 5 分钟内的事情有:

  1. 识别系统通知, 识别到抢占式服务器即将被释放
  2. 查询抢占式服务器库存
  3. 购买新的抢占式服务器
  4. 初始化服务器, 安装业务需要的组件
  5. 迁移弹性公网 IP, 或迁移 DNS 解析
  6. 新服务器加入集群
  7. 迁移业务
  8. 从集群中移除旧服务器
  9. 释放旧服务器

付费咨询

如本文分析所述, 使用抢占服务器可以节省 80%以上的服务器成本, 但需要分拆计算存储的耦合, 这需要相当的技术能力, 我可以在周末或深夜提供付费咨询服务(1000 元/小时), 帮助企业实现这一目标. 需要提供远程桌面环境, 准备代码库访问权限, VS Code 开发环境 + Claude Code(Codex 或 Cursor), 我将快速分析业务代码架构, 给出分拆方案.