IT運維工作到底是做什么的?

數(shù)據(jù)中心運維管理
數(shù)據(jù)中心運維管理
運維人員對公司互聯(lián)網(wǎng)業(yè)務(wù)所依賴的基礎(chǔ)設(shè)施、基礎(chǔ)服務(wù)、線上業(yè)務(wù)進行穩(wěn)定性加強,進行日常巡檢發(fā)現(xiàn)服務(wù)可能存在的隱患,對整體架構(gòu)進行優(yōu)化以屏蔽常見的運行故障,多數(shù)據(jù)中接入提高業(yè)務(wù)的容災(zāi)能力。

互聯(lián)網(wǎng)運維工作,以服務(wù)為中心,以穩(wěn)定、安全、高效為三個基本點,確保公司的互聯(lián)網(wǎng)業(yè)務(wù)能夠 7×24 小時為用戶提供高質(zhì)量的服務(wù)。

運維人員對公司互聯(lián)網(wǎng)業(yè)務(wù)所依賴的基礎(chǔ)設(shè)施、基礎(chǔ)服務(wù)、線上業(yè)務(wù)進行穩(wěn)定性加強,進行日常巡檢發(fā)現(xiàn)服務(wù)可能存在的隱患,對整體架構(gòu)進行優(yōu)化以屏蔽常見的運行故障,多數(shù)據(jù)中接入提高業(yè)務(wù)的容災(zāi)能力。

通過監(jiān)控、日志分析等技術(shù)手段,及時發(fā)現(xiàn)和響應(yīng)服務(wù)故障,減少服務(wù)中斷的時間,使公司的互聯(lián)網(wǎng)業(yè)務(wù)符合預(yù)期的可用性要求,持續(xù)穩(wěn)定地為用戶提供務(wù)。

在安全方面,運維人員需要關(guān)注業(yè)務(wù)運行所涉及的各個層面,確保用戶能夠安全、完整地訪問在線業(yè)務(wù)。

從網(wǎng)絡(luò)邊界劃分、ACL 管理、流量分析、DDoS 防御,到操作系統(tǒng)、開源軟件的漏洞掃描和修補,再到應(yīng)用服務(wù)的XSS、SQL注入防護;

從安全流程梳、代碼白盒黑盒掃描、權(quán)限審計,到入侵行為檢測、業(yè)務(wù)風(fēng)險控制等。

運維人員需要保障公司提供的互聯(lián)網(wǎng)業(yè) 運行在安全、可控的狀態(tài)下,確保公司業(yè)務(wù)數(shù)據(jù)和用戶隱私數(shù)據(jù)的安全,同時還需要具備抵御各種惡意攻擊的能力。

在確保業(yè)務(wù)穩(wěn)定、安全的前提下,還需保障業(yè)務(wù)高效的運轉(zhuǎn),公司內(nèi)快速的產(chǎn)出。運維工作需要對業(yè)務(wù)進行各方面優(yōu)化。

比如,IO 優(yōu)化提升數(shù)據(jù)庫性能,圖片壓縮降低帶寬使用量等,提供的互聯(lián)網(wǎng)業(yè)務(wù)以較小的資源投入帶來最大的用戶價值和體驗。

同時,還需要通過各種工具平臺提升內(nèi)部產(chǎn)品發(fā)布交付的效率,提升公司內(nèi)運維相關(guān)的工作效率。

工作分類運維

運維的工作方向比較多,隨著業(yè)務(wù)規(guī)模的不斷發(fā)展,越成熟的互聯(lián)網(wǎng)公司,運維崗位會劃分得越細。

當前很多大型的互聯(lián)網(wǎng)公司,在初創(chuàng)時期只有系統(tǒng)運維,隨著服務(wù)規(guī)模、服務(wù)質(zhì)量的要求,也逐漸進行了工作細分。

一般情況下運維團隊的工作分類和職責(zé)如下。

系統(tǒng)運維

系統(tǒng)運維負責(zé)IDC、網(wǎng)絡(luò)、CDN和基礎(chǔ)服務(wù)的建設(shè)(LVS、NTP、DNS);負責(zé)資產(chǎn)管理,服務(wù)器選型、交付和維修。詳細的工作職責(zé)如下。

