運(yùn)維相關(guān)思想及概念
一派撕、運(yùn)維概念(一)
運(yùn)維是一個(gè)非常廣泛的定義,在不同的公司不同的階段有著不同的職責(zé)與定位,如果以operation字面的含義去理解奶赔,認(rèn)為就是敲幾行操作命令的工作,那肯定是不對的杠氢。 對于初創(chuàng)公司站刑,運(yùn)維工程師的工作可能需要從申請域名開始,購買/租用服務(wù)器,上架鼻百,調(diào)整網(wǎng)絡(luò)設(shè)備的設(shè)置绞旅,部署操作系統(tǒng)和運(yùn)行環(huán)境,部署代碼温艇,設(shè)計(jì)和部署監(jiān)控因悲,防止漏洞和攻擊等等。
對于大型的公司勺爱,對于運(yùn)維工作的要求越來越高晃琳,也催生了更細(xì)化的運(yùn)維分工:從大的方向,可以分為網(wǎng)站運(yùn)維琐鲁,系統(tǒng)運(yùn)維卫旱,網(wǎng)絡(luò)運(yùn)維,數(shù)據(jù)庫運(yùn)維围段,IT運(yùn)維誊涯,運(yùn)維開發(fā),運(yùn)維安全等方向蒜撮。
運(yùn)維概念(二)
運(yùn)維自動化的步驟的三個(gè)層級
Bootstraping暴构,系統(tǒng)安裝:裝機(jī)層級,可以在裸機(jī)上(cobbler),或者在虛擬化上安裝段磨,工具如下
裸機(jī):pxe, cobbler
虛擬機(jī)e:image file template(通過創(chuàng)建合適的示例作為模板)
Configuration取逾,配置:配置層級,配置資源和服務(wù)苹支,如安裝包砾隅,啟動服務(wù),工具如下
ansible(agentless)
puppet(master/agent)(ruby)
saltstack(python)
Command and Control:部署或者執(zhí)行任務(wù)债蜜,指揮機(jī)器做相關(guān)操作晴埂,工具如下
ansible(playbook)
fabric(fab)
func
運(yùn)維工具根據(jù)有無agent的分類:
agent:puppet, func, ...
agentless(ssh,):ansible, fabric
程序發(fā)布的不同階段如下:
人工智能(手動發(fā)布)-->腳本-->發(fā)布程序(運(yùn)維工具)
程序發(fā)布一般的要求如下:
1究反、不能影響用戶體驗(yàn);
2儒洛、系統(tǒng)不能停機(jī)精耐;
3、不能導(dǎo)致系統(tǒng)故障或造成系統(tǒng)完全不可用琅锻;
二卦停、運(yùn)維基本思想
1. 保證系統(tǒng)的SLA:
保障系統(tǒng)99.99999% 的可用時(shí)間
2. 系統(tǒng)容災(zāi)
機(jī)房容災(zāi)
程序容錯(cuò)
xxx
3. 運(yùn)維效率
PE 腳本自動化
運(yùn)維白屏化
推動系統(tǒng)架構(gòu)設(shè)計(jì)和系統(tǒng)自動容錯(cuò)
4. 資源成本控制
一年一度的預(yù)算,需要做好
機(jī)器資源水位 35%
架構(gòu)設(shè)計(jì)上評估資源是否合理恼蓬;
通過架構(gòu)優(yōu)化來節(jié)省機(jī)器資源
全鏈路的機(jī)器把控
5. 監(jiān)控優(yōu)化(快速發(fā)現(xiàn))
監(jiān)控覆蓋面要全
監(jiān)控添加效率要高
監(jiān)控誤報(bào)要少惊完,避免狼來了
6. 快速恢復(fù)
梳理現(xiàn)在系統(tǒng)的問題、風(fēng)險(xiǎn)點(diǎn)
針對可能出現(xiàn)的問題和風(fēng)險(xiǎn)點(diǎn)处硬,制定對應(yīng)的應(yīng)對措施小槐;重要的措施要預(yù)先進(jìn)行演練
問題的沉淀、解決方案的成熟
7. 全鏈路的容災(zāi)荷辕、水位摸底本股、壓測
8. 流量入口來源的把控(統(tǒng)一接入平臺)
作為一個(gè)平臺,把控流量入口桐腌,最好只有一個(gè)或者<3個(gè)入口;這樣才好統(tǒng)一把控
流量來源的埋點(diǎn)和報(bào)表
避免出現(xiàn)因?yàn)闃I(yè)務(wù)進(jìn)行系統(tǒng)拆分苟径,如果拆分交把分拆后的成本交給最大受益方
9. 要走進(jìn)業(yè)務(wù)案站、了解業(yè)務(wù)、支持業(yè)務(wù)
業(yè)務(wù)是根本棘街,所有的技術(shù)蟆盐、工作都是為業(yè)務(wù)服務(wù)的;所以要了解業(yè)務(wù)遭殉,怎么深入都不過分