了解最新公司動態(tài)及行業(yè)資訊
互聯(lián)網(wǎng)運維工作以服務為中心,以穩(wěn)定、安全、高效為三大基本點,確保公司互聯(lián)網(wǎng)業(yè)務7×24小時為用戶提供優(yōu)質(zhì)服務。
p>
運維人員加強公司互聯(lián)網(wǎng)業(yè)務所依賴的基礎設施、基礎服務、線上業(yè)務的穩(wěn)定性,進行日常檢查,發(fā)現(xiàn)服務中可能存在的隱患,優(yōu)化整體結構,屏蔽常見的操作故障,多數(shù)據(jù)訪問提升了業(yè)務的容災能力。
通過監(jiān)控、日志分析等技術手段,及時發(fā)現(xiàn)并響應服務故障,減少服務中斷時間,使公司互聯(lián)網(wǎng)業(yè)務達到預期的可用性要求,持續(xù)穩(wěn)定地為用戶提供服務。

在安全方面,運維人員需要關注業(yè)務運營所涉及的各個層面,確保用戶能夠安全、完整地訪問在線服務。
從網(wǎng)絡邊界劃分、ACL管理、流量分析、DDoS防御,到操作系統(tǒng)和開源軟件的漏洞掃描和修補,再到應用服務的XSS和SQL注入防護;
從安全流程梳理、代碼白盒黑盒掃描、權限審計、入侵檢測、業(yè)務風控等方面
運維人員需要保證公司提供的互聯(lián)網(wǎng)業(yè)務在安全可控的狀態(tài)下運行it運維,保證公司業(yè)務數(shù)據(jù)和用戶隱私數(shù)據(jù)的安全,同時需要具備抵御各種惡意攻擊的能力。
在保證業(yè)務穩(wěn)定安全的前提下,還要保證業(yè)務的高效運作和公司內(nèi)部的快速產(chǎn)出。運維工作需要對業(yè)務的各個方面進行優(yōu)化。
例如,IO優(yōu)化提升數(shù)據(jù)庫性能,圖片壓縮減少帶寬占用等。提供的互聯(lián)網(wǎng)服務以更少的資源投入,帶來最大的用戶價值和體驗。
同時,還需要通過各種工具平臺提高內(nèi)部產(chǎn)品發(fā)布和交付的效率,提高公司內(nèi)部與運維相關的工作效率。
工作分類運維
運維工作多方位。隨著業(yè)務規(guī)模的不斷發(fā)展,互聯(lián)網(wǎng)公司越成熟,運維崗位也會越細。
目前,很多大型互聯(lián)網(wǎng)公司在初期只進行系統(tǒng)運維,根據(jù)服務規(guī)模和服務質(zhì)量的要求逐步細分工作。
運維團隊一般的工作分類(見圖1-1),職責如下。
系統(tǒng)運維
系統(tǒng)運維負責IDC、網(wǎng)絡、CDN和基礎服務(LVS、NTP、DNS)的建設;負責資產(chǎn)管理、服務器選擇、交付和維護。具體職責如下:
1.IDC數(shù)據(jù)中心建設
收集業(yè)務需求,預估未來數(shù)據(jù)中心的發(fā)展規(guī)模,從骨干網(wǎng)分布、數(shù)據(jù)中心樓宇、接入、網(wǎng)絡等方面評估選擇數(shù)據(jù)中心的攻擊防御能力、擴容能力、空間預留、對外專線能力、現(xiàn)場服務支持能力等。負責數(shù)據(jù)中心建設和現(xiàn)場維護。
2.網(wǎng)絡建設
設計和規(guī)劃生產(chǎn)網(wǎng)絡架構,包括:數(shù)據(jù)中心網(wǎng)絡架構、傳輸網(wǎng)絡架構、CDN網(wǎng)絡架構等,以及網(wǎng)絡調(diào)優(yōu)等日常運維工作。
3.LVS負載均衡和SNAT構建
LVS是整個站點架構中的流量入口,根據(jù)網(wǎng)絡規(guī)模和業(yè)務需求搭建負載均衡集群。
完整的網(wǎng)絡和業(yè)務服務器的連接提供了高性能和高可用的負載調(diào)度能力,以及統(tǒng)一的網(wǎng)絡層攻擊防御能力。
SNAT 。在數(shù)據(jù)中心集中提供公網(wǎng)接入服務,通過集群部署,保證出站服務的高性能和高可用性。
4.CDN規(guī)劃建設
CDN工作分為第三方和自建。
建立第三方CDN的選擇和調(diào)度控制;根據(jù)業(yè)務發(fā)展趨勢規(guī)劃新CDN節(jié)點的建設和布局;完善CDN服務和監(jiān)控,確保CDN系統(tǒng)穩(wěn)定高效運行。
分析業(yè)務加速渠道的特點和文件數(shù)量,優(yōu)化加速策略和資源匹配;負責用戶劫持等日常CDN排查工作。
5.服務器選擇、交付和維護
負責服務器的測試選型,包括整機及組件的基礎測試和業(yè)務測試,降低整機功耗,提高機架部署密度等。
結合對公司業(yè)務的了解,推動新硬件、新解決方案降低業(yè)務服務器投資規(guī)模。負責診斷和定位服務器硬件故障,開發(fā)和維護服務器硬件監(jiān)控和健康檢查工具。
6.OS、內(nèi)核選擇及OS相關維護工作
負責整個平臺的操作系統(tǒng)選擇、定制和內(nèi)核優(yōu)化,以及補丁更新和內(nèi)部版本發(fā)布;建立基礎的 YUM 包管理和分發(fā)中心,提供通用的包倉庫;日常操作系統(tǒng)相關的故障;為不同業(yè)務類型提供針對性的優(yōu)化支持。
7.資產(chǎn)管理
記錄和管理與運維相關的基本物理信息,包括數(shù)據(jù)中心、網(wǎng)絡、機柜、服務器、ACL、IP等資源信息,制定有效的流程,確保信息的準確性;開放API接口,為自動化運維提供數(shù)據(jù)支持。
8.基礎服務搭建
業(yè)務嚴重依賴DNS、NTP等基礎服務,需要設計高可用架構,避免單點,提供穩(wěn)定的基礎服務。
應用運維
應用運維負責在線服務變更、服務狀態(tài)監(jiān)控、服務容災和數(shù)據(jù)備份等,并定期檢查服務和處理故障突發(fā)事件。等待工作。具體工作職責如下。
1.設計評審
在產(chǎn)品開發(fā)階段,參與產(chǎn)品設計評審,從運維角度提出評審意見,使服務滿足運維接入的高可用性要求。
2.服務管理
負責制定線上業(yè)務升級變更和回滾計劃,并實施變更。掌握負責的服務,服務之間的關系,以及服務所依賴的各種資源。能夠發(fā)現(xiàn)服務缺陷、及時報告并推動解決。
制定服務穩(wěn)定性指標和準入標準,同時不斷完善和優(yōu)化程序和系統(tǒng)的功能和效率,提高運營質(zhì)量。完善監(jiān)控內(nèi)容,提高報警準確率。
當在線服務出現(xiàn)故障時,立即響應,將已知在線故障按流程上報并按計劃執(zhí)行,并組織相關人員共同排除未知故障。
3.資源管理
管理各項服務的服務器資產(chǎn),梳理服務器資源狀況、數(shù)據(jù)中心分布、網(wǎng)絡專線和帶寬,合理使用服務器根據(jù)不同業(yè)務的需要it運維,分配不同配置的服務器,保證充分利用服務器資源。
4.例行檢查
制定并不斷改進日常服務檢查點。根據(jù)既定的服務檢查點對服務進行定期檢查。對檢查過程中發(fā)現(xiàn)的問題要及時追溯,排除可能存在的隱患。
5.計劃管理
確定服務所需的各種監(jiān)控,系統(tǒng)指標的閾值或臨界點,情況發(fā)生后的處理方案。
建立和更新服務計劃文件,并根據(jù)日常故障情況不斷補充和改進,提高計劃的完整性。能夠制定和審核各類計劃,并定期進行計劃演練,確保計劃的可執(zhí)行性。
6.數(shù)據(jù)備份
制定數(shù)據(jù)備份策略,按照規(guī)范進行數(shù)據(jù)備份。確保數(shù)據(jù)備份的可用性和完整性,并定期進行數(shù)據(jù)恢復測試。
數(shù)據(jù)庫運維
數(shù)據(jù)庫運維負責數(shù)據(jù)存儲方案設計、數(shù)據(jù)庫表設計、索引設計和SQL優(yōu)化,以及數(shù)據(jù)庫的變更、監(jiān)控、備份、高可用設計等。具體工作職責如下。
1.設計評審
在產(chǎn)品開發(fā)初期,參與設計評審,提出數(shù)據(jù)存儲方案、數(shù)據(jù)庫表設計方案、SQL開發(fā)標準、索引設計方案等,使服務滿足高可用、高數(shù)據(jù)庫使用的性能要求。
2.容量規(guī)劃
掌握負責服務的數(shù)據(jù)庫的容量限制,清楚了解當前的瓶頸點,在服務未達到容量限制、分拆或擴容時及時優(yōu)化服務。
3.數(shù)據(jù)備份與容災
制定數(shù)據(jù)備份和災難恢復策略,并定期完成數(shù)據(jù)恢復測試,以確保數(shù)據(jù)備份的可用性和完整性。
4.數(shù)據(jù)庫監(jiān)控
提高數(shù)據(jù)庫生存和性能監(jiān)控,及時了解數(shù)據(jù)庫運行狀態(tài)和故障。
數(shù)據(jù)庫安全 建立數(shù)據(jù)庫賬號體系,嚴格控制賬號權限和開放范圍,降低誤操作和數(shù)據(jù)泄露風險;加強離線備份數(shù)據(jù)管理,降低數(shù)據(jù)泄露風險。
5.數(shù)據(jù)庫高可用和性能優(yōu)化
針對數(shù)據(jù)庫單點風險和故障設計相應的切換方案,減少故障對數(shù)據(jù)庫服務的影響;性能優(yōu)化,包括新存儲方案的引入、硬件優(yōu)化、文件系統(tǒng)優(yōu)化、數(shù)據(jù)庫優(yōu)化、SQL優(yōu)化等,數(shù)據(jù)庫可以在不增加保障成本或小幅增加的情況下支持更多的業(yè)務請求。
6.自動化系統(tǒng)搭建
設計開發(fā)數(shù)據(jù)庫自動化運維系統(tǒng),包括數(shù)據(jù)庫部署、自動擴容、分庫分表、權限管理、備份與恢復、SQL審計與上線、故障轉(zhuǎn)移等功能。
7.運維研發(fā)
運維研發(fā)負責通用運維平臺的設計開發(fā),如:資產(chǎn)管理、監(jiān)控系統(tǒng)、運維平臺、數(shù)據(jù)權限管理系統(tǒng)等。提供運維的各種API維護或研發(fā)人員封裝更高級別的自動化運維系統(tǒng)。具體工作職責如下。
8.運維平臺
記錄和管理服務及其關聯(lián)關系,協(xié)助運維人員自動化處理日常運維操作,包括機器管理、重啟、重命名、初始化、管理域名、切換流量、實施故障預案等。
9.監(jiān)控系統(tǒng)
負責監(jiān)控系統(tǒng)的設計和開發(fā),完成公司服務器和各種網(wǎng)絡設備的資源指標,在線業(yè)務運營指標的采集,告警,存儲,分析,展示和數(shù)據(jù)挖掘等,持續(xù)不斷提高告警的及時性、準確性和智能性,促進公司服務器資源的合理配置。
10.自動化部署系統(tǒng)
參與部署自動化系統(tǒng)的開發(fā),負責自動化部署系統(tǒng)所需的基礎數(shù)據(jù)和信息,負責權限管理、API開發(fā)、Web端開發(fā)。結合云計算,我們開發(fā)并提供PaaS相關的高可用平臺,進一步提升服務部署速度和用戶體驗,提高資源利用率。
運維安全
運維安全負責網(wǎng)絡、系統(tǒng)和業(yè)務的安全加固,定期進行安全掃描、滲透測試、安全工具和系統(tǒng)開發(fā)以及安全事件應急處理。具體工作職責如下。
1.建立安全體系
根據(jù)公司具體內(nèi)部流程,制定切實有效的安全制度。
2.安全培訓
定期對員工進行有針對性的安全培訓和考核,在全公司范圍內(nèi)建立安全責任人制度。
3.風險評估
通過黑白盒測試檢查機制,定期生成物理網(wǎng)絡、服務器、業(yè)務應用、用戶數(shù)據(jù)的整體風險評估結果。
4.安全構造
根據(jù)風險評估結果,加強最薄弱環(huán)節(jié),包括設計安全防線、部署安全設備、及時更新補丁、防御病毒、源代碼自動掃描和業(yè)務產(chǎn)品安全咨詢等。可能泄露的數(shù)據(jù)的價值,通過加密、匿名化、混淆甚至定期刪除等技術手段和流程達到目的。
5.安全合規(guī)性
為了滿足支付許可等合規(guī)要求,安全團隊負責安全合規(guī)的對外接口。
6.應急響應
建立安全報警系統(tǒng),通過安全中心收集第三方發(fā)現(xiàn)的安全問題,組織各部門對發(fā)現(xiàn)的安全問題進行修復和影響當面評估和事后安全原因調(diào)查。
運維工作的發(fā)展歷程
早期運維團隊主要在人員稀少的情況下進行數(shù)據(jù)中心建設、基礎網(wǎng)絡建設、服務器采購和服務器安裝交付。 它很少涉及在線服務的更改、監(jiān)控和管理。
此時,運維團隊更多地扮演著基礎設施的角色,提供簡單可用的網(wǎng)絡環(huán)境和系統(tǒng)環(huán)境。
隨著業(yè)務產(chǎn)品的逐漸成熟,對服務質(zhì)量提出了更高的要求。此時運維團隊也會承擔一些服務器監(jiān)控工作,同時也會負責LVS、Nginx等4/7層與業(yè)務邏輯無關的運維工作。
這時候服務變更更多的是手動操作,或者是一些簡單的批處理腳本。監(jiān)控的重點更多是服務器狀態(tài)和資源使用情況,很少對服務應用狀態(tài)進行監(jiān)控,更多的監(jiān)控使用Cacti等各種開源系統(tǒng)。
由于業(yè)務規(guī)模和復雜性的不斷增加,運維團隊將逐漸分為應用運維和系統(tǒng)運維。應用運維開始接手線上業(yè)務,逐步開展服務監(jiān)控整理、數(shù)據(jù)備份和服務變更等工作。
隨著服務的深入,應用運維工程師有能力開始對服務進行一些簡單的優(yōu)化。同時,為了應對每天大量的服務變更,我們也開始編寫各種運維工具,可以方便地批量變更某些服務。
隨著業(yè)務規(guī)模的擴大,基礎設施因容量規(guī)劃不足或抗風險能力弱而出現(xiàn)的故障越來越多,迫使運維人員開始將更多的精力投入到多數(shù)據(jù)中心化的方向上災難恢復和計劃管理。
業(yè)務規(guī)模達到一定程度后,開源監(jiān)控系統(tǒng)在性能和功能上已經(jīng)不能滿足業(yè)務需求;過去大量的服務變更和復雜的服務關系不是通過人工記錄和工具變更來處理的。它在效率或準確性方面也無法滿足業(yè)務需求。
在安全方面,各種大大小小的事件也時有發(fā)生,迫使我們將更多的精力投入到安全防御中。運維團隊逐漸形成了上述5大類崗位,每個崗位都需要專門人才。
此時系統(tǒng)運維更側(cè)重于基礎設施建設和運維,提供穩(wěn)定高效的網(wǎng)絡環(huán)境,將服務器等資源交付給應用運維工程師。應用運維更關注服務運行狀態(tài)和效率。
數(shù)據(jù)庫運維是對應用運維工作的精細化,更側(cè)重于數(shù)據(jù)庫領域的自動化、性能優(yōu)化和安全防御。運維研發(fā)和運維安全提供各種平臺和工具,進一步提高運維工程師的工作效率,讓業(yè)務服務運行更加穩(wěn)定、高效、安全。
我們將運維開發(fā)過程分為四個階段,如圖1-2所示。