1.IDC數(shù)據(jù)中心建設(shè)

收集業(yè)務(wù)需求,預(yù)估未來數(shù)據(jù)中心的發(fā)展規(guī)模,從骨干網(wǎng)的分布,數(shù)據(jù)中心建筑,以及Internet接入、網(wǎng)絡(luò)攻擊防御能力、擴容能力、空間預(yù)留、外接專線能力、現(xiàn)場服務(wù)支撐能力等方面評估選型數(shù)據(jù)中心。負責(zé)數(shù)據(jù)中心的建設(shè)、現(xiàn)場維護工作。

2.網(wǎng)絡(luò)建設(shè)

設(shè)計及規(guī)劃生產(chǎn)網(wǎng)絡(luò)架構(gòu),這里面包括:數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)、傳輸網(wǎng)架構(gòu)、CDN網(wǎng)絡(luò)架構(gòu)等,以及網(wǎng)絡(luò)調(diào)優(yōu)等日常運維工作。

3.LVS 負載均衡和 SNAT 建設(shè)

LVS 是整個站點架構(gòu)中的流量入口,根據(jù)網(wǎng)絡(luò)規(guī)模和業(yè)務(wù)需求,構(gòu)建負載均衡集群。完成網(wǎng)絡(luò)與業(yè)務(wù)服務(wù)器的銜接,提供高性能、高可用的負載調(diào)度能力,以及統(tǒng)一的網(wǎng)絡(luò)層防攻擊能力。SNAT .集中提供數(shù)據(jù)中心的公網(wǎng)訪問服務(wù),通過集群化部署,保證出網(wǎng)服務(wù)的高性能與高可用。

4.CDN 規(guī)劃和建設(shè)

CDN 工作劃分為第三方和自建兩部分。建立第三方 CDN 的選型和調(diào)度控制;根據(jù)業(yè)務(wù)發(fā)展趨勢,規(guī)劃CDN新節(jié)點建設(shè)布局;完善CDN業(yè)務(wù)及監(jiān)控,保障CDN 系統(tǒng)穩(wěn)定、高效運行。分析業(yè)務(wù)加速頻道的文件特性和數(shù)量,制定最優(yōu)的加速策略和資源匹配;負責(zé)用戶劫持等CDN日常故障排查工作。

5.服務(wù)器選型、交付和維護

負責(zé)服務(wù)器的測試選型,包含服務(wù)器整機、部件的基礎(chǔ)性測試和業(yè)務(wù)測試,降低整機功率,提升機架部署密度等。

結(jié)合對公司業(yè)務(wù)的了解,推廣新硬件、新方案減少業(yè)務(wù)的服務(wù)器投入規(guī)模。負責(zé)服務(wù)器硬件故障的診斷定位,服務(wù)器硬件監(jiān)控、健康檢查工具的開發(fā)和維護。

6.OS、內(nèi)核選型和 OS 相關(guān)維護工作

負責(zé)整體平臺的 OS 選型、定制和內(nèi)核優(yōu)化,以及 Patch 的更新和內(nèi)部版本發(fā)布;建立基礎(chǔ)的YUM包管理和分發(fā)中心,提供常用包版本庫;跟進日常各類 OS 相關(guān)故障;針對不同的業(yè)務(wù)類型,提供定向的優(yōu)化支持。

7.資產(chǎn)管理

記錄和管理運維相關(guān)的基礎(chǔ)物理信息,包括數(shù)據(jù)中心、網(wǎng)絡(luò)、機柜、服務(wù)器、ACL、IP等各種資源信息,制定有效的流程,確保信息的準確性;開放API接口,為自動化運維提供數(shù)據(jù)支持。

8.基礎(chǔ)服務(wù)建設(shè)

業(yè)務(wù)對 DNS、NTP、SYSLOG 等基礎(chǔ)服務(wù)的依賴非常高,需要設(shè)計高可用架構(gòu)避免單點,提供穩(wěn)定的基礎(chǔ)服務(wù)。

應(yīng)用運維

