还记得上周我们在讲标准化体系建设(上)的最后,我留了两个小问题,其中一个是这样的:
在对象属性识别过程中,我们进行了一些关键项的举例,但是如果换一个对象,我们有没有好的方法论来指导我们进行准确和全面的识别,而不至于遗漏?从我们今天的内容中,你有没有发现些规律呢?
这个问题的答案其实就是我们今天要讨论的内容,那就是从“应用生命周期管理”的角度分阶段去梳理。
简单理解下来就是,对于一个对象,既然有生命周期,就会有不同的生命周期阶段,那这个对象在不同的阶段,可能就会具备不同的属性、关系和场景。只要我们把一个对象的生命周期阶段理清楚了,顺着这条主线分阶段进行分解,就可以分析得更加清晰、明确和具体了。
怎样理解生命周期
谈到生命,首先就会联想到我们自己,所以这里以人做一个简单的类比。我们人类从出生到死亡,就是一个生命周期,在这个周期的每一个阶段,我们都会有不同的属性、关系和所要面对的场景。
比如从人的学生时代开始,作为学生,我们就会具备学生的属性,会有所属学校、所属年级、所属班级、所属学号等等。这个时候我们周边的关系更多的是同学关系和师生关系。我们面临的场景可能就是读书、做作业和考试。当然学生时代细分下去还会有小学生、中学生、大学生以及研究生等阶段,每个阶段里面又会有不同的细分属性以及所要面临的场景,比如大学生毕业,就面对求职的场景等。
当一个学生毕业走入职场之后,这个时候就开启了生命周期里的另一个阶段,那就是职场生涯。这个时候我们身上的属性又发生了变化,具备所属公司、所谓职位、所谓层级等。这个时候的关系也更为复杂,如同事关系、上下级关系以及各种各样的社会关系。我们所面临的场景也变得复杂,要完成工作、晋升考核、领取薪酬以及离职跳槽、再次面试等等。
再往后,我们到了一定年纪,成为老年人,又会有老年人的属性、关系和场景,这里就不详细列举了。
围绕着人类的生命周期,我们国家和社会提供的解决方案,就必须要有一系列对应的教育体系、职业体系、医疗体系、养老体系等。目的就是针对人生的不同阶段,提供不同形式的保障和支持,让每个人在社会体系下都够正常生存并发挥出自己的价值。
从上面的分析我们可以看到,人这个对象,在不同的生命周期阶段中,会有不同的角色属性和外部关系,同时要面对的社会和生存场景也不一样。所以,当我们谈论人这个对象的时候,一定是把这个对象放到具体的某个生命周期阶段中,才会有意义。
应用的生命周期分析
回到我们运维对象的生命周期上来,我们所面对的这些对象就相对规范、标准很多。
当一个场景下有多个对象时,就一定要找到那个核心的运维对象,这个核心对象的生命周期就会涵盖其它附属运维对象的子生命周期。结合我们前面讲过的内容,微服务架构下,一切要以应用核心。因此,我们就找到了整个运维体系,或者说软件运行阶段的核心对象,那就是应用。
应用就类似于我们社会中的人,凡事都会以人为本,这里就是要以应用为本。那接下来按照上面我们对一个人的生命周期的阶段分解,我们也可以对应用的生命周期阶段进行分解,大致分为五个部分,应用的创建阶段、研发阶段、上线阶段、运行阶段和销毁阶段。我们依次来分析看一下。