年底了,沒有分手的朋友的趕緊分了,所謂新年新氣象,年年不重樣。
去留無意,望看風捲殘雲。。。運維不會消失,但是會轉移。
1 雲原生是什麼?
最近雲原生大行其道,各種風吹草動,那麼雲原生到底是什麼,除了雲原生剩下的是不是都野生的?
雲原生本名cloud native,表示這個程序就是為雲定製化開發的,雲原生的發展經歷了幾個階段:第一個階段是在機房裡面,包括所有的iaas,paas,saas,那是傳統運維;第二個階段是雲託管時代,這裡面會把IAAS的那波人幹掉,這個也是雲計算的時代,將應用程式搬上雲,這個時候基本還只是使用雲的IAAS的產品,使用的PAAS不是很多;第三個階段就是雲原生時代,也就是不但使用IAAS,還是用PAAS,應用選定相關的各種雲產品,只要雲上有的,那麼就不會自己去搭建,只要能第三方有的,就去買買買,自己幹啥呢?專注於業務就好了,這個時候充分發揮雲的力量,從而讓業務不斷的進行開拓創新。
從第一個階段到第二個階段,還是比較簡單的,因為只是rehosting或者replatform,更換一個平臺而已,所以只有機房運維人員失業,雲廠商獲得好處;從第二階段到第三階段,這個時候應用開發的門檻會降低,技能能力上需要一個飛躍,因為你要懂雲,懂得雲產品,懂得雲服務,如果沒有專業的運維,那麼你可能還要懂點運維。
從第二階段到第三階段,這個時候要使用微服務,要使用k8s的架構,當然你也可以不用懂k8s,因為這個也算是屬於基礎架構的一部分,而且k8s的門檻非常之高,一般的開發根本就搞不定,連普通運維也會大大吃力,當然,這個時候你也可以選擇使用serverless,那麼雲廠商會把基礎服務給你搭建好,從而走輕運維的模式。
2 為什麼需要雲原生SRE?
雲原生時代,對於運維來說,有著更高的要求,你需要了解雲,你需要了解雲產品,雲平臺,雲服務,各個技能的全棧發展,你要懂得雲產品的選型,你要懂得微服務的數據鏈路,你要懂得k8s的調度,你可能還要點開發能力,各種yaml文件寫的飛起。。。
所有的這些,也就促成了雲原生SRE的誕生,雲原生SRE屬於平臺級運維,屬於數據化運維,如果這些SRE有腦子的話,那麼可以搖身一變,變成智能化運維。
高端的產品必然有高端的食材,這就是雲原生SRE的舞臺。
3 雲原生SRE的核心能力
數據化運維,對於各種微服務來說,前端的數據,中間的數據,後端的數據,存儲的數據,各種各樣的數據,各種各樣的APM,收集數據,存儲數據,分析數據,利用數據,數據服務化。
微服務不同於單體應用,產生的數據更加的多,k8s是一種功能強大的容器編排系統,在其中也會產生各種各樣的數據,動態的銷毀容器。
將這些運維數據進行抽取,加工,清洗,最後統一保存,形成數據資產,將相關運維數據進行分析,從而根據場景來制定不同數據服務,可以給監控大屏顯示,可以給相關人員看運維分析,可以進行實時數據流可視化。
最典型的就是故障信息,在故障時候,收集所有數據,進行沉澱,從而進行SLA的設定,進行服務治理,全鏈路的信息收集存儲,故障信息一覽無餘,改進措施之後,可以進行一個故障數據前後對比,從而可以很量化的看到相關的改進是否真實有效。
也可以將相關數據進行標籤化,從而根據相關數據,推送到感興趣的人進行不同運維場景分析,可以是日誌,可以pv,可以是銷售額。
全鏈路打通,將應用開發,測試,業務運維,平臺運維,每個人都能看到各個環節發生的情況,例如後端一個微服務接口down,導致了多少業務損失,出現了幾次中斷,讓每個人知道故障的影響結果,從而更好的改進。
4 serverless
所謂的serverless,表面意思是無伺服器,初步意思是serverless=faas+baas,也就是函數計算和後端服務,都使用api的方式來進行調用,現在的各種數位化轉型,也是使用api的方式來進行調用。
serverless讓開發專注於業務,其他的事情雲廠商都幫你做了,但是實際上還是要業務運維需要做的,節省了運維,但是運維不會消失。
serverless在進行開發測試的時候,必須進行環境隔離,否則你寫了個死循環,一瞬間可能就破產了,因為serverless的彈性付費實在是很彈,它不像使用虛擬機那種預付費的模式,直接限定了你的額度,但是在使用serverless的時候,你也可以使用預付費的模式來解決這個問題,但是就沒有吹噓的那麼彈性了,serverless的冷啟動時間其實也是靠預付費來解決的,也就是保留的數量解決平時的流量,彈性用來應對波峰浪谷的流量,從而充分的使用彈性。
serverless在調試的時候是很方便的,雖然生產上很方便,最好的方式就是使用虛擬機用來做測試環境,因為你還要進行性能測試,進行壓力測試,如果使用serverless可能成本就急劇上升。
serverless在防止惡意攻擊的時候,也比較麻煩,因為流量會直接打滿,一直在波峰的流量,這樣成本也高,那麼你就不得不買安全產品了。
serverless走輕運維模式,因為選擇雲產品的時候,你還是要選的,你要去看各種功能手冊,雖然很細緻,但是你會發現各種各樣的雲產品亂花漸欲迷人眼,說好的專注業務,你讓去看那些爛文檔。
serverless也讓技術的能力會下降,因為使用高端的技術,必然會產生各種綁定,廠商鎖定是離不了的話題,而且遷移的時候,不好說,除非各家廠商制定一個公共標準,就像容器。。。
serverless的開發模式也會改變很多習慣,就像原來都是可控的,現在發現並不是,都在雲廠商手裡,想去一探究竟,那麼基本上是不會開放的,你只能看到你自己打的日誌。
在技術浪潮面前,要麼被幹掉,要麼就幹點什麼。。。
大學不經歷一次掛科,是不完美。。。在公司裡,不被開除一次也是不完美的,不被PIP一次也是不完美,不被PUA一次也是不完美的。。。因為經歷都是一種財富,因為經歷所以相信自己。