應(yīng)用運維負責(zé)線上服務(wù)的變更、服務(wù)狀態(tài)監(jiān)控、服務(wù)容災(zāi)和數(shù)據(jù)備份等工作,對服務(wù)進行例行排查、故障應(yīng)急處理等工作。詳細的工作職責(zé)如下所述。

1.設(shè)計評審

在產(chǎn)品研發(fā)階段,參與產(chǎn)品設(shè)計評審,從運維的角度提出評審意見,使服務(wù)滿足運維準入的高可用要求。

2.服務(wù)管理

負責(zé)制定線上業(yè)務(wù)升級變更及回滾方案,并進行變更實施。掌握所負責(zé)的服務(wù)及服務(wù)間關(guān)聯(lián)關(guān)系、服務(wù)依賴的各種資源。能夠發(fā)現(xiàn)服務(wù)上的缺陷,及時通報并推進解決。制定服務(wù)穩(wěn)定性指標及準入標準,同時不斷完善和優(yōu)化程序和系統(tǒng)的功能、效率,提高運行質(zhì)量。完善監(jiān)控內(nèi)容,提高報警準確度。在線上服務(wù)出現(xiàn)故障時,第一時間響應(yīng),對已知線上故障能按流程進行通報并按預(yù)案執(zhí)行,未知故障組織相關(guān)人員聯(lián)合排障。

3.資源管理

對各服務(wù)的服務(wù)器資產(chǎn)進行管理,梳理服務(wù)器資源狀況、數(shù)據(jù)中心分布情況、網(wǎng)絡(luò)專線及帶寬情況,能夠合理使用服務(wù)器資源,根據(jù)不同服務(wù)的需求,分配不同配置的服務(wù)器,確保服務(wù)器資源的充分利用。

4.例行檢查

制定服務(wù)例行排查點,并不斷完善。根據(jù)制定的服務(wù)排查點,對服務(wù)進行定期檢查。對排查過程中發(fā)現(xiàn)的問題,及時進行追查,排除可能存在的隱患。

5.預(yù)案管理

確定服務(wù)所需的各項監(jiān)控、系統(tǒng)指標的閾值或臨界點,以及出現(xiàn)該情況后的處理預(yù)案。建立和更新服務(wù)預(yù)案文檔,并根據(jù)日常故障情況不斷補充完善,提高預(yù)案完備性。能夠制定和評審各類預(yù)案,周期性進行預(yù)案演練,確保預(yù)案的可執(zhí)行性。

6.數(shù)據(jù)備份

制定數(shù)據(jù)備份策略,按規(guī)范進行數(shù)據(jù)備份工作。保證數(shù)據(jù)備份的可用性和完整性,定期開展數(shù)據(jù)恢復(fù)性測試。

數(shù)據(jù)庫運維

數(shù)據(jù)庫運維負責(zé)數(shù)據(jù)存儲方案設(shè)計、數(shù)據(jù)庫表設(shè)計、索引設(shè)計和SQL優(yōu)化,對數(shù)據(jù)庫進行變更、監(jiān)控、備份、高可用設(shè)計等工作。詳細的工作職責(zé)如下所述。

1.設(shè)計評審

在產(chǎn)品研發(fā)初始階段,參與設(shè)計方案評審,從DBA的角度提出數(shù)據(jù)存儲方案、庫表設(shè)計方案、SQL開發(fā)標準、索引設(shè)計方案等,使服務(wù)滿足數(shù)據(jù)庫使用的高可用、高性能要求。

2.容量規(guī)劃

掌握所負責(zé)服務(wù)的數(shù)據(jù)庫的容量上限,清楚地了解當前瓶頸點,當服務(wù)還未到達容量上限時,及時進行優(yōu)化、分拆或者擴容。

3.數(shù)據(jù)備份與災(zāi)備

制定數(shù)據(jù)備份與災(zāi)備策略,定期完成數(shù)據(jù)恢復(fù)性測試,保證數(shù)據(jù)備份的可用性和完整性。

4.數(shù)據(jù)庫監(jiān)控

