python用于系统运维管理和灰度发布部署

原创 2016年05月30日 11:20:29

有个基本想法:

nginx+tomcat,用于中小规模web应用生产环境的灰度发布。

nginx作负载均衡,标记为LB,若干个tomcat作应用服务,标记为App1, App2, App3, ... AppN。

发布过程:

1. 从LB中摘除App1,App1的应用服务停止,部署新应用,启动App1应用。,重新再LB中挂载App1

2. 从LB中摘除App2,App1的应用服务停止,部署新应用,启动App2应用。,重新再LB中挂载App2

3. ...

4. 从LB中摘除AppN,AppN的应用服务停止,部署新应用,启动AppN应用。,重新再LB中挂载AppN


整个发布过程中,由于每次只停机一台App,其他服务器正常服务,所以整体系统可用性不变,用户体验会保持不变,而且研发和运维团队也可以在白天任何时间进行上线发布。


可用python开发一个上述功能的专用发布平台。基本要点如下:

1. 采用web方式,可用flask框架。

2. 在web页面上进行所有的操作,包括Appl的摘除、挂载,应用包的上传, App服务的启动、停止、状态查看等。这方面python有良好的库可供应用,包括fabric, cuisine等。

3. 发布历史的记录,操作记录,历史版本应用包的保存。这部分可作为额外附加功能。

4. 顺带可以监控nginx, tomcat底层服务器的各种状态。

基于python实现jenkins自动发布代码平台

基于python实现jenkins自动发布代码平台 2015-04-29 15:51:27 标签:jenkins 自动发布代码平台 python 原创作品,允许转载,转载时请务必以超...
  • sunyllove
  • sunyllove
  • 2016年10月25日 15:26
  • 5300

如何基于Python构建一个可扩展的运维自动化平台

嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员。 热衷开源技术的...
  • cyAspNet
  • cyAspNet
  • 2016年06月30日 13:29
  • 6079

运维python开发有感

经常有人在群里问,运维人员需不需要学开发?需不需要学 PYTHON ? PYTHON 和 SHELL 有什么区别?   现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充...
  • u010098331
  • u010098331
  • 2016年07月21日 17:36
  • 791

python常用运维脚本实例

file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建。但是更推荐使用内置函数open()来打开一个文件 . ...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2017年03月02日 11:52
  • 16356

系统运维(灰度发布)

http://www.iteye.com/news/32355?utm_source=tuicool&utm_medium=referral 1       前言   1.1   从一次...
  • u011001084
  • u011001084
  • 2017年04月24日 18:10
  • 515

灰度发布

灰度发布
  • whereismatrix
  • whereismatrix
  • 2016年11月20日 09:39
  • 1841

开源系统管理资源大合辑

Automation build.自动化构建 Apache Ant – 用 Java 编写的自动化构建工具,与 make 类似 Apache Maven – 主要为 Java 开发的自动化构建工具 B...
  • tan6600
  • tan6600
  • 2016年07月27日 20:32
  • 4620

几个开源的运维管理系统介绍

国内开源运维管理平台 OWS OWS是Open Web SA的简称,意指开放的web运维管理系统。 OWS是由Open Web SA开发团队,针对目前服务器运维、监控和报警提出的一个开源、易用的...
  • English0523
  • English0523
  • 2015年09月02日 14:36
  • 35629

灰度发布系统的实现

灰度发布,已经不是一个很新的概念了.一个产品,如果需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题那么可以很快的控制影响面,就需要设计一套灰度发布系统. 灰度发布系统的作用在于...
  • weiqubo
  • weiqubo
  • 2016年09月19日 21:38
  • 12983

17. 打包Python程序发布

17. 打包Python程序发布Python程序都是脚本的方式,一般是在解析器里运行,如果要发布出去,需要提前安装解析器才可以运行,为了在Windows里方便发布,只要点击一个EXE文件运行,并且打包...
  • caimouse
  • caimouse
  • 2016年07月25日 10:21
  • 4199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python用于系统运维管理和灰度发布部署
举报原因:
原因补充:

(最多只允许输入30个字)