SlideShare une entreprise Scribd logo
1  sur  31
基于Python构建可扩展的自动化运维平台
主讲:刘天斯 (yorkoliu)
■ 个人介绍
 刘天斯 (yorkoliu)
 个人著作
-《Python自动化运维:技术与最佳实践》
-《Docker 技术与最佳实践》(待出版)
 腾讯高级工程师 负责游戏大数据运维工作
 荣获2010年度十大杰出IT博客
 7个开源项目、4个发明专利
 技术BLOG:http://blog.liuts.com
 Weibo: http://weibo.com/yorkoliu
 微信号:yorkoliu
■ 分享提纲
平台架构说明
平台模块定制
安全审计功能
C/S结构的实现
平台功能介绍
■ 为什么选择Python
 优势
- 默认安装且跨平台
- 可读性好且开发效率高
- 丰富的第三方库(开发框架、各类API、科学计算、GUI等)
Python在腾讯
- 系统运维
- 业务逻辑
- 运营平台
- 测试工具
- 数据挖掘等
■ 平台介绍(书籍案例)
OMServer 一个集中式的Linux集群管理(基础)平台
- 业务集群管理
- 实时安全审计
- 功能模块定制
- 数据加密传输
- 支持主流Python组件
- 使用简单且体验好
- 代码开源 https://github.com/yorkoliu/pyauto
■ 平台UI – 操作模块
模块列表
结果输出
输入参数
■ 平台UI – 安全审计
安全审计实时跟踪
■ 平台第三方库
 Django
- 一个开放源代码的Web应用框架,由Python写成,采用了MVC的软件设计模式
 rpyc
- 一个 Python 实现的RPC和分布式计算的工具。支持同步和异步操作、回调等
 saltstack 、ansible 、func
- 基本Python开发的自动化配置管理与流程控制组件
 Mysql
- 是一个非常流行的关系型数据库管理系统
■ 当前内容
平台架构说明
平台模块定制
安全审计功能
C/S结构的实现
平台功能介绍
■ 平台架构 - 总览
Web交互层 分布式计算层 集群管理服务层
主控端 被控端
■ 平台架构 – 优势
 管理端多机支持
 安全性高,加密传输、定义私有通讯规范(TCP)
 支持多种管理客户端接入(WEB、桌面、移动)
 调用Python组件的高级特性(Playbook、State)
 功能扩展性能力强,模块定制化
■ 平台架构 – 操作流程
Omserver
(Django)
Omserver
(:11511)
RPYC
Python
module
App Server
 设备初始化模块
 部署LNMP模块
 部署Mysql模块
 重启Tomcat模块
 同步配置模块
 … …
■ 平台架构 – 整合Python组件
Saltstack
Ansible
Func
App Server
证书或SSH认证

API
OMserver
(0.0.0.0:11511)
任务下发
■ 当前内容
平台架构说明
平台模块定制
安全审计功能
C/S结构的实现
平台功能介绍
■ 模块定制
 任务模块
- 一个“操作事件”为颗粒的任务,如重载配置、部署缓存服务等
 添加模块
- 定义任务模块“输入参数”,采用HTML Form元素
- 编写后台模块代码
运行模块
- 选择任务模块 & 操作对象 -> 指定输入参数 -> 运行 -> 返回执行结果
■ 模块定制 – 前端配置
输入参数
模块ID,与后台模块代码关联
■ 模块定制 – 后台代码
任务模块
Mid_1001.py
Mid_1002.py
Mid_1003.py
Mid_1004.py
… …
/ansible
Mid_1001.py
Mid_1002.py
Mid_1003.py
Mid_1004.py
… …
/saltstack
Mid_1001.py
Mid_1002.py
Mid_1003.py
Mid_1004.py
… …
/func
主程序加载任务模块
■ 模块定制 – 后台代码
 任务模块核心代码
■ 模块定制 – 后话
 运维的核心工作
- 平台功能改进、升级
- 任务功能模块的编写
- 日常工作梳理(标准、流程化建设)
- 系统、业务的调优
■ 当前内容
平台架构说明
平台模块定制
安全审计功能
C/S结构的实现
平台功能介绍
■ 安全审计架构 - 总览
Web交互层 集群代理层
■ 安全审计 – 主机代理(Agent)
 /etc/profile
