解读东软 CTO 的数字化转型实践——SaCa ACAP 如何落地敏态 IT

在 2017 年度东软解决方案论坛上,东软董事长兼 CEO 刘积仁宣布,东软正致力于成为数字社会的构造者和推动者。作为这次转型的技术驱动者,东软集团高级副总裁兼首席技术官、首席知识官张霞向媒体分享东软帮助用户进行数字化转型的思考与行动时,提到了支持 CIO 打造双模 IT 的思路。

双模 IT,即 “可预测 IT ” 与 “敏捷式 IT ”。“可预测 IT ”即业界熟知的传统 IT 模式,“敏捷式 IT ”是新兴的 IT 模式,强调根据客户的反馈,及时、快速地调整业务应用,支持和引领企业实现创新和转型。

不同的 IT 模式,需要与之相适应的软件开发平台。针对新兴的 “敏捷式 IT ”,东软推出了 SaCa ACAP 敏捷云应用支撑平台,与面向 “可预测 IT ” 的 UniEAP Platform 平台一道,以双平台的形式,分别支撑企业两种管理范式的实践。

采用平台化策略构建企业信息化系统的模式,是业界实践多年、被证明最有效的模式之一,但最大难点在于如何落地。

东软如何帮助用户实现敏态 IT 落地?

作为东软帮助客户实践敏态 IT 的基础平台,SaCa ACAP 认为:敏态 IT 的核心目标在于支撑企业创新性业务快速开展。创新性业务没有历史案例可以参考,其商业模式,业务流程、商业行动等都需要在实践中不断提炼,业务以快速反馈、快速迭代、试错的方式推动。与之相配合的软件系统就需要具备 “快速应变” 的能力,具体来说,根据市场变化、客户反馈快速上线、调整业务系统功能,根据业务量变化,动态调整系统容量。

构建 “快速应变” 为核心的开发平台

先选择合适的技术路线

采用服务化架构,DevOps 敏捷开发方法,使用轻量级虚拟化技术以及具备自动化运维能力的基础设施是现今的主流选择。但从 SaCa ACAP 的理解来看,构建一个支撑敏态 IT 的开发平台,并非是将各类技术组合使用就可以实现的。

首先,服务化时代里技术呈现爆炸式增长的态势,其技术复杂度也大大超过以往。以构建服务化框架而言,其常规组成就包含十几个子方向,每个方向均有多种技术可供选择,完成每一部分选择之后,还需完成这些技术融合、测试,保证其可以协同工作,还需要关注各技术方向的升级、缺陷修正,持续融合、测试。实践 DevOps 敏捷开发方法,仅 DevOps 相关工具就有几十种。轻量级虚拟化以及具备自动化运维能力的基础设施环境亦存在同样问题。这样的技术广度、复杂度,需要一个相当规模、相当技术水平的技术团队,而这样一个团队,对绝大部分企业和组织来说都是一个很大的挑战。

 

基础技术选择之上

是关键技术场景的解决方案覆盖

完成了最基础的技术选择及融合,开发平台还需要为关键技术场景提供解决方案。在服务化架构下,业务功能及数据均被划分成相对小的粒度,分布式部署。为适应业务量的动态变化,所有微服务应用都可以动态伸缩。关键技术场景的解决方案必须考虑到这些情况,保证在动态环境下工作稳定、可靠。

典型关键技术方案

首先,服务化时代里技术呈现爆炸式增长的态势,其技术复杂度也大大超过以往。以构建服务化框架而言,其常规组成就包含十几个子方向,每个方向均有多种技术可供选择,完成每一部分选择之后,还需完成这些技术融合、测试,保证其可以协同工作,还需要关注各技术方向的升级、缺陷修正,持续融合、测试。实践 DevOps 敏捷开发方法,仅 DevOps 相关工具就有几十种。轻量级虚拟化以及具备自动化运维能力的基础设施环境亦存在同样问题。这样的技术广度、复杂度,需要一个相当规模、相当技术水平的技术团队,而这样一个团队,对绝大部分企业和组织来说都是一个很大的挑战。

  • 无状态化方案。实现微服务应用动态伸缩的基础,包含应用状态信息透明存储,上下文传递。
  • 数据一致性方案。包含单一服务幂等性,单服务一数据一致性与跨服务数据一致性。
  • 事件机制(EDA)。包含如何解耦应用,如何适应不同技术栈的应用。
  • 异步任务处理方案。高消耗任务(耗时、耗资源)高效处理问题。
  • 有限资源争用控制方案。对于关键资源,限制资源并发使用量,高效控制资源争用。
  • 服务调用流程跟踪。一个对外服务涉及多个内部服务调用,如何有效跟踪服务调用流程。
  • 服务调用性能分析与故障定位。如何在对外服务调用链中定位性能消耗,查找故障位置。
  • 阻断故障传播方案。当某个服务,或者其依赖服务出现故障时,如何防止故障传递到调用链中上下游的其他服务。

 

技术之外,是驱动软件规模化生产

解决了以上问题,开发平台已经可以胜任敏态 IT 应用的构建及运行支撑了。不过,对于一个企业开发平台,这些还不够。开发平台支撑的是整个企业敏态 IT 业务系统的构建,企业敏态 IT 系统会持续不断地开发,本质来说,这是一种规模性生产行为。开发平台除了提供技术层面的支持之外,还需要考虑如何支撑软件规模化生产。

支撑软件规模化生产需解决哪些典型问题?

  • 多团队并行开发,职责的划分。
  • 多团队间公共交互接口发生变更,高效通知所有关联团队及时调整,而不是被动等待上线功能失败才可以发现。
  • 并行开发条件下,业务逻辑有相互依赖的团队,在其他团队没有完成开发的条件下完成测试的方法。
  • 业务需求发生变化,对现有的微服务应用进行快速拆分或者合并的方法。
  • 实际部署条件与预先设计的不符,快速调整使之符合实际要求的方法。
  • 从开发到上线,推荐的环节划分。
  • 实现持续部署,需要做的工作。
  • 项目人员来自不同供应商、技术能力各异,多团队并行开发,有效控制开发技术标准与质量,保证供应商可替换,不同团队人员可替换的方法。

 

以上,就是 SaCa ACAP 对落地敏态 IT 的理解及行动。SaCa ACAP 敏捷云应用支撑平台,提供一套经过精心打磨、运行稳定,与业界主流技术发展同步的微服务开发框架,适应于服务化架构的关键场景、持续更新的解决方案集,以及支撑企业大规模软件生产的工具集,方法学和最佳实践。SaCa ACAP 已经帮助东软多个客户落地敏态 IT 应用平台。

 

相关产品

2019-04-02T18:45:11+00:00