首页 > EA > 正文

下一代企业级应用架构管理体系

2018-07-27 09:24:13  来源:CIO之家

摘要:传统的业务和架构需要稳定,而新的业务和架构要求敏捷,因此出现稳态和敏态并存的现状。
关键词: 应用架构
在我们的工作中,接触到很多的传统行业的客户,比如金融、零售和制造业等等,传统行业由于受到互联网环境的冲击,很多企业都开始做数字化转型,因此逐渐走向我们今天经常听到的新金融、新零售、新制造,主要是通过大数据云计算等新技术的应用,提升业务能力,改变服务模式,从以产品为中心而逐渐转向以消费者需求为中心转变。
 
企业级客户的IT状况是什么样的呢?简单来讲,可以概括为:双态并存。
 
在业务层面,目前企业中既有传统业务,也有互联网的新型业务。拿金融行业来说,目前做很多的新业务创新,包括线上的理财贷款等业务,同时加上传统的存款汇款的老业务仍然大量存在,也就是说在业务层面,是老业务和新业务并存。
 
而IT主要作用就是对业务进行支撑。因此支撑老业务的IT架构和支持新业务的架构也都有。传统的架构对于老业务的支撑是很稳定的,比如银行的核心系统仍然跑在大型机上,尤其是大型的银行。而新的IT架构,云化的互联网化的架构,则用于支撑互联网的新业务。
 
传统的业务和架构需要稳定,而新的业务和架构要求敏捷,因此出现稳态和敏态并存的现状。
 
某金融企业现在面向互联网场景的2C的零售业务的增速,年复合增长率超过百分之百;某银行企业的信用卡中心,每个月应用的迭代更新超过100次(主要是为了支持大量的线上营销活动,比如节假日),因此IT系统大大小小的迭代也达到100多次;还有来自证券企业的压力,银行网络支付业务在双11的时候,其IT系统面临发压力都是非常大的,甚至达到指数倍。
 
我们看到这些传统行业在互联网的冲击下,业务面临的压力是非常大的,这在以前的环境下是不敢想象的。
 
业务的转型不可避免地推动IT的转型,那么IT 究竟发生了哪些变化呢?我们根据经验总结了一些场景。主要变化发生在以下五个维度。
 
1、计算资源
 
在传统的业务需求下,银行等大型企业都是买大型机小型机等高端的存储和服务器,而现在面临互联网化的需求,都逐渐走向x86,并构建虚拟化环境,还有一些客户,使用公有云。那么我们看到,硬件锁提供的计算资源逐渐向廉价的方向发展,计算资源也都在做IaaS云化。
 
2、应用的封装和交付
 
在应用的封装上,之前JAVA都是用JVM做封装,基本上都是采用java程序然后抛在java虚拟机上。而现在更多的是采用容器的交付方式。容器在很大程度上解决了程序异构所带来的问题。
 
3、应用管理的问题
 
传统模式下对应用做管理,尤其是java的应用,大多数是通过java中间件,比如weblogic等,管理的内容包括应用的权限,应用端的访问,数据库访问的密钥,应用的session共享等。在新的架构上,都是基于容器的PaaS平台,应用上云之后,都是容器化交付的,通过PaaS平台管理容器化的应用。
 
4、应用架构
 
这个主要是指应用怎么做开发,怎么做架构设计,怎么写程序,传统的架构是采用SOA的架构,或者说单体架构,而在新的环境下,SOA的维护成本和迭代成本都很高,因此在云计算IT架构里面,普遍采用的是微服务架构。微服务架构是一种分布式的架构,每个应用程序相对轻量,每个进程封装在单独的容器里,实现独立的功能等。
 
5、开发运维
 
这里会涉及到企业的组织部门的架构,在传统的IT企业中,开发部门,运维部门是两个并列的部门,在开发部门中比如采用传统的瀑布式开发,运维则是传统的面向资源为中心的运维,到了云计算的时代,由于业务压力很大,上云在很大程度上是为了解决效率的问题,提升敏捷能力,因此开发部落地敏捷开发,而在运维部门,逐渐落地DevOps的模式,也通过这种方式,促进开发和运维部门的融合和一体化。
 
企业级应用架构管理主要解决应用的开发架构和应用的运行时管理问题。
 
主要的价值是:
 
1、实现应用运行环境的标准化,提升交付速度
 
2、达到运维过程的高度自动化,降低运维成本
 
3、形成软件研发的技术路径统一和把控研发质量
 
4、优化企业 IT 架构治理
 
未来企业上云后,应用主要会朝着轻量化、敏捷化和开源化的方向发展。
 
1、轻量化
 
这里主要是针对传统的JAVA 中间件应用。应用容器化、架构微服务化,使得企业级应用变得轻量化。
 
2、敏捷化
 
包含以下几个理念:DevOps 理念逐步推广
 
研发人员更多关注业务开发本身而无需关注太多底层技术细节,落地敏捷开发
 
运维人员大量采用自动化运维平台和工具,运维效率极大提升
 
3、开源化 企业级 IT 全面拥抱开源软件
 
开源技术选型上面临挑战,开源技术频繁更新迭代,企业需要量体裁衣,取长补短(目前很多的开源技术都处于半成熟的状态,在开源技术选型上的困难是很大的)
 
Google作为 IT 行业的标杆,是云计算领域公认的领头羊之一。我在Google工作的时候,很深刻地感受到Google在应用架构的管理方面是非常强大的,所有的业务都能实现统一管理。
 
当企业应用上云之后,其应用架构管理要关注哪些要素?
 
容器 容器正在成为云计算原生应用的标准交付方式
 
微服务 微服务将成为云计算原生应用的标准开发架构
 
服务治理 微服务治理成为下一阶段应用管理的核心 服务网格是微服务领域最新的服务治理技术 数据网格是服务网格的特例,是微服务应用数据治理方面最新的技术
 
服务网格很像一个轻量的网络代理,当客户端的程序需要访问服务端的时候,客户端 程序首先要知道服务端在哪,一般静态的方式是通过IP地址端口或者域名端口来访问。
 
在实现上,我们可以参考最近新推出的Istio,是服务网格的王者。Istio主要做的就是,当我们将网络的管理部分与应用程序进行剥离开来之后,它能够进一步将这些服务进行抽象化并做统一的管理和控制。其作用和好处也是非常多的。
 
主要会朝着标准化、统一化和模块化的方向发展。
 
标准化
 
容器对应用标准化封装
 
微服务成为云计算原生应用标准化架构
 
统一化
 
基于容器和微服务打造的标准化应用,可以实现应用统一化管理
 
模块化
 
容器化应用的每个实例是可独立部署的最小模块
 
微服务架构非常强调应用的模块化
 
模块化降低系统耦合度,降低系统维护成本

第二十八届CIO班招生
法国布雷斯特商学院MBA班招生
法国布雷斯特商学院硕士班招生
责编:yangjun