圖1-2運維開發(fā)流程
人工管理階段:業(yè)務流量不大,服務器數(shù)量比較少,系統(tǒng)復雜度不高。對于日常的業(yè)務管理操作,大家更有可能一一登錄服務器進行手動操作。他們每個人都在以自己的方式戰(zhàn)斗。每個人都有自己的操作方法,缺乏必要的操作標準和流程機制。例如,業(yè)務目錄環(huán)境都是不同的。各種。
工具批量操作階段:隨著服務器規(guī)模和系統(tǒng)復雜度的增加,全手工操作模式已經(jīng)不能滿足業(yè)務快速發(fā)展的需要。因此,運維人員逐漸開始使用批量操作工具,針對不同的操作類型出現(xiàn)了不同的腳本程序。
但每個團隊都有自己的工具,每次運營需求發(fā)生變化時都需要對其進行調(diào)整。這主要是由于環(huán)境和操作規(guī)范不足,導致可編程處理能力較弱。至此,雖然效率有了一定的提升,但很快又遇到了瓶頸。
操作的質(zhì)量并沒有太大的提高,甚至可能由于批量執(zhí)行而導致更大規(guī)模的問題。我們開始建立大量的流程規(guī)范,比如審核機制,先用服務器上線觀察10分鐘再繼續(xù)后續(xù)操作,升級完成后至少觀察20分鐘。
這些主要是由人監(jiān)督和執(zhí)行,但在實際過程中往往執(zhí)行不到位,降低了工作效率。
平臺管理階段:這個階段對運維效率和誤操作率有更高的要求。我們決定著手搭建運維平臺,通過平臺承載標準和流程,從而解放人力,提高質(zhì)量。
此時對服務的變更動作進行了抽象,對操作方式、服務目錄環(huán)境、服務操作方式等形成了統(tǒng)一的標準。比如程序的啟停接口必須包括start,停車、超載等。操作過程受平臺約束,如上述在線服務器觀察10分鐘。
在平臺中強制設置暫停檢查點。第一臺服務器運行完成后,運維人員需要填寫相應的檢查項,才能繼續(xù)進行后續(xù)的部署動作。
系統(tǒng)自調(diào)度階段:規(guī)模更大的服務數(shù)量,更復雜的服務關聯(lián),各種運維平臺,原來將批量操作轉(zhuǎn)化為平臺操作的方式已經(jīng)不適合。服務更改需要更高級別的抽象。
將每臺服務器抽象成一個容器,調(diào)度系統(tǒng)根據(jù)資源使用情況調(diào)度和部署服務到合適的服務器,并自動完成與周邊運維系統(tǒng)的聯(lián)動,如監(jiān)控系統(tǒng)、日志系統(tǒng)、備份系統(tǒng)等.
通過自調(diào)度系統(tǒng),可以根據(jù)業(yè)務運行動態(tài)擴展容量,自動處理常見業(yè)務故障。運維人員的工作也將推進到產(chǎn)品設計階段,協(xié)助研發(fā)人員改造服務,使其能夠接入自調(diào)度系統(tǒng)。
在整個運維的開發(fā)過程中,我們希望所有的工作都實現(xiàn)自動化,減少人的重復性工作,降低知識轉(zhuǎn)移的成本,讓我們的運維交付更高效,更安全,使產(chǎn)品運行更穩(wěn)定。對于故障的處理,也希望后處理變成早期發(fā)現(xiàn),人工處理變成系統(tǒng)自動容災。