了解最新公司動態及行業資訊
互聯網運維工作以服務為核心,以穩定、安全、高效為三個基本點,確保公司互聯網業務能夠7×24小時為用戶提供優質服務。
運維人員加強公司互聯網業務所依賴的基礎設施、基礎服務、線上業務的穩定性,進行日常巡查,發現服務中可能存在的隱患,優化整體架構,屏蔽常見的運行故障。接入提高了業務的容災能力。
通過監控、日志分析等技術手段,及時發現并響應服務故障,減少服務中斷時間,使公司互聯網業務達到預期的可用性要求,為用戶提供持續穩定的服務
在安全方面,運維人員需要關注業務運營所涉及的各個層面,確保用戶能夠安全、完整地訪問在線業務。
從網絡邊界劃分、ACL管理、流量分析、DDoS防御,到操作系統和開源軟件的漏洞掃描和補丁,再到應用服務的XSS和SQL注入防護;
從安全流程梳理、代碼白盒黑盒掃描、權限審計,到入侵檢測、業務風控等。
運維人員需要保證公司提供的互聯網行業在安全可控的狀態下運行,保證公司業務數據和用戶隱私數據的安全,同時需要具備抵御能力各種惡意攻擊。
在保證業務穩定安全的前提下,還要保證業務的高效運作和公司內部的快速產出。運維工作需要對業務的各個方面進行優化。
比如IO優化提升數據庫性能,圖片壓縮降低帶寬占用等。提供的互聯網服務以更少的資源投入,帶來最大的用戶價值和體驗。
同時,還需要通過各種工具平臺提高內部產品發布和交付的效率,提高公司內部與運維相關的工作效率。
工作分類運維
操作和維護有許多工作方向。隨著業務規模的不斷發展,互聯網公司越成熟,運維崗位的劃分也會越細。
目前,很多大型互聯網公司只在初創期進行系統運維。隨著服務規模和服務質量的要求,他們的工作也逐漸細分。
總體而言,運維團隊的工作分類和職責如下。
系統運維
系統運維負責IDC、網絡、CDN和基礎服務(LVS、NTP、DNS)的建設;負責資產管理、服務器選擇、交付和維護。具體工作職責如下。
1.IDC數據中心建設
收集業務需求,預估數據中心未來發展規模,從骨干網分布、數據中心樓宇、接入、網絡防攻擊能力、擴容能力、空間預留、外租專線能力、現場服務等方面進行評估支持能力。選擇數據中心。負責數據中心的建設和現場維護。
2.網絡建設
設計和規劃生產網絡架構,包括:數據中心網絡架構、傳輸網絡架構、CDN網絡架構等,以及網絡調優等日常運維工作。
3.LVS負載均衡和SNAT構建
LVS是整個站點架構中的流量入口,根據網絡規模和業務需求構建負載均衡集群。完成網絡與業務服務器的連接,提供高性能、高可用的負載調度能力,以及統一的網絡層攻擊防御能力。NAT。在數據中心集中提供公網接入服務,通過集群部署保證出站服務的高性能和高可用性。
4.CDN規劃建設
CDN工作分為第三方和自建兩部分。建立第三方CDN的選擇和調度控制;根據業務發展趨勢規劃新CDN節點的建設和布局;完善CDN服務和監控,確保CDN系統穩定高效運行。分析服務加速通道的文件特征和數量,制定最優的加速策略和資源匹配;負責用戶劫持等日常CDN故障排除。
5.服務器選型、交付和維護
負責服務器測試和選型,包括整臺服務器及組件的基礎測試和業務測試,降低整臺服務器的功耗,增加機架部署密度。
結合對公司業務的了解,推廣新的硬件和新的解決方案,降低業務中服務器的投資規模。負責診斷和定位服務器硬件故障,開發和維護服務器硬件監控和健康檢查工具。
6.OS、內核選擇及OS相關維護
負責整個平臺的操作系統選擇、定制和內核優化,以及補丁更新和內部版本發布;建立基本的YUM包管理和分發中心,提供常用的包版本庫;跟進日常各種與操作系統相關的故障;業務類型,提供針對性的優化支持。
7.資產管理
記錄和管理與運維相關的基本物理信息,包括數據中心、網絡、機柜、服務器、ACL、IP等資源信息,制定有效的流程,確保信息的準確性;開放API接口,提供自動化運維數據支持。
8.基礎服務建設
業務嚴重依賴DNS、NTP等基礎服務,需要設計高可用架構,避免單點,提供穩定的基礎服務。
應用運維
應用運維負責在線服務變更、服務狀態監控、服務容災和數據備份等,以及日常服務檢查和故障應急處理。具體工作職責如下。
1.設計評審
在產品開發階段,參與產品設計評審,從運維角度提出評審意見,使服務滿足運維接入的高可用需求。
2.服務管理
負責制定線上業務升級變更和回滾計劃,并實施變更。掌握負責的服務,服務之間的關系,以及服務所依賴的各種資源。能夠發現服務缺陷,及時報告并推進解決。制定服務穩定性指標和準入標準,同時不斷完善和優化流程和系統的功能和效率,提高運行質量。完善監控內容,提高報警準確率。當在線服務出現故障時,立即響應,將已知在線故障按流程上報并按計劃執行,并組織相關人員共同排除未知故障。
3.資源管理
管理各項服務的服務器資產,梳理服務器資源狀況、數據中心分布、網絡專線和帶寬,合理使用服務器資源。根據不同業務的需求,分配不同配置的服務器,保證服務器資源的充分利用。
4.例行檢查
制定服務例行檢查點并不斷改進。根據既定的服務檢查點對服務進行定期檢查。對檢查過程中發現的問題,要及時追溯,消除可能存在的隱患。
5.計劃管理
確定服務所需的各種監控、系統指標的閾值或臨界點,以及如果發生這種情況該怎么辦。建立和更新服務計劃文件,并根據日常故障情況不斷補充和改進,提高計劃的完整性。能夠制定和審核各類計劃,并定期進行計劃演練,確保計劃的可執行性。
6.數據備份
制定數據備份策略,按規范開展數據備份工作。確保數據備份的可用性和完整性,并定期進行數據恢復測試。
數據庫運維
數據庫運維負責數據存儲方案設計、數據庫表設計、索引設計和SQL優化,以及數據庫的變更、監控、備份、高可用設計。具體工作職責如下。
1.設計評審
在產品開發初期,參與設計方案的評審,從DBA的角度提出數據存儲方案、數據庫表設計方案、SQL開發標準、索引設計方案等,使服務滿足數據庫使用的高可用性和高性能要求。
2.容量規劃
掌握負責服務的數據庫的容量上限,清楚地了解當前的瓶頸點。當服務尚未達到容量上限時,及時優化、拆分或擴容。
3.數據備份與容災
制定數據備份和容災策略,定期完成數據恢復測試,確保數據備份的可用性和完整性。
4.數據庫監控
提高數據庫生存和性能監控,及時了解數據庫運行狀態和故障。數據庫安全 建立數據庫賬戶體系,嚴格控制賬戶權限和開放范圍,降低誤操作和數據泄露風險;加強離線備份數據管理,降低數據泄露風險。
5.數據庫高可用和性能優化
針對數據庫的單點風險和故障設計相應的切換方案,降低故障對數據庫服務的影響;不斷優化數據庫的整體性能,包括引入新的存儲方案、硬件優化、文件系統優化、數據庫優化、SQL優化等。在保證成本不增加或不增加的情況下,數據庫可以支持更多的業務請求小幅增加。
6.自動化系統建設
設計開發數據庫自動化運維系統,包括數據庫部署、自動擴容、分庫分表、權限管理、備份與恢復、SQL審計與上線、故障轉移等功能。
7.運維研發
運維研發負責資產管理、監控系統、運維平臺、數據權限管理系統等通用運維平臺的設計開發。為運維或研發人員提供各種API,封裝更高級別的自動化運維系統。具體工作職責如下。
8.運維平臺
記錄和管理服務及其關聯,協助運維人員自動化處理日常運維操作,包括機器管理、重啟、更名、初始化、域名管理、流量切換、故障預案執行等。
9.監控系統
負責監控系統的設計與開發,完成公司服務器及各類網絡設備資源指標、在線業務運行指標等的采集、告警、存儲、分析、展示和數據挖掘,不斷提高時效性和告警準確 靈活智能,促進公司服務器資源的合理配置。
10.自動化部署系統
參與部署自動化系統的開發,負責自動化部署系統所需的基礎數據和信息,負責權限管理、API開發、Web端開發。結合云計算,我們開發并提供PaaS相關的高可用平臺,進一步提升服務部署速度和用戶體驗,提高資源利用率。
運維安全
運維安全負責網絡、系統和業務的安全加固,定期進行安全掃描、滲透測試、安全工具和系統的研發、安全事件的應急處理。具體工作職責如下。
1.安全系統建立
根據公司內部的具體流程,制定切實有效的安全體系。
2.安全培訓
定期對員工進行有針對性的安全培訓和考核,在全公司建立安全責任人制度。
3.風險評估
通過黑白盒測試檢查機制,定期生成物理網絡、服務器、業務應用、用戶數據等整體風險評估結果。
4.安全建設
根據風險評估結果,加強最薄弱環節,包括設計安全防線、部署安全設備、及時更新補丁、防病毒、自動掃描源代碼、咨詢業務產品安全等。為了降低可能泄露的數據的價值,通過加密、匿名化、混淆甚至定期刪除等技術手段和流程來達到目的。
5.安全合規
為了滿足支付許可等合規要求,安全團隊負責安全合規的對外接口。
6.應急響應
建立安全報警系統,通過安全中心收集第三方發現的安全問題,組織各部門對發現的安全問題進行修復,評估影響,事后追查安全原因。
運維工作開發流程
前期運維團隊主要進行數據中心建設、基礎網絡建設、服務器采購和服務器安裝交付工作,人員較少。它很少涉及在線服務的更改、監控和管理。
這時候運維團隊更多的扮演著基礎設施的角色,提供一個簡單可用的網絡環境和系統環境。
隨著業務產品的逐漸成熟,對服務質量提出了更高的要求。此時運維團隊也會承擔一些服務器監控工作,同時也會負責LVS、Nginx等4/7層與業務邏輯無關的運維工作。
這時候服務變更更多的是手動操作,或者有一些簡單的批處理腳本。監控的重點更多是服務器狀態和資源使用情況,對服務應用狀態的監控很少,更多的監控使用Cacti等各種開源系統。
由于業務規模和復雜性的不斷增加,運維團隊將逐漸劃分為應用運維和系統運維。應用運維開始接手線上業務,逐步開展服務監控整理、數據備份和服務變更等工作。
隨著服務的深入,應用運維工程師有能力開始對服務進行一些簡單的優化。同時,為了應對每天大量的服務變更,我們也開始編寫各種運維工具,可以方便地批量變更某些服務。
隨著業務規模的擴大,由于容量規劃不足或抗風險能力弱導致的基礎設施故障越來越多,迫使運維人員開始將更多的精力投入到多數據中心的容災和計劃管理上。方向。
業務規模達到一定程度后,開源監控系統在性能和功能上已經無法滿足業務需求;大量的服務變更和復雜的服務關系,過去依賴人工記錄和工具更換,效率或準確性均不高。兩者都不能滿足業務需求。
安全方面也發生了大大小小的各種事件,迫使我們將更多的精力投入到安全防御中。運維團隊逐漸形成了上述5大類崗位,每一類都需要專門人才。
此時系統運維更側重于基礎設施建設和運維,提供穩定高效的網絡環境,將服務器等資源交付給應用運維工程師。應用運維更關注服務運行狀態和效率。
數據庫運維屬于應用運維工作的精細化,更側重于數據庫領域的自動化、性能優化和安全防御。運維研發和運維保障提供各種平臺和工具,進一步提高運維工程師的工作效率it運維,讓業務服務運行更加穩定、高效、安全。
我們將運維開發過程分為4個階段:
人工管理階段:業務流量不大,服務器數量比較少,系統復雜度不高。對于日常的業務管理操作,大家更有可能一一登錄服務器進行手動操作。他們每個人都在以自己的方式戰斗。每個人都有自己的操作方法,缺乏必要的操作標準和流程機制。例如,業務目錄環境都是不同的。各種各樣的。
工具批量操作階段:隨著服務器規模和系統復雜度的增加,全手工操作模式已經不能滿足業務快速發展的需要。因此,運維人員逐漸開始使用批量操作工具,針對不同的操作類型出現了不同的腳本程序。
但是每個團隊都有自己的工具it運維,每次運營需求發生變化時都需要對其進行調整。這主要是由于環境和操作規范不足,導致可編程處理能力較弱。至此,雖然效率有了一定的提升,但很快又遇到了瓶頸。
操作的質量并沒有太大的提升,甚至可能由于批量執行而導致更大規模的問題。我們開始建立大量的流程規范,比如審核機制,先用服務器上線觀察10分鐘再繼續后續操作,升級完成后至少觀察20分鐘。
這些主要靠人來監督和落實,但在實際過程中,往往落實不到位,降低了工作效率。
平臺管理階段:此階段對運維效率和誤操作率有較高要求。我們決定開始建設運維平臺,通過平臺承載標準和流程,從而解放人力,提高質量。
這時服務的變更動作被抽象出來,形成了操作方法、服務目錄環境、服務操作方式的統一標準。比如程序的啟停界面必須包括啟動、停止、過載等。運行過程受平臺約束,比如上面提到的在線服務器觀察10分鐘。
在平臺中強制設置暫停檢查點。第一臺服務器運行完成后,運維人員需要填寫相應的檢查項,然后才能繼續后續的部署動作。
系統自調度階段:規模更大的服務數量,更復雜的服務關聯,各種運維平臺的建立,原來將批量操作轉化為平臺操作的方式已經不適用,需要改進服務變化。一層抽象。
每臺服務器被抽象成一個容器,調度系統根據資源使用情況,將服務調度部署到合適的服務器上,并自動完成與周邊運維系統的聯動,如監控系統、日志系統、備份系統等。
通過自調度系統,可以根據業務運行動態擴展容量,自動處理常見業務故障。運維人員的工作也將推進到產品設計階段,協助研發人員進行服務改造,接入自調度系統。
在運維的整個開發過程中,我們希望所有的工作都實現自動化,減少人的重復性工作,降低知識轉移的成本,讓我們的運維交付更高效、更安全,讓產品運行起來更穩定。對于故障的處理,也希望后處理變成早期檢測,人工處理變成系統自動容災。
福利
圈子搭建,學習資料獲取【ITIL/數字化轉型/IT規劃各種文檔解決方案報告】,歡迎加入知識星球(掃描下方二維碼)~~~