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

【三阶段微服务导入流程】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实战在台湾
