為什么IT運維需要自動化?
所謂IT運維管理的自動化是指通過將日常IT運維中大量的重復(fù)性工作,小到簡單的日常檢查、配置變更和軟件安裝,大到整個變更流程的組織調(diào)度,由過去的手工執(zhí)行轉(zhuǎn)為自動化操作,從而減少乃至消除運維中的延遲,實現(xiàn)“零延時”的IT運維。簡單的說,IT運維自動化是指基于流程化的框架,將事件與IT流程相關(guān)聯(lián),一旦被監(jiān)控系統(tǒng)發(fā)生性能超標或宕機,會觸發(fā)相關(guān)事件以及事先定義好的流程,可自動啟動故障響應(yīng)和恢復(fù)機制。自動化工作平臺還可幫助IT運維人員完成日常的重復(fù)性工作(如備份,殺毒等),提高IT運維效率。同時,IT運維的自動化還要求能夠預(yù)測故障、在故障發(fā)生前能夠報警,讓IT運維人員把故障消除在發(fā)生前,將所產(chǎn)生損失減到最低。
運維應(yīng)包括如下:
- 環(huán)境定義:開發(fā)環(huán)境、測試環(huán)境、類生產(chǎn)環(huán)境、生產(chǎn)環(huán)境等。
- 部署:能夠?qū)⒉渴鸢行У牟渴鸬讲煌沫h(huán)境。
- 監(jiān)控:能夠監(jiān)控部署后的系統(tǒng)和應(yīng)用。
- 告警:出現(xiàn)問題時的響應(yīng)和處理機制。
- 性能優(yōu)化:系統(tǒng)各個服務(wù)如Nginx/Java/PHP/DB/網(wǎng)絡(luò)的優(yōu)化。
- SLA保障:通常要和業(yè)務(wù)相關(guān)部門討論確定。
服務(wù)治理、任務(wù)調(diào)度、集群協(xié)同、調(diào)用鏈分析、接口質(zhì)量、SQL質(zhì)量、實時日志等
打包、自動化測試、檢測、灰度發(fā)布、分區(qū)上線、運維自動化、配置標準化、指令標準化等
分布式框架、存儲&緩存中間件、自動化測試、云搜索、開放平臺、營銷平臺等基礎(chǔ)設(shè)施
自建技術(shù)基礎(chǔ)設(shè)施(開源+自研)
?自動化發(fā)布系統(tǒng)——灰度發(fā)布、分區(qū)發(fā)布
?運維配置自動化系統(tǒng)——運維系統(tǒng)自動發(fā)現(xiàn)、標準化配置
?原子指令系統(tǒng)——支持數(shù)百臺服務(wù)器、數(shù)百個原子腳本操作
?搜索平臺——支持數(shù)百個索引、上億條數(shù)據(jù)
?推薦計算平臺——支持數(shù)億用戶數(shù)據(jù)計算
?API自動化測試系統(tǒng)、Mock模擬測試系統(tǒng)——支持接口的自動化測試、模擬測試、Web自動化測試
?API放水系統(tǒng)、SQL防水系統(tǒng)——治理系統(tǒng)不合理調(diào)用
?實時日志系統(tǒng)——支持Nginx、Tomcat、BI實時日志和離線跟蹤
?分布式開發(fā)框架——統(tǒng)一分布式通信
?配置分發(fā)系統(tǒng)——支持配置項、集群服務(wù)發(fā)現(xiàn)
?MQ分布式消息中間件(推模式IDP、拉模式Kafka)——1500w/周一~周五,600w/周六日
?KV分布式緩存系統(tǒng)中間件(Memcached、Redis、Tair)——億級數(shù)據(jù)緩存、95%命中率
?LPFS分布式文件中間件(MongoDB)——MongoDB、圖片、文件
?DB數(shù)據(jù)庫分庫分表中間件(MySQL)——無限數(shù)據(jù)量擴展
?分布式任務(wù)調(diào)度中間件(Schedule)——支持100+服務(wù)、200+/日個分布式任務(wù)調(diào)度
?Push統(tǒng)一消息推送平臺——每日100w+推送量,推送至Android、iOS、Email、SMS、微信、Comet
依賴開源的技術(shù)棧
?語言:Java(Tomcat/Spring) Shell(運維) Nodejs(前端) Android iOS
?分布式:ActiveMQ Kafka Zookeeper Router服務(wù)發(fā)現(xiàn) Cat
?存儲:Mysql Mongodb Tair Memcached Redis
?計算:Solr ElasticSearch Hadoop HBase Storm Spark
?運維:Linux Nginx Puppet Zabbix OpenStack
?項目管理:Eclipse Git Maven構(gòu)建 Hudson持續(xù)集成 Confluence知識分享 DMS項目管理
開發(fā)階段Code/build
?開發(fā)框架
?|-web開發(fā)框架Swift
?|-nodejs前端開發(fā)框架
?|-ios移動開發(fā)框架
?|-android開發(fā)框架
?|-shell腳本自動化
?分布式中間件
?|-分布式調(diào)用RPC
?|-實時推送comet
?|-推消息隊列IDP
?|-拉消息隊列Kafka
?|-配置系統(tǒng)Zookeeper
?|-調(diào)度系統(tǒng)Scheduler
?存儲中間件
?|-關(guān)系存儲mysql
?|-文件存儲mongodb
?|-KV存儲tair
?|-二級緩存redis
?|-一級緩存memcached
?計算平臺
?|-云搜索
?|-推薦
?|-大數(shù)據(jù)計算
?|-網(wǎng)頁解析
?|-文本解析
?|-Word預(yù)覽
測試階段Test/ci
?|-API自動化測試
?|-API模擬測試Mock
?|-Web自動化測試Selenium
?|-微信測試WXTest
?|-Open測試KATest
?|-測試環(huán)境發(fā)布
上線階段Release/deploy
?|-發(fā)布系統(tǒng)
?|-運維系統(tǒng)
?|-代碼檢測Builder運維階段
運維系統(tǒng)Monitor
?|-自動化系統(tǒng)
?|-監(jiān)控系統(tǒng)Zabbix
?|-雷達日志系統(tǒng)
?|-Puppet/Mco
服務(wù)治理Service
?|-API放水系統(tǒng)APIWater
?|-SQL放水系統(tǒng)MonyogSQL
?|-Router服務(wù)中心
?|-配置分發(fā)系統(tǒng)
?|-調(diào)度系統(tǒng)Scheduler
?|-調(diào)用鏈系統(tǒng)Cat運營階段
?開放平臺
?|-微信平臺Weixin
?|-微博平臺Weibo
?|-電話平臺Jiya
?|-支付平臺Pay
?|-開放平臺API
?|-SEO平臺Resource
?運營平臺Channel
?|-推送平臺Push
?|-短信平臺Push
?|-郵件平臺Mail
?|-微信平臺Open
?|-私信平臺MessageCode
1、分布式服務(wù)架構(gòu)
服務(wù)發(fā)現(xiàn)、通信、控制
分布式注冊中心Router:
?同步調(diào)用RPC
?服務(wù)協(xié)議:HTTP協(xié)議/心跳檢測
?服務(wù)發(fā)現(xiàn):集群信息統(tǒng)一文件Router.conf
?負載均衡
?異步調(diào)用MQ
?推模式:開發(fā)快、穩(wěn)定、實時快
?拉模式:可回溯、日志收集、數(shù)據(jù)同步
?分布式任務(wù)調(diào)度
?Schedule調(diào)度系統(tǒng)
?分布式事務(wù)控制
?Swift開發(fā)框架:交易型事務(wù)的一致性
2、運維研發(fā)的自動化體系
運維配置標準化3大層次
?2.1、硬件標準化:
?-機器標準化:機房、機架位、交換機、機器
?-資源標準化:IP、DNS
?-配置標準化:機器配置自動化采集、標準化檢測,KVM化
?2.2、軟件標準化:
?-軟件安裝標準化:tomcat jdkmemcachedredis...
?-Nginx標準化:域名、配置、發(fā)布
?2.3、項目標準化:
?-項目配置標準化:S區(qū)、A區(qū)、B區(qū)、C區(qū)
?-支持多種項目:tomcat、java、nodejs、Python、ios\Android
2.1、硬件標準化—自動化采集
2.2、軟件標準化—統(tǒng)一軟件規(guī)格
2.2、軟件標準化—自動化安裝卸載
2.2、軟件標準化—服務(wù)自動管理
2.2、Nginx標準化—自動配置300域名
3、項目發(fā)布自動化體系
?3.1、代碼發(fā)布系統(tǒng)
?-灰度發(fā)布
?-分區(qū)發(fā)布:泳道發(fā)布
?3.2、配置發(fā)布系統(tǒng)
?-發(fā)布配置信息
?-集群協(xié)作:Solr、Kafka
?3.3、原子指令
?-系統(tǒng)級操作
?-系統(tǒng)操作日志
4、服務(wù)治理體系
?服務(wù)健康狀態(tài)檢測
?分布式任務(wù)調(diào)度(Schedule)
?調(diào)用鏈分析(Cat)
?實時日志監(jiān)測(雷達系統(tǒng))
?API質(zhì)量治理(APIWater)
?SQL質(zhì)量治理(Monyog)
4.1、服務(wù)健康狀態(tài)檢測
4.2、分布式任務(wù)調(diào)度Schedule
分布式調(diào)度中心:
?基于Mina分布式協(xié)調(diào)
?選擇服務(wù)的單點調(diào)度
?多點服務(wù)failover
?長時間任務(wù)斷點續(xù)傳
?任務(wù)依賴調(diào)度
4.3、調(diào)用鏈分析Cat
4.4、實時日志監(jiān)測(雷達系統(tǒng))
?實時日志查看
?歷史日志分析
?用戶或IP追蹤
?日志統(tǒng)計
4.4、實時日志監(jiān)測
4.6、SQL質(zhì)量治理(Monyog)
?MySQL性能監(jiān)控工具MONyog,分析慢SQL
?程序打印慢SQL日志
?優(yōu)化索引、表結(jié)構(gòu)
5、測試環(huán)境的自動化構(gòu)建
6、自動化測試
自動化測試—API自動化測試
自動化測試—Web自動化測試
?Selenium—Web頁面的自動化測試
自動化測試—Mock模擬測試
以上內(nèi)容部分來自網(wǎng)絡(luò), 希望對您系統(tǒng)架構(gòu)設(shè)計,軟件研發(fā)有幫助。 其它您可能感興趣的文章:
互聯(lián)網(wǎng)數(shù)據(jù)庫架構(gòu)設(shè)計思路
某大型電商云平臺實踐
企業(yè)級應(yīng)用架構(gòu)模式N-Tier多層架構(gòu)
某企業(yè)社交應(yīng)用網(wǎng)絡(luò)拓撲架構(gòu)圖
IT基礎(chǔ)架構(gòu)規(guī)劃方案一(網(wǎng)絡(luò)系統(tǒng)規(guī)劃)
餐飲連鎖公司IT信息化解決方案一
如有想了解更多軟件研發(fā) , 系統(tǒng) IT集成 , 企業(yè)信息化,項目管理 等資訊,請關(guān)注我的微信訂閱號:
作者:Petter Liu
出處:http://www.rzrgm.cn/wintersun/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權(quán)利。
該文章也同時發(fā)布在我的獨立博客中-Petter Liu Blog。















![MegadotnetMicroMsg_thumb1_thumb1_thu[1] MegadotnetMicroMsg_thumb1_thumb1_thu[1]](http://images0.cnblogs.com/blog/15172/201412/061436392178007.jpg)
浙公網(wǎng)安備 33010602011771號