一、机房不是把服务器搬进去就能跑

客户 IT 发来一台虚拟机,问安装包在哪里。团队把开发环境用的压缩包传过去,安装第一步就卡住,操作系统是 CentOS 7,中间件要求 GLIBC 2.28,数据库版本也和测试环境不一样。开发机上能跑,不代表客户机房能跑,这两套环境的差距往往比想象中大。
私有化部署有好几种形态。有的客户只是不想和其他企业共用数据库,系统仍放在云上;有的客户要求整套系统进内网,服务器不能访问公网;还有的客户连安装包都要离线拷进去。三种形态的交付边界差得很远,报价前不问清楚,后面全是返工。
进场前先拉一张环境清单,操作系统、CPU 架构、内存、磁盘、GPU、容器运行时、数据库、中间件、浏览器版本,都要和客户 IT 对上。客户机房里可能还跑着别的业务系统,端口、账号、目录权限、开机自启方式都需要提前确认。不要等实施人员到了现场,再抱着电脑找驱动。
软件能在机房启动只是第一步。进程会不会被安全软件拦掉,上传目录有没有写权限,定时任务能不能正常触发,服务重启后能不能自己起来,这些都要在部署手册里写清楚。机房不是把服务器搬进去就能跑,软件得在里面有自己的位置、账号、日志目录和启动方式。
二、外部服务一断,功能就少一半

很多系统在演示环境里点一下就能发验证码,到了客户机房,短信接口超时,登录第一步就过不去。支付、地图、OCR、对象存储、CDN、邮件、推送、电子签、发票,这些看起来是附属能力,真断网的时候,往往正好卡在主流程上。
报价前把外部依赖列成表,每一项写清楚用途、域名、端口、是否允许出网、客户能不能提供替代服务、费用由谁承担。客户 IT 通常会问,为什么要连这个域名,传出去的是什么数据,能不能只开白名单。答不上来,网络策略就批不下来。
替代方案要提前聊。短信可以换客户自己的短信网关,支付可以接客户财务系统或银行接口,地图可以换离线瓦片,OCR 可以换本地引擎,AI 能力可以换本地模型或客户私有算力,文件存储可以放 MinIO 或 NAS,邮件可以走客户 SMTP。每一种替换都会影响功能、性能和合同金额,不能等到验收前才提。
最直接的办法是做一次断网测试。拔掉外网,从登录、下单、支付、文件上传、消息通知到后台审批走一遍,看看哪些页面转圈,哪些接口报错,哪些功能悄悄降级。外部服务经常就是主流程的一部分,断网测试过不了,私有化部署就先别急着承诺。
三、许可、数据迁移和初始化,最容易被低估

客户常常以为买了软件就包含了所有授权,技术一算,数据库按 CPU 核数收费,报表控件按并发收费,地图和 OCR 还有年费,操作系统和中间件也可能要补授权。开源组件同样要看许可证,能不能商用,能不能闭源交付,能不能二次分发,这些都要在合同里写明白。
数据迁移也不是导过去就行。旧系统里的客户资料、订单、附件、图片、历史状态、用户账号、角色权限、组织架构、字典和审批流,都要逐项对应。字段长度、编码、时间格式、附件路径、重复数据、脏数据,任何一项没处理好,新系统上线第一天就会出问题。
迁移要先在客户测试环境跑一遍,拿真实数据量做比对。记录数对不对,金额合不合,附件能不能打开,权限有没有串,历史流程还能不能查。迁移脚本要能重复执行,失败之后能回滚,别直接在生产库上试。数据这种事,宁可多花两天核对,也别在上线后补窟窿。
初始化同样费时间。客户的单点登录、AD 域、OA、财务、HR、主数据、消息通道,都要提前联调。客户 IT 给你一张网络策略表,开通端口要排期,账号要审批,证书要导入。许可、数据和初始化,这三块最容易被销售漏掉,也最容易在验收前变成加钱项。
四、运维、升级和验收,合同里就要写清楚

系统进了客户机房,日常谁来运维要说清楚。客户 IT 负责硬件、网络和操作系统,软件本身由谁盯着,故障响应多长时间,远程能不能进,进不去要不要到场,这些都要写进服务条款。内网不能远程的时候,响应时间不能照搬云服务那套承诺。
升级也比 SaaS 麻烦。客户机房没有外网,不能半夜推个版本就完事。升级包、校验码、数据库脚本、配置差异、回滚包、操作手册,都要提前准备。升级前在测试环境跑一遍,确认老数据能兼容,确认失败能退回去。没有回滚方案的升级,就是在赌。
日志和监控要跟着系统一起交付。日志目录放在哪里,保留多少天,磁盘水位到多少要清理,备份任务几点跑,告警发给谁,这些看起来是小事,出事的时候全靠它们定位。日志只留在服务器上,出了故障没人看,等于没留。
验收标准要写成能测的条目。登录、核心业务、权限、审计、性能、备份恢复、安全扫描,每一项都要有明确的通过条件。别只写运行稳定四个字,稳定没法验收。备份不是做了就算,得实际恢复一次,看看数据能不能用。私有化部署能不能做,销售答应得快不算数,技术拿出的依赖清单、部署手册、许可报价、迁移方案和回滚预案才算数。提前把边界摆到桌面上,客户再问能不能搬,你才能给出一个靠谱的答案。
在线
电话
微信
需求
TOP