完善數(shù)據(jù)庫存活和性能監(jiān)控,及時了解數(shù)據(jù)庫運行狀態(tài)及故障。數(shù)據(jù)庫安全建設(shè)數(shù)據(jù)庫賬號體系,嚴格控制賬號權(quán)限與開放范圍,降低誤操作和數(shù)據(jù)泄露的風(fēng)險;加強離線備份數(shù)據(jù)的管理,降低數(shù)據(jù)泄露的風(fēng)險。

5.數(shù)據(jù)庫高可用和性能優(yōu)化

對數(shù)據(jù)庫單點風(fēng)險和故障設(shè)計相應(yīng)的切換方案,降低故障對數(shù)據(jù)庫服務(wù)的影響;不斷對數(shù)據(jù)庫整體性能進行優(yōu)化,包括新存儲方案引進、硬件優(yōu)化、文件系統(tǒng)優(yōu)化、數(shù)據(jù)庫優(yōu)化、SQL優(yōu)化等,在保障成本不增加或者少量增加的情況下,數(shù)據(jù)庫可以支撐更多的業(yè)務(wù)請求。

6.自動化系統(tǒng)建設(shè)

設(shè)計開發(fā)數(shù)據(jù)庫自動化運維系統(tǒng),包括數(shù)據(jù)庫部署、自動擴容、分庫分表、權(quán)限管理、備份恢復(fù)、SQL審核和上線、故障切換等功能。

7.運維研發(fā)

運維研發(fā)負責(zé)通用的運維平臺設(shè)計和研發(fā)工作,如:資產(chǎn)管理、監(jiān)控系統(tǒng)、運維平臺、數(shù)據(jù)權(quán)限管理系統(tǒng)等。提供各種API供運維或研發(fā)人員使用,封裝更高層的自動化運維系統(tǒng)。詳細的工作職責(zé)如下所述。

8.運維平臺

記錄和管理服務(wù)及其關(guān)聯(lián)關(guān)系,協(xié)助運維人員自動化、流程化地完成日常運維操作,包括機器管理、重啟、改名、初始化、域名管理、流量切換和故障預(yù)案實施等。

9.監(jiān)控系統(tǒng)

負責(zé)監(jiān)控系統(tǒng)的設(shè)計、開發(fā)工作,完成公司服務(wù)器和各種網(wǎng)絡(luò)設(shè)備的資源指標、線上業(yè)務(wù)運行指標的收集、告警、存儲、分析、展示和數(shù)據(jù)挖掘等工作,持續(xù)提高告警的及時性、準確性和智能性,促進公司服務(wù)器資源的合理化調(diào)配。

10.自動化部署系統(tǒng)

參與部署自動化系統(tǒng)的開發(fā),負責(zé)自動化部署系統(tǒng)所需要的基礎(chǔ)數(shù)據(jù)和信息,負責(zé)權(quán)限管理、API開發(fā)、Web端開發(fā)。結(jié)合云計算,研發(fā)和提供PaaS相關(guān)高可用平臺,進一步提高服務(wù)的部署速度和用戶體驗,提升資源利用率。

運維安全

運維安全負責(zé)網(wǎng)絡(luò)、系統(tǒng)和業(yè)務(wù)等方面的安全加固工作,進行常規(guī)的安全掃描、滲透測試,進行安全工具和系統(tǒng)研發(fā)以及安全事件應(yīng)急處理。詳細的工作職責(zé)如下所述。

1.安全制度建立

根據(jù)公司內(nèi)部的具體流程,制定切實可行,且行之有效的安全制度。

2.安全培訓(xùn)

定期向員工提供具有針對性的安全培訓(xùn)和考核,在全公司內(nèi)建立安全負責(zé)人制度。

3.風(fēng)險評估

通過黑白盒測試和檢查機制,定期產(chǎn)生對物理網(wǎng)絡(luò)、服務(wù)器、業(yè)務(wù)應(yīng)用、用戶數(shù)據(jù)等方面的總體風(fēng)險評估結(jié)果。

4.安全建設(shè)

根據(jù)風(fēng)險評估結(jié)果,加固最薄弱的環(huán)節(jié),包括設(shè)計安全防線、部署安全設(shè)備、及時更新補丁、防御病毒、源代碼自動掃描和業(yè)務(wù)產(chǎn)品安全咨詢等。為了降低可能泄露數(shù)據(jù)的價值,通過加密、匿名化、混淆數(shù)據(jù),乃至定期刪除等技術(shù)手段和流程來達到目的。

