阿里玄难:面向不确定性的软件设计几点思考

640?wx_fmt=jpeg

阿里妹导读:在纷繁复杂的业务发展中,变化已成为了唯一的不变。如何保障基础设施的安全、高可用性,同时提供高效的创新支持?今天,阿里副总裁、业务平台事业部掌门人玄难,结合阿里巴巴业务平台建设和个人多年大型软件设计经验,提炼成几点思考,希望对大家的软件架构设计有所启发。


640?wx_fmt=jpeg

 

玄难

阿里副总裁

业务平台事业部掌门人

 

特别说明:本文中所说的软件都指代面向最终用户的偏业务的软件,不包含操作系统、中间件等系统软件。

 

1、软件发展的几个阶段

 

  • 软件工具和信息化阶段:软件最早是为了数值计算,以工具的形态出现的。包括PC时代我们非常熟悉的Excel,Word这些好东西。以及典型的企业内部管理的信息系统,例如:企业流程审批、进销存管理系统等等。

  • 互联网服务阶段:随着PC互联网兴起,淘宝、QQ、Google、新浪这些全新的互联网服务逐步进入了我们的日常生活。

  • 社会基础设施阶段:随着移动互联网、IOT、人工智能的出现和高速发展,各种各样的软件进入社会经济生活的方方面面,软件之间相互连接,构成了一个纷繁复杂的生态系统,变成了不可或缺的社会基础设施。

 

随着软件形态的变化,过去非常高效的系统架构和组织形态遇到了全面的挑战。因为我们所处的环境已经从量变到质变,突破临界点,产生了本质的不同。

 

阿里巴巴就是这个过程中的典型代表。从过去单一的电商业务演变成了复杂的经济体,没有了确定性的业务边界,蓬勃发展的业务不可预测。比较典型的特征就是:


  1. 从过去的一个淘宝演变成了几十个事业部和公司,新零售、云计算、文娱健康等等几百种业务,还在不断地快速演进;

  2. 从曾经的一个Denali系统,通过分布式架构演变成了上万个系统的群落,各种业务逻辑交织在一起横贯众多系统,说不清道不明;

  3. 从曾经几十个人的协同演变成了几万人的协同,每个人都像在原始热带雨林,不知业务全貌,盲人摸象;

  4. 从曾经的可停机发布演变成了不可中断,连续进化的社会基础设施,不仅要系统稳定性,更要业务连续性。如何确保这个基础设施的安全、高可用性,同时提供给业务方高效无障碍的创新支持,就是我们必须去解决的核心问题。


针对这些问题,我们对软件设计产生了几点基本思考。

 

2、传统软件设计:外延的确定性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值