所谓的突发事件,实际上有两个特点:
- 不可预知
- 对业务压力造成了极大的冲击
假设,我们的基础架构以及应用架构能够感知压力的持续性,并且能够根据一定的规则进行自动的扩展。我们的应用能够实现部署到发布的效率化和自动化。那么这个问题就可以解决掉。这里面有几个问题需要解决:
- 业务压力的捕捉模型,涉及到一系列指标的获取,相信这个比较简单,只要有相应的监控数据。
- 基础架构的弹性伸缩能力,我们既有的传统架构、无论是虚拟化还是物理机模式,都无法实现基础架构的弹性伸缩,因为应用从部署到发布的周期太长,验证环节太多。即使我们把部署发布等工作都做成自动化的python或者shell脚本,离我们的弹性架构还是很远。这就要求基础架构从传统的模式转向轻量性容器架构。
- 应用的发布效率化和自动化,其实这个不仅仅是一个效率或者是自动化的简单过程,它是需要应用进行一系列的升级。包括应用的解耦、包括devops思想的推进、微服务的推进等。
- 这一系列过程的集成化,包括数据的合理流向、任务的合理调度流程、资源的合理配置等。