5.安全合規(guī)

為了滿足例如支付牌照等合規(guī)性要求,安全團隊承擔(dān)著安全合規(guī)的對外接口人工作。

6.應(yīng)急響應(yīng)

建立安全報警系統(tǒng),通過安全中心收集第三方發(fā)現(xiàn)的安全問題,組織各部門對已經(jīng)發(fā)現(xiàn)的安全問題進行修復(fù)、影響面評估、事后安全原因追查。

運維工作發(fā)展過程

早期的運維團隊在人員較少的情況下,主要是進行數(shù)據(jù)中心建設(shè)、基礎(chǔ)網(wǎng)絡(luò)建設(shè)、服務(wù)器采購和服務(wù)器安裝交付工作。幾乎很少涉及線上服務(wù)的變更、監(jiān)控、管理等工作。

這個時候的運維團隊更多的屬于基礎(chǔ)建設(shè)的角色,提供一個簡單、可用的網(wǎng)絡(luò)環(huán)境和系統(tǒng)環(huán)境即可。

隨著業(yè)務(wù)產(chǎn)品的逐漸成熟,對于服務(wù)質(zhì)量方面就有了更高的要求。這個時候的運維團隊還會承擔(dān)一些服務(wù)器監(jiān)控的工作,同時會負責(zé) LVS、Nginx 等與業(yè)務(wù)邏輯無關(guān)的 4/7 層運維工作。

這個時候服務(wù)變更更多的是逐臺的手工操作,或者有一些簡單批量腳本的出現(xiàn)。監(jiān)控的焦點更多的在服務(wù)器狀態(tài)和資源使用情況上,對服務(wù)應(yīng)用狀態(tài)的監(jiān)控幾乎很少,監(jiān)控更多的使用各種開源系統(tǒng)如Nagios、Cacti等。

由于業(yè)務(wù)規(guī)模和復(fù)雜度的持續(xù)增加,運維團隊會逐漸劃分為應(yīng)用運維和系統(tǒng)運維兩大塊。應(yīng)用運維開始接手線上業(yè)務(wù),逐步開展服務(wù)監(jiān)控梳理、數(shù)據(jù)備份以及服務(wù)變更的工作。

隨著對服務(wù)的深入,應(yīng)用運維工程師有能力開始對服務(wù)進行一些簡單的優(yōu)化。同時,為了應(yīng)對每天大量的服務(wù)變更,我們也開始編寫各類運維工具,針對某些特定的服務(wù)能夠很方便的批量變更。

隨著業(yè)務(wù)規(guī)模的增大,基礎(chǔ)設(shè)施由于容量規(guī)劃不足或抵御風(fēng)險能力較弱導(dǎo)致的故障也越來越多,迫使運維人員開始將更多的精力投入到多數(shù)據(jù)中心容災(zāi)、預(yù)案管理的方向上。

業(yè)務(wù)規(guī)模達到一定程度后,開源的監(jiān)控系統(tǒng)在性能和功能方面,已經(jīng)無法滿足業(yè)務(wù)需求;大量的服務(wù)變更、復(fù)雜的服務(wù)關(guān)系,以前靠人工記錄、工具變更的方式不管在效率還是準確性方面也都無法滿足業(yè)務(wù)需求。

在安全方面也出現(xiàn)了各種大大小小的事件,迫使我們投入更多的精力在安全防御上。逐漸的,運維團隊形成之前提到的5個大的工作分類,每個分類都需要有專精的人才。

這個時候系統(tǒng)運維更專注于基礎(chǔ)設(shè)施的建設(shè)和運維,提供穩(wěn)定、高效的網(wǎng)絡(luò)環(huán)境,交付服務(wù)器等資源給應(yīng)用運維工程師。應(yīng)用運維更專注于服務(wù)運行狀態(tài)和效率。

數(shù)據(jù)庫運維屬于應(yīng)用運維工作的細化,更專注于數(shù)據(jù)庫領(lǐng)域的自動化、性能優(yōu)化和安全防御。運維研發(fā)和運維安全提供各類平臺、工具,進一步提升運維工程師的工作效率,使業(yè)務(wù)服務(wù)運行得更加穩(wěn)定、高效和安全。