192.168.1.21 root 2014-11-02 17:44:13 # ping www.baidu.com
192.168.1.21 root 2014-11-02 17:43:46 # telnet www.baidu.com 80
192.168.1.21 root 2014-11-02 17:42:48 # vi /etc/profile
192.168.1.21 root 2014-11-02 17:42:22 # shutdown -h now
入库Mysql
OMAudit_agent.py
http_client =httplib.HTTPConnection("192.168.1.20", 80, timeout=5)
http_client.request("GET", “/omaudit_pull/?history_command="+History&… …)
■ 安全审计 – 前端输出
 待改进点
- 与告警平台联动,发现异常操作
- Agent上报修改成异步方式
■ 当前内容
平台架构说明
平台模块定制
安全审计功能
C/S结构的实现
平台功能介绍
■ 平台C/S UI
■ OManager架构 - 总览
客户端层 集群管理层
■ OMServer VS OManager
 平台构架 三层 两层
 用户交互 Django Wxpython
 前端模块 HTML XRC (XML Resource)
 平台升级 快速 一般
 安全性 一般 高
 响应速度 一般 快
OMServer (B/S) OManager (C/S)
■ 后续优化
 整合ansible或saltstack高级功能
 将多个任务模块打包成模板对列
 引用任务调度Celery,支持更大并发
 任务对列支持暂停、中止、重运行功能
 提供与CMDB访问对接
Q & A
基于Python构建可扩展的自动化运维平台

Contenu connexe

En vedette

D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomihdksky
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划mysqlops
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲ChinaNetCloud
 
Python 起步走
Python 起步走Python 起步走
Python 起步走Justin Lin
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Weibo Corporation
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Ruoshi Ling
 
我的互联网运维理论与实践
我的互联网运维理论与实践我的互联网运维理论与实践
我的互联网运维理论与实践Leo Zhou
 
阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路mysqlops
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路美团点评技术团队
 
Pptv lb日志实时分析平台
Pptv lb日志实时分析平台Pptv lb日志实时分析平台
Pptv lb日志实时分析平台drewz lin
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释Yanpo Zhang
 
提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?Chen Cheng-Wei
 
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)Amazon Web Services
 
Web development with zend framework
Web development with zend frameworkWeb development with zend framework
Web development with zend frameworkthinkinlamp
 
美妙的多进程管理
美妙的多进程管理美妙的多进程管理
美妙的多进程管理rfyiamcool
 
Image Classification and Retrieval on Spark
Image Classification and Retrieval on SparkImage Classification and Retrieval on Spark
Image Classification and Retrieval on SparkGianvito Siciliano
 
Python programming lab 18
Python programming lab 18Python programming lab 18
Python programming lab 18profbnk
 

En vedette (20)

D baa s_in_xiaomi
D baa s_in_xiaomiD baa s_in_xiaomi
D baa s_in_xiaomi
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划
 
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
 
Python 起步走
Python 起步走Python 起步走
Python 起步走
 
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜Wot2015 微博平台护城河-构建高效的防御体系-王关胜
Wot2015 微博平台护城河-构建高效的防御体系-王关胜
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
我的互联网运维理论与实践
我的互联网运维理论与实践我的互联网运维理论与实践
我的互联网运维理论与实践
 
阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路阿里巴巴运维团队的无状态运维思路
阿里巴巴运维团队的无状态运维思路
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
 
Pptv lb日志实时分析平台
Pptv lb日志实时分析平台Pptv lb日志实时分析平台
Pptv lb日志实时分析平台
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释
 
提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?提到 DevOps 到底在談些什麼玩意兒?
提到 DevOps 到底在談些什麼玩意兒?
 
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)
大數據運算媒體業案例分享 (Big Data Compute Case Sharing for Media Industry)
 
Web development with zend framework
Web development with zend frameworkWeb development with zend framework
Web development with zend framework
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
 
美妙的多进程管理
美妙的多进程管理美妙的多进程管理
美妙的多进程管理
 
Image Classification and Retrieval on Spark
Image Classification and Retrieval on SparkImage Classification and Retrieval on Spark
Image Classification and Retrieval on Spark
 
MySQL+Docker
MySQL+DockerMySQL+Docker
MySQL+Docker
 
Python programming lab 18
Python programming lab 18Python programming lab 18
Python programming lab 18
 

Similaire à 基于Python构建可扩展的自动化运维平台

用简单语言构建复杂系统
用简单语言构建复杂系统用简单语言构建复杂系统
用简单语言构建复杂系统Leo Zhou
 
Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化51CTO
 
构建网络工具箱
构建网络工具箱构建网络工具箱
构建网络工具箱Lv Jian
 
Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Sting Chen
 
FeatHub_GAIDC_2022.pptx
FeatHub_GAIDC_2022.pptxFeatHub_GAIDC_2022.pptx
FeatHub_GAIDC_2022.pptxDong Lin
 
Learn Django With ChatGPT
Learn Django With ChatGPTLearn Django With ChatGPT
Learn Django With ChatGPTKo Ko
 
Python introduction and data visualization publish
Python introduction and data visualization publishPython introduction and data visualization publish
Python introduction and data visualization publishcoolzzzx
 
1 Python简介
1 Python简介1 Python简介
1 Python简介March Liu
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Poy Chang
 
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心Du Yamin
 
