拥抱微服务不需一步到位找对目标比全面重构更重要

每日动态2021-02-19 22:03:01
最佳答案【三阶段微服务导入流程】Gartner建议,拥抱微服务最好不要一步到位,更不

【三阶段微服务导入流程】Gartner建议,拥抱微服务最好不要一步到位,更不要赶流行,可分三阶段进行,先找出目标AP,再强化新式开发能力和自动化工具,最后从最有变动需求的小功能开始导入微服务。(图片来源/Gartner)

「容器、微服务试了才知道!」大半生投入银行IT的彰化银行资讯处处长陈显龙,谈起最新的容器技术,冲劲满满。

这家百年老店正在思考银行架构的大改造,不只要展开银行核心系统大升级,为了更快速反应市场变化,陈显龙还计画,引进最夯的微服务架构、容器技术、商用Kubernetes产品等,来优化现有的系统。他希望改用「服务」来取代过去以业务为导向的功能模组,打造一套可以弹性组合和扩充的新一代分行端末系统。

陈显龙早在多年前就推动过一波彰银IT集中化架构的改造,可以做到全球全行一日结帐。相比自己过去熟悉的VM、SOA架构,他认为,容器和微服务架构的核心概念其实也很类似,开始导入这些技术时,银行IT团队仍然大概可以知道该如何进行。

但是,「没有踩进去,就无法知道前置作业得準备到什么程度才够,做过一次就知道。」他坦言:「第一次不见得能做好,就算这次失败,下次就可以调校得更棒。」所以,趁着核心系统升级之际,他打算先从分行端末系统开始拥抱容器技术和微服务,让IT团队练手。

彰化银行不是唯一一家想要拥抱当红微服务和容器架构的台湾企业,除了网路公司、新创公司早就积极拥抱之外,这两年如第一金人寿、国泰世华银行、远传电信、中华电信等也开始尝试用于特定领域或应用上,更有不少机器学习或深度学习分析团队背后所用的运算环境,就是靠K8s和容器来调度,例如台湾最新款的超级电脑台湾杉2号上就部署了一套K8s环境。

传统企业拥抱微服务的挑战,远比新创公司、网路原生服务业者或行动应用业者,来得更困难,最大的挑战就是大量单体式既有应用的包袱。如何踏出第一步,一步到位全面採用?还是分批进行?该从何下手?这都是CIO的困扰。

Gartner资深研究总监Kevin Matheny建议,导入微服务要先找对目标,可从面对顾客、需要快速改变的AP入手,一步到位全面重构的成本太高。(摄影/洪政伟)

Gartner资深研究总监Kevin Matheny建议,拥抱微服务最好不要一步到位,更不要赶流行,「导入微服务要先找对目标,可从面对顾客、需要快速改变的AP入手,一步到位全面重构的成本太高。」

他从两个角度来看微服务架构,微服务的内部架构是容器技术和应用程式的程式码,大多是企业IT开发团队熟悉的领域。「微服务的精神是将大型应用打破成小单位,来实现最小变动,做到每次改变,都刚好是需要的最小调整。」

不过,解构了大型应用程式之后,将内部元件移到应用程式外来运作时,为了控制这些元件之间的存取,「微服务架构的外部环境,需要有一套支持系统和管理系统。」

这些让微服务顺运作的机制,除了用来管理容器的Kubernetes之外,还需要CI/CD自动化机制、用于服务互通管理用的服务网格(Service Mesh)机制、确保微服务运作的监控机制、面对不同前端应用的对外应用闸道器,以及其他后端服务机制等。

「拥抱微服务的代价是,複杂的维运和痛苦的导入过程。」Kevin Matheny指出。后者正是高度e化传统企业的第一个挑战,他认为,若有应用程式需要经常改变,就很适合改用微服务架构,否则不需要。

「若企业的应用程式一个月才需要异动一次,就不需要这样的架构,太浪费了。」例如现有银行核心系统,他就不建议先套用微服务架构。

他解释,微服务架构是一种专供持续变革用的架构,企业可以进行最小幅度的修改,又能同时了解这些修改的影响,作为日后变动的回馈,「通常是面对顾客的系统,例如Web应用,才需要寻求持续不断的变动。」

【微服务设计架构】Gartner提供了一套微服务设计架构,不同的微服务透过容器封装,部署在容器管理平台(如K8s)上,还需搭配CI/CD自动化工具,Service Mesh机制、后端服务、监测机制和对外Gateway。(图片来源/Gartner)

三阶段导入微服务,选对目标是第一步

Kevin Matheny也提供了一套企业三阶段导入微服务的作法。「第一步要选对目标!」先辨识出需要经常改变的应用或服务,而且要从业务利益角度来挑选,同时还要评估企业对于微服务架构的準备度。

第二步则是要强化开发能力。包括要提升IT团队的能力,同时要从产品或应用程式生命週期来思考,并大力拥抱自动化的开发流程和工具,例如CI/CD。

完成了第一、第二步之后,开始从小地方入手,梳理出可从单体式应用中剥离出来的功能API,再从中抽出最小单位的微服务,作为打造微服务的目标和起点。

就算是IT资源较充沛的银行,他认为,最好也先从顾客系统开始拥抱微服务,累积足够的人才和经验后,评估真有需要经常变动的效益,才需要将微服务延伸到核心系统上。

「微服务架构不应该是企业的目标,」Kevin Matheny再三强调这件事,他观察,未来企业IT不会只需管理微服务架构,而是微服务和传统架构并行管理,所以,不要问如何拥抱微服务架构?而要思考,你有什么问题,需要靠微服务才能解决?儘管IT要有大架构和蓝图策略,「先从小服务,开始感受到微服务的好处,远比IT架构大跃进更为可行。」曾在年营收4百亿美元的美国零售巨头Best Buy担任过电商架构总监13年的Kevin Matheny,这是他对有意拥抱微服务的台湾企业,最重要的建议。

 相关报导  企业K8s实战在台湾 

免责声明:本文由用户上传,如有侵权请联系删除!