我們將運維發(fā)展過程劃分為4個階段:

手工管理階段:業(yè)務(wù)流量不大,服務(wù)器數(shù)量相對較少,系統(tǒng)復(fù)雜度不高。對于日常的業(yè)務(wù)管理操作,大家更多的是逐臺登錄服務(wù)器進行手工操作,屬于各自為戰(zhàn),每個人都有自己的操作方式,缺少必要的操作標準、流程機制,比如業(yè)務(wù)目錄環(huán)境都是各式各樣的。

工具批量操作階段:隨著服務(wù)器規(guī)模、系統(tǒng)復(fù)雜度的增加,全人工的操作方式已經(jīng)不能滿足業(yè)務(wù)的快速發(fā)展需要。因此,運維人員逐漸開始使用批量化的操作工具,針對不同操作類型出現(xiàn)了不同的腳本程序。

但各團隊都有自己的工具,每次操作需求發(fā)生變化時都需要調(diào)整工具。這主要是因為對于環(huán)境、操作的規(guī)范不夠,導(dǎo)致可程序化處理能力較弱。此時,雖然效率提升了一部分,但很快又遇到了瓶頸。

操作的質(zhì)量并沒有太多的提升,甚至可能因為批量執(zhí)行而導(dǎo)致更大規(guī)模的問題出現(xiàn)。我們開始建立大量的流程規(guī)范,比如復(fù)查機制,先上線一臺服務(wù)器觀察10分鐘后再繼續(xù)后面的操作,一次升級完成后至少要觀察20分鐘等。

這些主要還是靠人來監(jiān)督和執(zhí)行,但在實際過程中執(zhí)行往往不到位,反而降低了工作效率。

平臺管理階段:在這個階段,對于運維效率和誤操作率有了更高的要求,我們決定開始建設(shè)運維平臺,通過平臺承載標準、流程,進而解放人力和提高質(zhì)量。

這個時候?qū)Ψ?wù)的變更動作進行了抽象,形成了操作方法、服務(wù)目錄環(huán)境、服務(wù)運行方式等統(tǒng)一的標準,如程序的啟停接口必須包括啟動、停止、重載等。通過平臺來約束操作流程,如上面提到的上線一臺服務(wù)器觀察10分鐘。

在平臺中強制設(shè)定暫停檢查點,在第一臺服務(wù)器操作完成后,需要運維人員填寫相應(yīng)的檢查項,然后才可以繼續(xù)執(zhí)行后續(xù)的部署動作。

系統(tǒng)自調(diào)度階段:更大規(guī)模的服務(wù)數(shù)量、更復(fù)雜的服務(wù)關(guān)聯(lián)關(guān)系、各個運維平臺的林立,原有的將批量操作轉(zhuǎn)化成平臺操作的方式已經(jīng)不再適合,需要對服務(wù)變更進行更高一層的抽象。

將每一臺服務(wù)器抽象成一個容器,由調(diào)度系統(tǒng)根據(jù)資源使用情況,將服務(wù)調(diào)度、部署到合適的服務(wù)器上,自動化完成與周邊各個運維系統(tǒng)的聯(lián)動,比如監(jiān)控系統(tǒng)、日志系統(tǒng)、備份系統(tǒng)等。

通過自調(diào)度系統(tǒng),根據(jù)服務(wù)運行情況動態(tài)伸縮容量,能夠自動化處理常見的服務(wù)故障。運維人員的工作也會前置到產(chǎn)品設(shè)計階段,協(xié)助研發(fā)人員改造服務(wù)使其可以接入到自調(diào)度系統(tǒng)中。

在整個運維的發(fā)展過程中,希望所有的工作都自動化起來,減少人的重復(fù)工作,降低知識傳遞的成本,使我們的運維交付更高效、更安全,使產(chǎn)品運行更穩(wěn)定。對于故障的處理,也希望由事后處理變成提前發(fā)現(xiàn),由人工處理變成系統(tǒng)自動容災(zāi)。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論