云原生落地:企业级DevOps实践
上QQ阅读APP看书,第一时间看更新

2.2.2 自如的技术演进过程

经过10年的发展,自如的业务规模和业务领域都大大增加。在业务规模巨增的背后,是自如业务系统的飞速演进。自如的技术发展大概经历了如下几个阶段。

2015年之前,自如以资产应用为主,管理房源信息、合同信息、客户信息,为了快速迭代业务,主语言以PHP为主,代码仓库以SVN来管理。到目前为止,老应用还存在部分未下线的功能,但是历史代码已经达到了1GB。

2015年到2018年是架构服务化的阶段,这时自如业务蓬勃发展,长租、短租、优品、家装、服务等多条业务线崛起,各个业务线开始构建独立的专属服务,此时Java开始逐步替代PHP,成为新业务线使用的语言。各个服务间开始通过RPC进行通信。这个阶段自如从单体架构迈向了分布式架构,度过爆发性增长的3年。

到了2018年7月,基础平台成立,自如开始对已有的持续交付流程进行重构,引入大量开源技术栈,如Spring Cloud、Nacos、Pinpoint、Graylog、Apollo等,使各个业务线通用的能力得到下沉,同时建设了第二机房,使自如的架构第一次具备了同城灾备的能力。

2019年,自如开始搭建DevOps体系,所有应用运维往SRE(Site Reliability Engineer,站点可靠性工程师)方向转型,开始学习编码,准备为Kubernetes落地储备人才。自如建设了大量的平台功能,如网关、监控报警、配置中心、消息队列平台、权限平台、用户中心等,使技术中台已具雏形。

2020年,伴随着容器、Kubernetes的广泛传播,自如对持续交付流程做了颠覆性重构,完全改变了之前的发布部署方式,对环境、分支模型都进行了重新定义,成为整个自如的技术演进过程中一个新的里程碑。