仅欧洲替代方案 Heroku (Salesforce).
Heroku 是最早以开发者为中心的 PaaS 平台,于 2010 年被 Salesforce 收购,现属于 Salesforce.com Inc. 旗下。Salesforce 是一家美国公司,Heroku 的默认区域位于美国,而欧盟的“Common Runtime”则托管在 AWS 爱尔兰,这意味着您的 Heroku 应用运行在 AWS 基础设施上,而 Salesforce 作为合同意义上的处理方。这两层均受美国司法管辖。主权替代方案很直接:可选择在欧盟基础设施上自托管 PaaS(如 Coolify 或 Dokku),或使用由欧盟合作伙伴运营的全托管等效方案。
- 供应商
- Heroku (Salesforce)
- 总部
- San Francisco, CA (Salesforce)
- 司法管辖区
- 美国
- 法律制度
- CLOUD Act, FISA 702
"欧盟区域"不等于主权。四个问题决定一切。
数据驻留告诉你数据存放在哪里。主权则告诉你哪个法律体系可以强制访问。这四点的答案必须都成立 - 否则该技术栈就不具备主权性。
- 驻留
-
数据物理存储在哪里?
不只是笼统的“在云端” - 而是具体在哪个数据中心、哪个国家、受哪种司法管辖。
- 次级处理者
-
您的数据路径中还有谁?
每一个接触数据的供应商:CDN、邮件中继、错误追踪、分析管道。
- 司法管辖区
-
哪些法律可以强制披露?
总部位于美国的提供商受 FISA 702 和 CLOUD Act 管辖 - 即使数据存放在法兰克福也不例外。
- 密钥托管
-
谁实际持有加密密钥?
如果云服务商同时持有数据和密钥,无论签订何种 DPA,数据对其而言都是可读的。
在司法管辖权和密钥托管上失败。
欧盟数据、美国母公司、默认路径中的美国次级处理者、供应商管理的密钥。
四项全部通过。
托管在欧盟、由欧盟总部基础设施提供。默认路径中零美国次级处理者。客户持有或欧盟 KMS 密钥。在您的第 28 条 DPA 中按名称列出。
为什么团队正在退出 Heroku (Salesforce)
我们经手的 Heroku 退出案例源于三类诱因:客户审计(B2B SaaS)指出经由 Heroku 的 AWS-爱尔兰数据路径存在 Schrems II 合规风险;2022 年免费 dyno 停用迫使企业重新评估成本;或是出于战略考量,希望消除双重服务商链条(Salesforce → AWS)带来的数据处理协议(DPA)管理复杂性。Heroku 的核心价值在于开发者体验;Coolify、Dokku 和 Caprover 等开源替代方案能在欧盟基础设施上复现其大部分体验。
Heroku (Salesforce) 服务及其仅欧盟等效方案
迁移不是"换一个盒子"。下面的映射是我们为离开以下平台的客户运行的 Heroku (Salesforce) 基于 Schrems II 的考量 - 完全适用欧盟司法管辖,数据链路中不涉及美国母公司。
Dynos (web/worker)
- 我们改用什么
- Binadit 托管云平台。在 GitLab CI 中构建 Docker 镜像并部署到 Kubernetes,为每个分支提供审查环境。
- 工程说明
- Coolify 在 EU 基础设施上提供几乎等同于 Heroku 的开发体验(git push 部署、一键应用)。相同算力下账单通常比 Heroku 低 60-80%。
Heroku Postgres
- 我们改用什么
- Binadit 托管云平台。PostgreSQL 或 MySQL 配合 Patroni 实现故障转移,pgBackRest 实现时间点恢复。
- 工程说明
- 逻辑复制(logical replication)可实现零停机切换。Heroku Postgres 的备份可以标准 pg_dump 格式下载,并在任意环境中恢复。
Heroku Redis
- 我们改用什么
- Binadit 托管云平台。Redis 或 Valkey,配合 Sentinel 实现故障转移。
- 工程说明
- 标准 Redis API;通过 SLAVEOF 或 RDB 传输方式迁移。
Heroku Connect (Salesforce sync)
- 我们改用什么
- Binadit DevOps & Support。集成工作进程运行在您自有的基础设施上,直接与供应商 API 通信。
- 工程说明
- 对于保留 Salesforce CRM 的团队,同步层需要重建;对于替换 Salesforce 的团队,这一问题则不复存在。
Add-ons marketplace
- 我们改用什么
- Binadit DevOps & Support。您实际使用的组件,作为您技术栈的一部分进行部署和运维。
- 工程说明
- Heroku 的 add-on 便利性是最大的 DX(开发者体验)损失;直接管理供应商是换取数据主权所需付出的代价。
Pipelines (review apps, CI/CD)
- 我们改用什么
- Binadit DevOps & Support。基于 Kubernetes 为每个分支创建独立的预览环境,由 GitLab CI 负责创建和销毁。
- 工程说明
- Coolify 支持按分支创建预览环境。
Heroku Buildpacks
- 我们改用什么
- Binadit DevOps & Support。使用 Dockerfiles 或 Cloud Native Buildpacks,在 GitLab CI 中构建。
- 工程说明
- 大多数 Heroku 应用可通过 Coolify 上的 Cloud Native Buildpacks 原样部署,无需更改。
Logplex / Logging
- 我们改用什么
- Binadit 托管云平台。使用 Loki 进行日志聚合,配合 Grafana 查询,并按数据流设置保留策略。
- 工程说明
- Loki 是标准方案;聚合所有容器的日志。
Heroku CI
- 我们改用什么
- Binadit DevOps & Support。GitLab CI 配合部署在您自有基础设施上的 runners。
- 工程说明
- 在自托管的欧盟 runner 上运行 GitLab CI 是达到生产级别的替代方案。
Heroku Private Spaces
- 我们改用什么
- Binadit 私有基础设施。完全隔离的环境、专用硬件、定制化网络架构。
- 工程说明
- 所谓的“Private Spaces”概念本质上就是换了个名字的 VPC;标准的欧盟网络架构完全可以胜任。
SSL / domains
- 我们改用什么
- Binadit 托管云平台。cert-manager 配合 Let's Encrypt,自动续期证书。
- 工程说明
- 域名转移只是更换注册商;SSL 在所有现代 PaaS 替代方案中都是自动化处理的。
我们如何迁移离开 Heroku (Salesforce)
典型的中端市场迁移分为三个阶段进行。以下数据假设工程团队规模为 6-10 人,应用程序技术栈复杂度中等。
-
第 1-3 天
PaaS选择与依赖关系图
决定使用哪种 EU PaaS(Coolify 是我们针对 Heroku 风格开发体验的默认选择;Dokku 适合极简主义者;Binadit 提供的托管方案适合追求省心的团队)。清点 Heroku 应用、dynos 和附加组件。
-
第 4-10 天
数据库 + 附加组件切换
Heroku Postgres 通过逻辑复制迁移至欧盟托管的 PostgreSQL。每个附加组件逐一替换为欧盟等效方案(逐一进行以控制风险)。日志系统迁移至 Loki。
-
第 2-4 周
应用切换
应用已使用相同的 buildpack 在 Coolify 上重新部署。DNS 切换采用低 TTL 窗口期。验证期结束后,Heroku 应用将被归档。
从Heroku迁出的5年TCO:便宜60-85%。Heroku的计费模式(按dyno、按附加组件、按数据库层级)成本叠加迅速;在欧盟基础设施上自托管的PaaS,可以用相当于原始基础设施成本的一小部分,替代典型的每月500-2000美元的Heroku账单,如果您不想自行运维,还需加上我们的托管服务费。