作者│赵世峰
借力互联网技术实现传统企业IT架构互联网化升级
作者│赵世峰
随着云计算、敏捷开发等的广泛应用,传统企业IT架构借力互联网技术向开放平台转型,已成为CIO的一个重要话题。
图1 以微服务为基础的IT开放平台生态系统
IT系统架构设计是IT领域经久不衰的话题之一,它决定了IT系统能否被正确有效地构建、能否满足业务需要。
笔者所在的C集团是一家为运营商提供通信服务的企业,公司治理模式是典型的“小总部”战略及财务管理型,设置有总部、省和专业公司三级架构,业务分布于全国,且类型复杂多样。之前各省建设的松散系统暴露出诸多的问题,主要为:第一,管理落地困难。各省自建系统缺乏统一的系统架构,难以落实总部的全面管控要求。第二,技术繁杂,用户体验差。随着业务需求的多样化,当初看似高效的开发方式及系统架构反而成了系统集成、升级的瓶颈。第三,建设和维护费用高。全国所有系统每年的建设和维护费用惊人。
笔者认为IT系统架构设计的本质是在企业内部找到动态平衡:平衡业务、技术、团队的同时,还要考虑系统的灵活性、可扩展性及可维护性等因素,充分利用遗留系统,新、旧系统融合演进。
C集团曾考虑使用成熟的套装软件,但存在以下问题:一是需要大量的二次开发工作;二是用户量大,套装软件的授权费和服务费昂贵;三是界面复杂,劳动密集型企业员工电脑操作难度大,培训成本高。
为此,C集团决定自建企业IT架构,参考BAT的体系架构,以“围绕业务构建开源微服务分布式系统”为理念建设“翔云”平台,寓意借助云计算实现IT建设的腾飞。
C集团以微服务为基础的IT开放平台生态系统(图1),将工程、设计、监理和运维四大类的业务形态抽象为合同、项目、采购、销售、财务、客商和市场七大类微服务。开发人员通过调用这些微服务,实现业务的快捷组装。下面就几个关键点进行说明:
综合灌浆法:钻机对中调平固定→开孔钻至第一段→阻塞洗孔、压水及灌浆→钻至终孔段→一次性洗孔、压水→自下而上分段灌浆至第二段→封孔。
1. 微服务的识别
很多人会问:业务复杂,怎样合理拆分微服务?个人认为,初始阶段不必纠结于此问题,要在实施过程中不断寻找业务拆分颗粒度与IT架构设计的平衡点。
最初,我们将C集团的业务拆分为417个微服务,后来的实施过程中发现拆分得太细,一是业务的管理颗粒度达不到如此细化,太多的能力预留是一种浪费;二是服务间的交互成本过高。最后调整为306个,将这套体系命名为“业务HUB”(图2),各功能都可以在该平台上集成。
服务管理平台层把核心业务模块化、服务化为原子服务。图中服务工厂,用一堆相同的几何形状小块表示其独立性。业务流程平台层通过原子服务和业务逻辑的组合来完成服务。
技术选型坚持了基于开源软件的分层架构,基于互联网部署,在保障安全的前提下废除了VPN和USB密钥,节约成本。
翔云项目以微服务思想为指导,采用Spring+SpringMVC框架实现组件解耦、敏捷迭代。采用主流的成熟框架,各种参考资料众多,有利组建开发团队。
2. 微服务的管理
微服务架构采用Dubbo+Zookeeper实现服务的分布式管理与调度。
翔云项目目前实现了对C集团所有微服务资产的管理,后续将按照DevOps思想实现整个开发运维的自动化(图3)。
· 服务注册管理:对自有或第三方开发的服务接入平台进行统一管理。
· 服务版本管理:差异化支持管理服务的多个版本。
· 服务权限管理:支持对服务权限的配置与审批流程。
· 服务监控管理:支持对服务运行状态进行全方位监控。
图2 业务HUB与SAP示意图
图3 服务管理平台示意图
3. 微服务与ESB并存
微服务架构本质上是服务总线ESB,那么微服务的分布式管理与ESB是什么关系?简而言之,ESB负责系统间的信息交互,微服务分布式服务管理负责系统内部的信息交互。
C集团的一期系统采用SAP PI作为企业服务总线ESB,二期继续沿用作为API Gateway层,新建的翔云项目管理系统通过ESB对接财务系统,系统内部通过Dubbo+Zookeeper进行分布式服务管理(图4)。随着遗留系统逐步退役,C集团将完全过渡到去中心化、分布式的IT架构上。这也印证了:企业IT系统架构设计的本质是在企业内部找到动态平衡。
4. 虚拟机和容器
翔云一期项目在内蒙古建立了虚拟机资源池,从而保障了翔云二期项目微服务架构体系的建立。并且,我们在开发和测试环境已尝试使用Docker。
翔云二期项目将项目管理的306个微服务打包为15个微应用独立部署,用极低的成本支撑了全国20多个省的业务运营。
5. 开发和运维团队
专业化的队伍是快速迭代实施和优化的保证。翔云项目建设时,并没有花大力气关注微服务如何拆分,而是聚焦于生态系统的搭建以及团队文化的培养,翔云项目采用了“项目前期外部实施单位挑大梁,内部单位支撑;后期内部单位打主力,外部教官指点”的做法。
通过内外协同合作的方式,3个月分析业务,4个月开发,2个月测试,一个400万行代码的系统成功上线,实现了“所有数据进系
统、精细核算、业财一致”的目标。
综上,从IT建设的目标来看,翔云项目低投入、高产出,并且打造了新的集团企业IT应用建设模式,其特点总结为24个字:
厚平台,微应用
松耦合,插件化
界面优,集中维
开源化,易接入
通过翔云项目的实施,笔者更加深刻地认识到IT架构的设计是一个长期而不断优化的过程,重要的不是技术平台而是人。
最后,感谢长期以来为C集团信息化建设做出贡献的埃森哲公司,正是他们的努力与付出,帮助企业实现了从传统企业IT架构向互联网化破茧成蝶的转变!
编辑|赵艳薇 zhaoyanwei@bjxintong.com.cn
图4 ESB负责系统间的信息交互示意图