借力互联网技术实现传统企业IT架构互联网化升级

2016-04-06 03:30作者赵世峰
通信世界 2016年17期
关键词:架构服务系统

作者│赵世峰

借力互联网技术实现传统企业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负责系统间的信息交互示意图

猜你喜欢
架构服务系统
基于FPGA的RNN硬件加速架构
Smartflower POP 一体式光伏系统
WJ-700无人机系统
功能架构在电子电气架构开发中的应用和实践
基于PowerPC+FPGA显示系统
基于云服务的图书馆IT架构
服务在身边 健康每一天
服务在身边 健康每一天
服务在身边 健康每一天
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini