DevOps应用方案

1、业务系统发布方式现状

  • 以物理机或虚拟机为颗粒度部署
  • 发布流程较为复杂,需要多次手工操作
  • 部署环境复杂,运维耗时耗力
  • 几乎是纯手工操作

带来的问题:

  1. 物理机部署通常无法最大化使用服务器能力
  2. 环境复杂,带来的部署成本较高
  3. 纯手工部署容易出错,且带来的隐患很多
  4. 当部署失败时不能自动回滚,需要手动切换jar包
  5. 部署时会影响正在登录的用户正常使用

总之现有的发布机制,所带来的的沉没成本不容忽视,甚至需要专门设置岗位来执行发布,耗费人力物力且收效甚微。

2、基于云容器的部署方式

  • 以容器为颗粒度部署
  • 部署方式简单,启动速度快
  • 一次构建可到处运行
  • 出现故障后,可随时恢复
  • 可同时部署多套环境

3、DevOPS部署

DevOps应用方案_第1张图片

以jekins为核心,实现自动化部署。开发人员推送代码到GitLab,触发事件推送到Jekins,Jekins拉取代码构建/检测,生成镜像放到镜像仓库,kubernetes拉取最新镜像执行部署。

相比单纯容器部署优点:

1)全程自动部署,不需要人工介入

一次配置终生使用,只需写好脚本就可以在所有服务复用。现在有很多容器平台支持图形化操作。

2)部署失败自动回滚

容器部署成功后,原服务才会停掉,对线上用户几乎无感。

3)服务宕机自动重启

线上服务突然宕机,会自动记录宕机前日志,并重新启动服务

4)自动扩容缩容,最大利用服务器资源

当达到流量阈值,会触发自动扩容机制,而当流量很少,会自动关掉多余服务,整个步骤对用户几乎无感。

你可能感兴趣的:(运维)