金融行业敏捷IT云环境的网络设计研究

smartsteven 2017-12-05 09:13:37
企业信息系统建设中的互联网化势不可挡,金融机构也一样,敏捷IT这一虽有很长历史但非常适于互联网化的管理方式大放光彩。互联网时代是“网”的时代,在互联网信息系统的敏捷研发实践中,开发、架构乃至运维和云都扮演着主角,网络技术则多在幕后扮演着“标准服务”的角色,但它的重要性却不容忽视。本文对金融行业敏捷研发模式下云环境的网络技术展开分析,探讨有关管理方法。
一.金融机构互联网化与敏捷IT
在企业业务“互联网+”、技术互联网化的潮流下,云、微服务、敏捷等技术在企业信息化中的地位更加重要,从概念或尝试变为扎扎实实的落地实践,企业信息体系的IT格局也为之变化。金融机构较之一般企业,有着既要保持经营稳健、安全可靠的运行模式,又要紧跟迅速变化、竞争激烈的市场的特性,形成传统+互联网的双模IT均需兼顾的技术生态。
敏捷研发是一系列以人为核心、迭代、循序渐进的开发方法,它把项目拆分成很多个相互联系的子项目,各个子项目的成果都经过测试并且具备集成和可运行的特征。敏捷开发包括XP、SCRUM等方法,与文档驱动的传统瀑布式开发过程相比较,敏捷方法更加灵活,重视团队间沟通,开发随时适应客户的需求变化,目标是做到能持续地、更快速地向客户交付成果。
金融行业作为服务业的一部分,关注客户、关注服务、关注体验的同时必然要主动适应互联网时代的节奏,敏捷IT在当前金融机构与互联网有触点、触面的系统里是绕不开的IT管理模式,甚至被很多金融机构科技部门视为“必修课”。如何把金融企业信息系统传统关注的方方面面与敏捷IT协调起来,实现敏捷技术层面的纵向全局化,避免局部敏捷、经脉不通的潜在风险,是科技部门各个岗位,包括网络管理岗位需要关注的问题。
二.全局敏捷化中的网络技术定位
全局敏捷化,并非指金融机构所有系统都使用敏捷开发,而是指具体每个系统如果实施敏捷IT,就应该从需求、到研发、再到部署维护,均采用敏捷的标准。全局敏捷化是将信息管理的各个环节视为木桶原理中的各个木板,避免因为短板的存在导致局部出现堵点,使系统整个生命周期跑不顺畅。敏捷了一段儿路而没有敏捷起全程。
在互联网系统实现中,网络直接对应了互联网的“网”字,但因为网络的底层性质,很多系统建设者把它视作一种标准服务来看待。虽不像机房环境那么标准,但也经常会想成“网口一插,数据信息就如愿进出”的状态。使得网络技术在敏捷IT大木桶里,常被架构师想成比较放心的一块、容易建好的一块,这反倒让网络技术在敏捷IT管理中缺少了存在感。
其实不然,建设一个包括网络环境在内的基础敏捷环境是孵化敏捷项目、支撑敏捷管理的重要前提。而且,敏捷IT里网络技术的实践,是与云密不可分的。敏捷IT的基础环境应该按照云计算标准来建设,云对于敏捷开发是良好的助力工具。敏捷开发中开发人员都是尽可能早的做代码集成和环境部署,如过分依赖非云化的物理资源,因部署流程和人员间协作等传统IT部署的痛点,会带来很多不便。而云有资源池的概念和服务特性,方便开发人员获得资源和环境,以敏捷测试环境快速验证代码开发结果。而有云就必然有网,虽然大家更多关心云中的计算能力和存储能力,但其实敏捷的云也依赖着敏捷的网。微服务把系统拆的细碎了,网络里的节点就变得更多,网络所擅长的路径调度在这里大展身手,当然也面对着挑战。
三.敏捷云中网络运行的特点及难点
站在云里看网络,网络就是云中各个服务器节点和通路。站在网络中看云,云里每台服务器只是网中的一个交叉点。云和网是相互交融的,建云就一定要考虑网络。敏捷云的快速弹性体现在服务器数量的动态增加,问题是如果我们只能增加服务器资源而不能增加网络资源,用户还是得不到完整的服务。就像发电站功率再强劲,如果没有电网的通畅传送,用户也无法享受到便利。敏捷云中网络运行的以下几个特点也是难点值得关注:
1.服务器虚拟化对网络的影响
服务器虚拟化技术可以让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,或者让几台服务器变成一台服务器来用,实现服务器物理资源到逻辑资源的转变,灵活地进行资源的分配和调整。这给网络带来如下影响:(1)随着服务器的利用率提高,网络也被充分用起来,端口总流量大幅提升,对网络承载性能提出更大的挑战,可靠性要求也更高;(2)服务器虚拟化技术的应用时常伴随着虚拟机的迁移,这种迁移需要一个苛刻的网络环境来保障;(3)大量运用集群节点后,主机稳定性提升,但网络调度设计不当甚至出问题的概率随之加大,连接状态保持不当的可能性会更大。
2.网络中不可预测的流量波动
大多数互联网应用系统的流量模型单个拿出来都有自身周期性,就像乘坐电梯一样,通常都是上下班时间客流最多,其他时间电梯基本处于空闲状态。金融机构业务多而杂,流量变化有自身特点,业务的叠加使得不容易准确评估出其出现的峰值和时间。注册用户购买产品、下载单证,还有非注册用户浏览都是网络流量中的变量,引起不可预知的流量波动。有时虚拟化后,多个应用的叠加产生的突发流量更加难以衡量和控制。所带来的直接影响就是造成网络行为超出预期,甚至异常。
3. 路由与负载均衡的设计
 需考虑现有网络的路由能否支撑敏捷云,另外敏捷云环境需要负载均衡可实现对多个节点自动进行流量分发,从而获得更高水平的容错性能。同时,可以根据业务需求实时添加或删减云服务器,从而实现无缝的业务伸缩。定时检测后端云服务器是否正常运行,健康检查频率可自定义。一旦检测到云服务器异常,则不会将流量再分配到这些异常节点,保证应用可用性。