Ryu Learning Guide
Ryu Learning GuideRyu Learning Guide
Ryu Learning Guide呈 李
 
Python在移动社交平台中的应用
Python在移动社交平台中的应用Python在移动社交平台中的应用
Python在移动社交平台中的应用Leo Zhou
 
網頁爬蟲入門 Python web crawler at 淡江大學 20170930
網頁爬蟲入門 Python web crawler at 淡江大學 20170930網頁爬蟲入門 Python web crawler at 淡江大學 20170930
網頁爬蟲入門 Python web crawler at 淡江大學 20170930Tim Hong
 
Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Philip Zheng
 
Linux运维趋势 第16期 cdn缓存系统
Linux运维趋势 第16期 cdn缓存系统Linux运维趋势 第16期 cdn缓存系统
Linux运维趋势 第16期 cdn缓存系统51CTO
 
20170430 python爬蟲攻防戰-攻防與金融大數據分析班
20170430 python爬蟲攻防戰-攻防與金融大數據分析班20170430 python爬蟲攻防戰-攻防與金融大數據分析班
20170430 python爬蟲攻防戰-攻防與金融大數據分析班Paul Chao
 
2010研發成果平台介紹 for 業界-工研院陳秋齡組長
2010研發成果平台介紹 for 業界-工研院陳秋齡組長2010研發成果平台介紹 for 業界-工研院陳秋齡組長
2010研發成果平台介紹 for 業界-工研院陳秋齡組長CHENHuiMei
 
聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevicesDuran Hsieh
 
20171013 物聯網網哪走?IoT總體趨勢面面觀
20171013 物聯網網哪走?IoT總體趨勢面面觀20171013 物聯網網哪走?IoT總體趨勢面面觀
20171013 物聯網網哪走?IoT總體趨勢面面觀m12016changTIIMP
 

Similaire à 基于Python构建可扩展的自动化运维平台 (20)

用简单语言构建复杂系统
用简单语言构建复杂系统用简单语言构建复杂系统
用简单语言构建复杂系统
 
Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化Linux运维趋势 第0期 运维自动化
Linux运维趋势 第0期 运维自动化
 
构建网络工具箱
构建网络工具箱构建网络工具箱
构建网络工具箱
 
Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)Mochimedia's Success Story - Case Study I (Python-based Company)
Mochimedia's Success Story - Case Study I (Python-based Company)
 
FeatHub_GAIDC_2022.pptx
FeatHub_GAIDC_2022.pptxFeatHub_GAIDC_2022.pptx
FeatHub_GAIDC_2022.pptx
 
Learn Django With ChatGPT
Learn Django With ChatGPTLearn Django With ChatGPT
Learn Django With ChatGPT
 
Python introduction and data visualization publish
Python introduction and data visualization publishPython introduction and data visualization publish
Python introduction and data visualization publish
 
1 Python简介
1 Python简介1 Python简介
1 Python简介
 
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目
 
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
 
Ryu Learning Guide
Ryu Learning GuideRyu Learning Guide
Ryu Learning Guide
 
Python在移动社交平台中的应用
Python在移动社交平台中的应用Python在移动社交平台中的应用
Python在移动社交平台中的应用
 
網頁爬蟲入門 Python web crawler at 淡江大學 20170930
網頁爬蟲入門 Python web crawler at 淡江大學 20170930網頁爬蟲入門 Python web crawler at 淡江大學 20170930
網頁爬蟲入門 Python web crawler at 淡江大學 20170930
 
Ox office現在。即未來(201509)
Ox office現在。即未來(201509)Ox office現在。即未來(201509)
Ox office現在。即未來(201509)
 
Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐Trading bot演算法與軟工在程式交易上的實踐
Trading bot演算法與軟工在程式交易上的實踐
 
Linux运维趋势 第16期 cdn缓存系统
Linux运维趋势 第16期 cdn缓存系统Linux运维趋势 第16期 cdn缓存系统
Linux运维趋势 第16期 cdn缓存系统
 
20170430 python爬蟲攻防戰-攻防與金融大數據分析班
20170430 python爬蟲攻防戰-攻防與金融大數據分析班20170430 python爬蟲攻防戰-攻防與金融大數據分析班
20170430 python爬蟲攻防戰-攻防與金融大數據分析班
 
2010研發成果平台介紹 for 業界-工研院陳秋齡組長
2010研發成果平台介紹 for 業界-工研院陳秋齡組長2010研發成果平台介紹 for 業界-工研院陳秋齡組長
2010研發成果平台介紹 for 業界-工研院陳秋齡組長
 
聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices
 
20171013 物聯網網哪走?IoT總體趨勢面面觀
20171013 物聯網網哪走?IoT總體趨勢面面觀20171013 物聯網網哪走?IoT總體趨勢面面觀
20171013 物聯網網哪走?IoT總體趨勢面面觀
 

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