最近遇到了几个客户的“难题”,就想到了“应用架构优化”
- 远程灾备场景,复制虚拟机的难度和成本都很高
- 中间件的升级,风险大,操作复杂
根据DevOps的理念,系统架构要进入开发阶段,提供建议,从而降低运维层面的复杂度、难度和成本。
那么,关于“应用架构”,我认为最重要的就是做到“应用和数据分离”
这个道理实际上很简单,自己笔记本上都知道,C盘不放数据,数据都放D盘。 应用也是这样的,数据单拉出来,条件好一点儿的,放数据库,条件不好的,放到一个单独的目录中。 这样都有利于系统、中间件、应用的升级。
实际上还有一类数据,就是“应用配置数据”, 例如,weblogic中间件需要哪些配置,这些不要在图形界面中做,或者,图形界面做完后,最好dump出来一个配置应答文件,当进行升级或者重新部署时,直接从这个应答文件就可以进行恢复。 当然,在细致一点就是,通用配置和特殊配置在分开,通用配置可以直接用自动化工具集中推送,特殊配置可以用自动化工具单独推送或者手工实施。
针对我遇到的“容灾”的问题,如果实现了应用和数据分离,那么根本不需要关注“虚拟机”怎么同步过去,只需要专心的处理数据即可,在灾备端,具备了虚拟机模板、自动化配置脚本、应用配置脚本, 分分钟恢复应用呀!
收起