ERP上云这件事,花功夫最多的往往是迁移的那几个周末,真正出问题的时候,却多半是在上线之后的第二年、第三年:数据库悄悄长大了,备份从来没有人试着恢复过,当初按二十个人估的并发,现在已经翻了几倍。
所以这篇文章不打算只讲“配几核几G”。它按企业ERP系统上云的实际顺序来写:先弄清楚ERP对服务器意味着什么,上云之前要摸清哪些情况,配置怎么推算,架构怎么选,上线以后数据怎么保,最后是日常要做的事。
ERP不像一个展示型网站,页面打不开,刷新一下也许就好了。它连着采购、销售、库存、财务、生产和人员管理,背后是多个业务模块、数据库、用户权限体系、报表服务,还有与其他系统的数据交互。服务器一卡,受影响的不是一个部门;数据库一出异常,财务月结、仓库发货、销售开单可能同时停下来。
具体到运行层面,ERP的负载有几个特点。早上九点前后,多个部门的员工同时登录、录单;订单、库存、采购和财务数据在频繁读写;历史业务数据年复一年地累积,库越来越大;系统还要和仓储、财务、电商等外部平台来回交换数据;月末、季末或促销期,请求又会集中冒出来。
把这些放在一起看就明白了:ERP跑得好不好,不只取决于程序本身,而是应用程序、数据库、服务器资源和网络环境配合得怎么样。其中任何一环拖后腿,用户的感受都是“系统慢”。
选云主机之前,先要回答几个关于ERP自身的问题。这几步做扎实了,后面的配置才有依据。
不同类型的ERP,部署方式差别不小。商业ERP通常由厂商给出支持的操作系统、数据库和运行环境清单,选云主机时要先对照这份清单,不要自己随便挑;开源ERP自由度高,但安装、升级和调优基本要企业自己负责;自研ERP则取决于自家的技术栈,对运行环境最有话语权,同时也最需要自己把关;而SaaS形式的ERP由供应商运营,企业并不需要自己准备服务器,这类情况不在本文的讨论范围内。
无论哪一种,都要先弄清楚应用程序支持什么操作系统、用什么类型的数据库、是否依赖特定的中间件或运行环境。
“我们公司有三百人”不等于“服务器要按三百人并发配”。这里至少有三个不同的数字:系统里的注册用户,每天会登录的活跃用户,以及同一时刻真正在提交单据、跑报表的操作用户。打个比方,一家三百人的公司,注册账号也许有三百个,每天登录的大概两百人,而同一时刻在系统里实际有动作的,可能只有几十人。实际规划时应该以后两个数字为主,并且要留意高峰时段的集中程度,比如月末结账。
数据库容量只是其中一项。附件和上传文件、历史记录、系统日志,以及备份文件本身,都在占用空间,而且往往增长得比预期快。可以先看看现有系统一年里各类数据增加了多少,再按业务增长的预期往后推几年,留出余量。
总部、分公司、仓库、门店,还有远程办公的人,访问ERP的网络条件各不相同。有的人在公司局域网里,有的人用手机热点,有的人要经过VPN。要先搞清楚谁从哪里访问、用什么方式访问,才能判断云主机该放在哪个位置、线路怎么选。
平时的录单、查询对CPU要求不算高,吃CPU的是后台那些活:报表运算、批量数据导入、成本核算、定时任务和月末的批量结转。如果这类任务和日常操作挤在同一时段,CPU就容易成为瓶颈。配置时既要看日常负载,也要看这些批处理跑起来时的峰值。
不少ERP是Java应用,运行时要给应用分配固定的堆内存;数据库也需要足够的内存做缓存,缓存命中得好,很多查询就不必去读磁盘。再加上并发请求带来的连接和会话占用,内存往往比CPU更早成为瓶颈。内存不够时系统会开始使用交换空间,响应速度会明显下降,这一点需要在规划时就留意。
ERP的数据库读写频繁,磁盘性能对整体体验影响很大,所以SSD基本是起点,还要关注磁盘I/O能力是否稳定。容量方面,不要只算数据本身,备份文件、日志和附件也要计入,并为增长预留空间。另外,数据库备份应该有明确的策略,不能默认存储本身可靠就够了。
ERP的日常数据量通常不大,真正影响体验的,往往不是带宽峰值,而是延迟和线路质量,因为一次操作可能涉及多次来回的请求。如果有报表导出、附件上传下载,或大量图片资料,带宽才会成为需要重点考虑的因素。选线路时,要结合访问用户的分布和使用方式,而不是单看数字。
这个问题没有标准答案,取决于企业规模,也取决于ERP程序本身。需要先确认应用是否支持分布式部署,如果不支持,硬拆成多台服务器只会增加复杂度,并不会带来好处。所以不应该一味建议所有企业都用多台服务器。
用户规模不大的企业,把应用和数据库放在同一台云主机上,是很常见的做法。资源集中,管理简单,初期投入也比较低。代价是风险比较集中:这台主机出了问题,应用和数据库同时受影响,两者之间还会互相争抢资源,所以备份和监控必须做得更到位。
用户和数据量上来以后,把应用服务器和数据库服务器分开,是更合理的选择。两者可以各自配置资源,数据库那边可以单独调优、单独备份,将来哪一部分不够用,扩哪一部分就行,不必整体更换。
分公司多、地区分散的企业,除了服务器本身,还要规划内外网的访问方式、权限控制,以及跨地区之间的连接。哪些人可以直接访问,哪些人要经过VPN,哪些接口只对内开放,这些都应该提前设计好,而不是上线以后再补。
ERP里是企业的账、货和客户,数据安全比性能更不能含糊。长期运行的保障,大致可以从下面几方面入手。
定期数据库备份。备份频率要匹配业务能承受的数据损失,并且要考虑备份文件存放的位置。
数据恢复与恢复时间验证。备份成功不代表能恢复。要定期实际做一次恢复演练,记录恢复需要多久,才知道真出事时业务要停多长时间。
应用程序与数据库的一致性。ERP的附件、配置文件和数据库记录往往是对应的,只恢复其中一部分,可能会出现数据对不上的情况,备份时间点也需要保持一致。
账号权限与远程登录控制。严格分配账号权限,限制服务器的远程登录来源,避免把管理端口直接暴露在公网上。
防火墙及网络攻击防护。根据业务访问范围设置访问规则,并关注攻击防护能力。
业务故障后的恢复流程。事先写清楚谁负责、先做什么、联系谁,出事时才不会手忙脚乱。
服务器资源监控和异常告警。CPU、内存、磁盘空间、数据库运行状态,异常时能及时收到通知,比事后排查有用得多。
在数据保护方面,云平台提供的三层存储技术,可以作为一个保障方向,它涉及缓存、沉淀与备份几个环节。但这里要分清楚责任:平台的存储保护,针对的是存储层面的数据安全,并不能替代企业自己的独立备份。像误删数据、操作失误、程序错误造成的数据问题,往往也会被同步到平台副本里,只有企业自己保留独立、可验证的备份,才有办法找回。
恒讯科技云主机ERP、OA、CRM等企业应用被明确列入适用业务类型,页面上同时提供不同CPU、内存和带宽规格的选择,以及三层存储、硬件级隔离、监控与安全防护等功能。结合上面的思路,可以从几个角度来评估它。
规格选择方面,可以按前面推算出的并发规模、数据量和批处理需求,对照官网提供的不同规格去选,小规模企业从集中部署的配置起步,规模大了再考虑应用与数据库分开。
资源保障方面,官网介绍了云主机之间的硬件级隔离。对ERP这类需要连续稳定运行的业务来说,隔离意味着受邻近实例影响的可能性更小。需要说明的是,这并不等于所有资源都被独占,具体隔离到什么程度,仍需要向服务方确认。
数据保护方面,三层存储涉及缓存、沉淀与备份,可以作为数据保障的一部分来看待,但前面提到的企业自行备份仍然需要做。
日常管理方面,集中管理、监控和告警功能,方便运维人员了解资源使用情况,在CPU、内存或磁盘出现异常时更早发现。
配置评估方面,官网提供一对一的顾问服务。ERP的架构各不相同,企业可以把自己的系统类型、用户规模和数据情况提供给顾问,请对方协助评估合适的配置,这样比自己对着规格表猜测可靠。
另外,恒讯科技官网还有云数据库MySQL产品,介绍里包含自动备份、数据库运行监控、告警和数据恢复等能力。它是一个独立的数据库服务,可以作为数据库部分的可选方案来考虑,不应当理解为所有云主机都默认带有这些数据库功能。如果ERP使用的是MySQL,又希望把数据库单独管理,可以向服务方了解它是否适合自己的系统。
上线之后,ERP的服务器资源并不是一次定好就一劳永逸。用户人数在变,业务量在涨,配置应该跟着调整,不能等系统明显变慢才想起来升级。数据库的容量和运行性能也要定期看,数据表增长的速度、慢查询的情况,都是提前发现问题的线索。
应用程序要做版本维护,补丁和升级最好先在测试环境验证。备份文件要定期检查是否有效,这一步最常被省略。不同地区员工访问系统的体验也值得关注,比如分公司的同事反馈慢,往往是线路或网络的问题,不一定是服务器配置不够。最后,要建立故障处理和应急恢复的制度,把流程和联系人写下来,并偶尔演练一遍。
ERP上云并不是买好服务器、装好程序就结束了。资源怎么管,数据怎么保,出了事谁来处理,这些才决定系统能用多久、用得稳不稳。恒讯科技可以作为提供云主机资源和技术支持的一个选择,企业在评估时,把自己的ERP架构、数据规模和恢复要求摆出来,逐项对照,就能判断它是否适合长期运营。
Copyright © 2013-2020. All Rights Reserved. 恒讯科技 深圳市恒讯科技有限公司 粤ICP备20052954号 IDC证:B1-20230800.移动站


