這是去年年初的總結(jié)郵件姐扮;希望看到一些改變絮供。
每年底我都會(huì)總結(jié)這一年,做了什么事情茶敏,是否有價(jià)值壤靶;技術(shù)是否解決實(shí)際問題,帶來(lái)業(yè)務(wù)價(jià)值惊搏;是否能跟上現(xiàn)在的技術(shù)潮流贮乳。
下面是這一年我看到技術(shù)圈的變化,和我自己的技術(shù)經(jīng)歷胀屿;總結(jié)我看到和想到的一些變化和方向塘揣。
我擅長(zhǎng)的技術(shù)一直都是基礎(chǔ)設(shè)施領(lǐng)域,在這個(gè)領(lǐng)域經(jīng)歷過(guò)創(chuàng)業(yè)宿崭、小中型和大型公司;從物理機(jī)到虛擬機(jī)才写,再到云和k8s葡兑。
我理解的基礎(chǔ)設(shè)施,不只是服務(wù)器管理赞草;是各種云(AWS讹堤,阿里云,騰訊云等)背后的或者說(shuō)業(yè)務(wù)層面以下的各種技術(shù)和服務(wù)厨疙。
基礎(chǔ)設(shè)施領(lǐng)域是個(gè)高度開源和技術(shù)主導(dǎo)的領(lǐng)域洲守;基礎(chǔ)設(shè)施越強(qiáng)大,業(yè)務(wù)的擴(kuò)展性和靈活性越強(qiáng)沾凄。越能跳出資源的限制梗醇,業(yè)務(wù)越能從摘取低垂果實(shí)去攀登更高的業(yè)務(wù)價(jià)值∪鲶埃基礎(chǔ)設(shè)施領(lǐng)域任何創(chuàng)新可能會(huì)帶來(lái)業(yè)務(wù)層的蝴蝶效應(yīng)叙谨。
再說(shuō)下專注的技術(shù)方向是容器和k8s;k8s被稱為云操作系統(tǒng)保屯,是基礎(chǔ)設(shè)施的基礎(chǔ)手负。之前在一家初創(chuàng)公司,公司花費(fèi)將近半年時(shí)間的技術(shù)開發(fā)姑尺;構(gòu)建一個(gè)商業(yè)管理平臺(tái)竟终,后來(lái)越做越像k8s,最后廢棄這個(gè)項(xiàng)目切蟋,開發(fā)能力轉(zhuǎn)向k8s统捶。一家初創(chuàng)公司,花費(fèi)大量人力嘗試后轉(zhuǎn)向k8s;到現(xiàn)在k8s開發(fā)維持著個(gè)龐大團(tuán)隊(duì)瘾境。k8s是未來(lái)歧杏,也是現(xiàn)在。
總結(jié)和歸納了幾點(diǎn)迷守。
對(duì)基礎(chǔ)設(shè)施的認(rèn)識(shí)需要更新
基礎(chǔ)設(shè)施決定上層建筑犬绒。容器自docker從2013年開始,短短六年改變業(yè)界兑凿,進(jìn)入容器時(shí)代凯力;在基礎(chǔ)設(shè)施領(lǐng)域,如果沒有普適性礼华,任何設(shè)施很難有這兒快的傳導(dǎo)性咐鹤。 微服務(wù)架構(gòu)的流行無(wú)不因?yàn)閗8s這樣的基礎(chǔ)設(shè)施存在。?
容器實(shí)現(xiàn)資源的可定制性圣絮,k8s實(shí)現(xiàn)基礎(chǔ)實(shí)施即代碼祈惶;現(xiàn)在說(shuō)的比較火的云原生,技術(shù)上就是所有的一切在云和k8s內(nèi)完成扮匠,完全脫離具體的物理資源捧请。Infrastructure as Code(基礎(chǔ)設(shè)施即代碼)。?
在k8s之前棒搜,大部分公司不會(huì)圍繞基礎(chǔ)設(shè)施來(lái)開發(fā)疹蛉;基礎(chǔ)設(shè)施領(lǐng)域都是自己玩自己的,構(gòu)建發(fā)布系統(tǒng)力麸、發(fā)布流程管理系統(tǒng)可款、作業(yè)系統(tǒng)、配置管理系統(tǒng)克蚂、系統(tǒng)初始化管理系統(tǒng)闺鲸、資源管理系統(tǒng)等各種系統(tǒng);這些方式在容器時(shí)代不能滿足高度自動(dòng)化智能化微服務(wù)化的業(yè)務(wù)需求陨舱。
這兩三年大部分互聯(lián)網(wǎng)公司內(nèi)部都在建設(shè)自己的技術(shù)平臺(tái)(或者是技術(shù)中臺(tái))翠拣;都是利用k8s,實(shí)現(xiàn)業(yè)務(wù)和基礎(chǔ)設(shè)施之間的耦合游盲。
基礎(chǔ)設(shè)施和開發(fā)框架融合
和開發(fā)框架結(jié)合是未來(lái)趨勢(shì)误墓;業(yè)務(wù)層專注在業(yè)務(wù)邏輯本身上,不再受限于基礎(chǔ)設(shè)施益缎。
基礎(chǔ)設(shè)施來(lái)完成橫向和縱向等各種個(gè)性化資源擴(kuò)展谜慌。就是業(yè)務(wù)層不再感知基礎(chǔ)設(shè)施層,基礎(chǔ)設(shè)施層通過(guò)自身數(shù)據(jù)和框架數(shù)據(jù)來(lái)調(diào)度業(yè)務(wù)層莺奔。
我之前所在的騰訊互娛部門關(guān)于基礎(chǔ)設(shè)施和框架層的變遷欣范;騰訊互娛兩個(gè)基礎(chǔ)部門都是上千人;一個(gè)負(fù)責(zé)傳統(tǒng)基礎(chǔ)設(shè)施領(lǐng)域;一個(gè)負(fù)責(zé)框架層面恼琼;在2017年兩個(gè)部門合并妨蛹;業(yè)務(wù)層之下的能力進(jìn)行統(tǒng)一。
Services Mesh和Serviceless是現(xiàn)在業(yè)界的方向晴竞。
Services Mesh蛙卤,即服務(wù)網(wǎng)格;通過(guò)在容器內(nèi)添加一個(gè)代理容器噩死,把業(yè)務(wù)的網(wǎng)絡(luò)調(diào)用從代碼里面抽離出來(lái)颤难,通過(guò)基礎(chǔ)設(shè)施來(lái)完成。這個(gè)代理容器即可以看做基礎(chǔ)設(shè)施已维,也可以看做框架行嗤。
Serviceless,即無(wú)服務(wù)架構(gòu)垛耳;云函數(shù)(FaaS)等栅屏;業(yè)務(wù)的邏輯函數(shù)和框架分離,框架和基礎(chǔ)設(shè)施融合艾扮;用戶的請(qǐng)求先到框架層既琴,框架統(tǒng)一來(lái)路由,分配資源泡嘴。
基礎(chǔ)設(shè)施的專業(yè)度越來(lái)越高
基礎(chǔ)設(shè)施領(lǐng)域技術(shù)含量越來(lái)越高,技能越來(lái)越專業(yè)化逆济。從云開始酌予,基礎(chǔ)設(shè)施不再單單管理服務(wù)器,單點(diǎn)問題不再是業(yè)務(wù)和資源的痛點(diǎn)奖慌。
對(duì)應(yīng)的高可用抛虫、高并發(fā)、大數(shù)據(jù)简僧、自動(dòng)化建椰、智能化、AI化的相關(guān)技術(shù)方案岛马,都是在基礎(chǔ)設(shè)施領(lǐng)域棉姐。圍繞著這些技術(shù)方案的使用、開發(fā)和維護(hù)技能都是極度專業(yè)化啦逆。
基礎(chǔ)設(shè)施的完善度越高伞矩,業(yè)務(wù)的花在基礎(chǔ)設(shè)施的時(shí)間越短,自由度越高夏志。
云化乃坤,集中化;規(guī)模優(yōu)勢(shì)
云開始之后,集中化才能體現(xiàn)技術(shù)和規(guī)模優(yōu)勢(shì)湿诊∮埽基礎(chǔ)設(shè)施不是大力出奇跡的地方,只有不斷迭代的結(jié)合業(yè)務(wù)特性才能做出適合公司不同時(shí)期需求的技術(shù)平臺(tái)厅须。
反面例子是騰訊仿畸;賽馬機(jī)制的業(yè)務(wù)主導(dǎo)下,導(dǎo)致技術(shù)建設(shè)嚴(yán)重滯后九杂。
開源
開源才是未來(lái)颁湖;尤其是云和容器時(shí)代,大部分的解決方案都需要配套設(shè)施例隆,而依賴的配套設(shè)施甥捺,一般是另外的開源方案。大部分的開源軟件版本迭代快镀层。版本和功能大部分采用逐步迭代支持镰禾,而不是之前的買斷性方式。依托在開源生態(tài)的商業(yè)軟件大多采用鎖定支持版本唱逢,更新一般不及時(shí)吴侦。
現(xiàn)在有些激進(jìn)的開源基礎(chǔ)組件,不再提供部署包坞古,只提供容器部署和使用方式备韧。
k8s的技術(shù)圈子是高度開源和開放的;每家公司會(huì)在各種技術(shù)大會(huì)上分享自家的技術(shù)方案痪枫,但是每家的業(yè)務(wù)形態(tài)不一樣织堂,建設(shè)思路不一樣。業(yè)界已經(jīng)形成技術(shù)循環(huán)奶陈,分享==》借鑒==》引進(jìn)開發(fā)==》再分享易阳。
招聘
k8s在2017年才成為容器編排的事實(shí)標(biāo)準(zhǔn)。圍繞k8s建設(shè)技術(shù)中臺(tái)的大部分公司的相關(guān)部門吃粒,一般是建設(shè)階段潦俺,人員都是擴(kuò)編狀態(tài);對(duì)這個(gè)領(lǐng)域的人才渴求都是非常強(qiáng)烈徐勃。
大部分公司對(duì)人才的要求大都只是本科事示,無(wú)學(xué)校和名企要求;招人難度大疏旨。
Ps很魂,從側(cè)面說(shuō)下,如果招聘時(shí)說(shuō)我們是微服務(wù)檐涝,敏捷開發(fā)遏匆;業(yè)務(wù)都在容器里面跑法挨,面試者會(huì)對(duì)公司加分。