4.互联网系统中连接的特殊性
互联网与很多后台操作型管理系统的网络情况不同,不是一直处于连接状态的。我们要考虑到不同用户操作的连接时间长短不一样,且比传统系统可能要短,一段时间内,即使我们测出连接的并发数值变化不大,但实际上连接的用户已经更换了几批。就好像食堂里,人一直很多,但实际上吃饭的人一直在不停的换。可以据此分析网络设备,需要容纳多少并发。
四.敏捷网络的布局与设计
在建设敏捷过程中,对网络架构问题一定要谋局在先,不能等最后再随意搭建。另外敏捷IT时时存在变化,所以网络一定要“善变”,灵活、自学习甚至自适应,且要做到全覆盖,达到深入和快速的程度。本节梳理了几点敏捷云网络的设计对策。
1. 网络微服务化
构建云网络的过程中也可以引入微服务的概念,目标是使服务间耦合度降低,直到达到彻底的模块化,需依次做到:1)梳理出有多少应用;2)梳理出应用间的调用关系;3)对所有应用的重要性排序,尽量不改变重要性高的应用;4)网络微服务化。以下图为例,网络架构目标是各个应用模块低耦合,图中NETWORK代表的是一系列网络设备的集合。网络架构要可快速配置,灵活变更。

要能够支持环境的快速部署,网络要做到:快速响应新应用新项目的不同需求;带宽、安全、权限可控,配置易于管理;资源易于共享;架构易于扩展。
2. 分布式缓存技术应对虚拟环境下的流量波动
服务器和存储等设备虚拟化后,面对由于多个应用的叠加产生的突发流量难以衡量和控制而带来的网络拥塞问题,网络中核心交换设备做为所有业务系统之间,以及业务系统和用户之间的交换枢纽,是所有流量汇集的地方,网络核心的性能压力最大。应对该问题可以利用分布式缓存技术。
传统的网络设备,缓存都是部署在设备的出端口,这可以缓解网络中高速端口向低速端口发送数据时产生的拥塞,但对网络中存在的多个端口向一个端口发送数据的情况却是无能为力。而分布式缓存将端口缓存置于入端口,灵活根据入端口数量来动态的调整可用缓存的容量,并在接入层可以通过缩小收敛比来减少服务器上行流量带来的冲击,并要求网络设备具备一定的缓存能力,来缓解下行流量对接入交换机的影响。这样可以很好的解决数据中心网络环境中不可预知的流量波峰带来的网络拥塞,提高业务连续性。
3. 混合型负载均衡
在采用集群负载均衡的背景下,由于多个服务器集群中的硬件配置、集群中服务器数量、所提供的服务等因素的差异,推荐使用混合型负载均衡。为各个服务器群采用适合的负载均衡方式(根据实现技术不同,可分为DNS负载均衡、HTTP负载均衡、IP负载均衡、链路层负载均衡等),多个集群再次负载均衡,使得全部服务器集群都可以达到负载均衡的目的。
4.路由规划
敏捷云网络的路由调度要能够保障云网络的快速稳定运行。具体路由规则应依据各企业广域网的层次化架构,兼顾网络现实情况决定。相关建议如下:
(1)采用BGP作为自治域间的路由协议。为进一步提高网络路由的稳定性,方便网络的管理,可将企业网络划分为各自独立的路由“自治域 AS”,在自治域间运行 BGP 协议,可以最大限度降低不同及网络间的相互影响,便于分级管理,在不同层次上扩展新业务。
(2)采用OSPF协议作为各个子环境网络的内部路由协议,以取代现有的静态路由或其它的路由协议。
(3)外网部分可使用静态路由(内网访问外网方向)。如外网不同网络的IP地址段是明确的,使用静态路由,相对比较简单,设备配置上也比较简洁。在外网区域,也可以使用动态路由协议,比如OSPF或ISIS等,这与外网设备路由设计相关,但动态路由协议的路由控制相对复杂。
(4)运用策略路由,减轻负载均衡压力。从流经设备角度,流量可以分为两类:经过负载均衡设备的的流量和不经过负载均衡设备的流量。在从内部服务器到外网方向的时候,可以通过在交换机上配置策略路由实现部分流量上负载均衡,部分直接上防火墙。外网访问内部方向上,则由防火墙来完成部分流量回负载均衡,部分流量直接给核心交换机。由于负载均衡通过虚服务的方式对外提供服务,因此回负载均衡的路由,其目的地址只能是虚服务的IP。对于不回负载均衡的流量,则直接配置目的地址为指定服务器网段的路由即可。
5. 网络云化,云服务平台与网络设备结合
从按需的业务服务来看,首先按需扩展能够按照用户实际需要,扩展网络规模和服务能力,当客户需要云计算提供更多服务器支持的时候,网络也要相应按照需要进行提升。假定企业需要提供新的应用服务,此时服务门户就会通知虚拟化应用,增加服务器的数量。云概念下,服务门户可以和网络设备结合起来,通知它网络资源的调整。管理平台便可以动态调整网络设备里有关服务器配置等的资源。在这种情况下,云网络能够让交换机和虚拟化之间,服务器资源之间保持动态同步。当需要增减的时候,信息会反馈到交换机,交换机也会根据云计算需要增加处理性能。
6. 自动化与人机结合
敏捷IT中对网络的要求,其实也是对网络管理人员的要求。再自动化的网络管理,也是需要人来搭建与监控,IT管理的本质便是做好这样的人机结合。如何在互联网化背景下为敏捷IT的网络管理选配合适的人员,是提给企业管理者的命题。对于架构师,网络功底自不必说,但能将网络与敏捷结合的意识更是关键。对网络管理员本身,仅仅懂网络通讯技术显然不能适应需要,主机运行自然要了解,了解研发甚至有一定研发经验也变为必备的技能,深入了解金融业务将会更加锦上添花。
...全文
538 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansay521 2017-12-05
  • 打赏
  • 举报
回复
发现楼主发的都是大块头的文章啊,受教了 角度挺新颖,阐述的很系统,感觉楼主敏捷实战的经验很丰富啊。

1,557

社区成员

发帖
与我相关
我的任务
社区描述
软件工程 敏捷开发
社区管理员
  • community_144
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