《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》_读书笔记1400字
纯阳书评第331期《纯阳子和你聊聊中台之八》今天继续谈ERP等软件微服务化的必要性,微服务化是一项大工程,相当于对软件重构,重新做一遍,代价很大,但是收益更大。上一篇文章说了两个好处,一是标准产品的总体开发成本降低且速度加快,二是客户定制化开发成本降低且速度加快。这篇文章接着上一篇继续说企业管理软件微服务化重构的好处。
3、做到服务的隔离。
尽管传统ERP可以按功能或者领域,划分为财务、供应链、人力等模块,但是在使用维护上还是一个整体,如果供应链模块出现功能异常,那么常规动作往往是关闭并重新启动整个ERP,这种处理带来两个问题。第一个问题是 “一人得病,全家吃药”,本来只是供应链模块有问题,需要停机重启,财务、人力等模块运行稳定正常,但是因为系统是一个整体,所以能正常使用的财务、人力模块也需要停止服务,跟着供应链模块白白经历一遍重启,在重启的过程中财务模块、人力模块的用户也无法使用系统,只能耐心等待。第二个问题是“全家吃药,疗程延长”,接着上边的场景继续往下说,模块重新启动是有时间代价的,假设供应链模块重启只需要5分钟,其他模块重启的时间需要20分钟,那么由于供应链模块有问题需要重启,带来的ERP重启的时间开销是25分钟,用户等待和业务中断的时间延长好几倍。这个例子其实不太准确,也不太符合微服务划分的实际情况,但是好在可以较好地说明单体架构下模块紧耦合所带来的问题。后面的例子也有这个特点,后面就不再一一说明。
而在微服务架构下,这些问题得到了显著改善,因为模块之间是独立部署,相互之间松散耦合,一方面当供应链模块有问题需要重新启动时,财务模块、人力模块不受影响,财务和人力用户可以继续使用系统,丝毫感受不到其他模块的震荡,另一方面在更理想的情况下,同时运行多个供应链服务,系统发现某个供应链服务有问题以后,可以直接优雅地干掉该服务,并把访问转移到正常运行的服务上。这就意味着供应链模块的用户也几乎感受不到该服务的异常。
4、做到服务的弹性伸缩。
单体ERP解决资源不足的办法显得简单而粗暴,直接加资源,上高性能设备。但是高性能设备也是有限度的,所以这种办法终究会面临资源的天花板。而微服务化的ERP及配套的云技术则可以更为优雅的解决这个问题。比如到了月底、年底,财务模块的资源需求就会比平日高很多,如果资源不能给够,用户就会感觉系统卡顿,甚至是不能正常响应。在部署到云上的、微服务化的ERP中,系统会实时监控有关服务的资源使用率,一旦发现资源占用超过了高限阈值,系统自动启动新的财务服务,直到每一个服务的资源占用达到正常水平,从而保障业务的正常开展。而当发现资源占用超过了低限阈值,系统会自动关闭一定数量的财务服务,直到每一个服务的资源占用达到正常水平,从而降低设备功耗,降低成本。出于简化,这一部分没有把应用和数据库分开谈论,在此特别说明。
综上所述,除了两篇文章中提到的四个好处,微服务化还有其他好处,为控制文章长度,在此略过不表。
总之,尽管ERP微服务化需要大的投入,而且带来的管理运维复杂度和成本也更高,但是其带来的好处还是大过其投入,尤其是在互联网公司已经完成了相关框架和组件的技术验证,ERP厂商风险相对可控的情况下,微服务化ERP是厂商获得未来竞争优势的一个不二选择。