從結(jié)繩記事到云端計(jì)算,,計(jì)算工具的演化經(jīng)歷了由簡(jiǎn)單到復(fù)雜、從低級(jí)到高級(jí)的不同階段,,貫穿始終的是人們一直在試圖用人力以外的力量,,簡(jiǎn)化人的工作,提升生產(chǎn)與生活的效能,。然而,,“科學(xué)每解決一個(gè)問題,都要引發(fā)十個(gè)新問題”,。軟件定義了一個(gè)無限美好的未來,,卻將人們拖入充滿泥淖的現(xiàn)實(shí)。 雖然摩爾定律早就揭示了硬件進(jìn)化的潛力,,《沒有銀彈》卻告訴我們一個(gè)冰冷的現(xiàn)實(shí):沒有任何一項(xiàng)技術(shù)或方法可以能讓軟件工程的生產(chǎn)力在十年內(nèi)提高十倍,。數(shù)以百萬計(jì)的軟件從業(yè)者每天創(chuàng)造著浩如煙海的軟件代碼,卻使得軟件這一計(jì)算機(jī)的靈魂變得越來越紛繁復(fù)雜,。 其實(shí)軟件本應(yīng)是美的,,而美的軟件應(yīng)該是簡(jiǎn)單的,正所謂道生一,,一生二,,二生三,,三生萬物。 簡(jiǎn)單獲得的體驗(yàn)之美 “(軟件之美)在于它的功能,,在于它的內(nèi)部結(jié)構(gòu),,在于團(tuán)隊(duì)創(chuàng)建它的過程?!比欢赖膬r(jià)值最終在于體驗(yàn),,風(fēng)景在旁人看不到它的時(shí)候,便不能算是“風(fēng)景”,。 Gartner為我們預(yù)言了一個(gè)人,、物和商業(yè)深度連接的世界,在這樣的世界中,,因?yàn)樵朴?jì)算技術(shù)和架構(gòu)的演進(jìn)和發(fā)展,軟件的體驗(yàn)正在如同水電一樣無關(guān)基礎(chǔ),,即用即得,;移動(dòng)終端的廣泛應(yīng)用,讓人們可以無關(guān)時(shí)空,,隨時(shí)隨地的獲得功能和應(yīng)用的交付,,而在這些功能和交付的背后,不再需要?jiǎng)虞m以千萬計(jì)的龐大團(tuán)隊(duì)作為支撐,,DevOps和微服務(wù)滿足了應(yīng)用的碎片化,,時(shí)間的碎片化,人們關(guān)注度的碎片化,,使軟件的生產(chǎn)能力可以給予客戶所需要的即得感,,企業(yè)和組織可以以“周”或以“天”甚至以“分”為單位快速實(shí)驗(yàn)和探索,在不斷嘗試中獲得更加契合客戶需求的軟件,。讓軟件表達(dá)出簡(jiǎn)單獲得的體驗(yàn)之美,。 簡(jiǎn)單創(chuàng)造的價(jià)值之美 程序員們?nèi)找岳^夜,詮釋著披星戴月的含義,,卻不斷的沉淪在重復(fù)搭建環(huán)境,、重復(fù)系統(tǒng)部署、重復(fù)環(huán)境驗(yàn)證,、重復(fù)代碼開發(fā)等等的煉獄之中,,“感覺身體被掏空”的絕望如影隨形。人類發(fā)明并建造計(jì)算機(jī),,努力對(duì)其開發(fā)和優(yōu)化,,是為了讓計(jì)算機(jī)可以更好地理解人類行為,模擬人類的學(xué)習(xí)和表達(dá)過程,;在智能時(shí)代,,計(jì)算機(jī)的認(rèn)知能力開始超越人類的個(gè)體經(jīng)驗(yàn),,甚至可以為人類行為提供幫助和預(yù)測(cè)。 DevOps,、ChatOps,、OpsDev讓生產(chǎn)運(yùn)營(yíng)者做到聊天式的開發(fā)運(yùn)維一體化,讓提供者做到自動(dòng)化的部署供給,,讓消費(fèi)者做到自助式的開通使用,,讓程序員輕松地超越極限,充分釋放自己的智力,、想象力和創(chuàng)造力,,從碼農(nóng)成為商業(yè)價(jià)值的創(chuàng)造者,讓軟件迸發(fā)出簡(jiǎn)單創(chuàng)造的價(jià)值之美,。 簡(jiǎn)單架構(gòu)的設(shè)計(jì)之美 《營(yíng)造法式》為中國(guó)古建筑的結(jié)構(gòu)設(shè)計(jì),、工程管理奠定了基礎(chǔ),燦若星辰的中國(guó)古典園林體現(xiàn)了建筑執(zhí)著于簡(jiǎn)單的美學(xué)理念,,磚,、瓦、琉璃與建筑構(gòu)件,,以最簡(jiǎn)化的分解讓沒有生命的木方泥胎誕生了橫亙古今的美感,。軟件體系的“營(yíng)造法式”卻仍舊“立而望之,偏何姍姍其來遲,?!薄?/p> 出于項(xiàng)目實(shí)施時(shí)間,、投入資源等方面的限制,,大型軟件往往以實(shí)現(xiàn)若干個(gè)具體的用戶功能需求為目標(biāo)。日復(fù)一日,,隨著用戶功能要求的變化,,軟件變得面目全非。任何系統(tǒng),,在自然情況下,,都是從有序到無序,但生物可以通過和外界交互,,主動(dòng)進(jìn)行新陳代謝,,繼續(xù)生存。軟件系統(tǒng)隨著功能越來越多,,調(diào)用量急劇增長(zhǎng),,整個(gè)系統(tǒng)逐漸碎片化,越來越無序,最終無法維護(hù)與擴(kuò)展,,人們沒有時(shí)間,,也沒有精力去追求軟件的美學(xué)目標(biāo)。所以系統(tǒng)在一段時(shí)間后必須即時(shí)干預(yù),,避免野蠻生長(zhǎng),。然而大型軟件項(xiàng)目已成為大量代碼的隨機(jī)而無序的堆積。工程師一旦完成項(xiàng)目,,就恐避之不及,,不愿再去碰自己幾個(gè)月來夜以繼日的勞動(dòng)成果。 架構(gòu)的本質(zhì)就是讓系統(tǒng)開發(fā),、維護(hù)變得有序,,而好的架構(gòu)一定是高度抽象的、易于理解的,、合理定位的,、整合有機(jī)的、面向未來的,。微服務(wù)架構(gòu)模式將大型的,、復(fù)雜的、長(zhǎng)期運(yùn)行的應(yīng)用程序構(gòu)建為一組相互配合的服務(wù),,每個(gè)服務(wù)都可以很容易得到局部改良。讓軟件折射出簡(jiǎn)單架構(gòu)的設(shè)計(jì)之美,。 簡(jiǎn)單協(xié)作的生態(tài)之美 “我住長(zhǎng)江頭,,君住長(zhǎng)江尾。日日思君不見君,,共飲長(zhǎng)江水,?!逼髽I(yè)IT中,,戰(zhàn)略與實(shí)現(xiàn)的鴻溝,,業(yè)務(wù)與技術(shù)的鴻溝,,開發(fā)與運(yùn)維的鴻溝,,讓協(xié)作的各方難以互相理解和交流,。對(duì)于開發(fā)團(tuán)隊(duì)與運(yùn)維團(tuán)隊(duì)而言,,世界上最遠(yuǎn)的距離,,不是我站在你的對(duì)面你卻聽不到我的話,,而是我和你要了蘋果7代,,你卻給了我7袋蘋果。DevOps提倡開發(fā)和IT運(yùn)維之間的高度協(xié)同,,從而在完成高頻率部署的同時(shí),,提高生產(chǎn)環(huán)境的可靠性、穩(wěn)定性、彈性和安全性,。 通過縱向協(xié)作,,DevOps強(qiáng)調(diào)的重點(diǎn)是跨工具鏈的「自動(dòng)化」,最終實(shí)現(xiàn)全部人員的「自助化」服務(wù),。 通過橫向協(xié)作,,DevOps強(qiáng)調(diào)的重點(diǎn)是跨團(tuán)隊(duì)的「線上協(xié)作」,也即是通過IT系統(tǒng),,實(shí)現(xiàn)信息的「精確傳遞」,。 DevOps不僅打通了開發(fā)運(yùn)維之間的部門墻,更實(shí)現(xiàn)了應(yīng)用全生命周期的工具鏈路打通,、跨團(tuán)隊(duì)的線上協(xié)作能力,,讓軟件衍生出簡(jiǎn)單協(xié)作的生態(tài)之美。 軟件本應(yīng)是美的,,消費(fèi)者的體驗(yàn),,工程師的價(jià)值,架構(gòu)師的設(shè)計(jì),,部門間的生態(tài),,無不因簡(jiǎn)而實(shí),因簡(jiǎn)而預(yù),,因簡(jiǎn)而美,。因此,本期《架構(gòu)師》,,我們?cè)噲D在技術(shù)的極簡(jiǎn)美學(xué)方面作一些嘗試和分享,。如何通過元數(shù)據(jù)這種“數(shù)據(jù)的數(shù)據(jù)”來抽象和簡(jiǎn)化微服務(wù)架構(gòu)認(rèn)知的維度;如何用簡(jiǎn)單的幾種模式,,看透數(shù)據(jù)的最終一致性,;如何將DevOps軟件交付的過程和環(huán)節(jié),映射為最簡(jiǎn)單的企業(yè)IT生產(chǎn)元素,;如何用幾條簡(jiǎn)單的規(guī)則,,來衡量選擇開源架構(gòu)的得失,簡(jiǎn)而言之如何確立數(shù)字化時(shí)代的軟件技術(shù)架構(gòu),。 我們今年一直在嘗試做一件事,,用開放和分享,來簡(jiǎn)化技術(shù)創(chuàng)新的過程,,我們將面向商用的企業(yè)級(jí)云計(jì)算平臺(tái)的設(shè)計(jì)文檔,,過程文檔,技術(shù)思考,,通過社群和公眾平臺(tái)的方式全面開放和分享,,期待更多的身處企業(yè)IT環(huán)境的工程師和架構(gòu)師,,可以和我們一起,追尋軟件的初心,,尋求軟件之美,,合作創(chuàng)新,讓未來觸手可及,。 至言不繁,,大道至簡(jiǎn)。 迷你書目錄 技術(shù)選型 云平臺(tái)的微服務(wù)治理框架 云平臺(tái)的基礎(chǔ)消息處理架構(gòu) 洞察 談DevOps對(duì)于企業(yè)IT的價(jià)值 談元數(shù)據(jù)驅(qū)動(dòng)的微服務(wù)架構(gòu) 技術(shù)實(shí)踐 基于微服務(wù)架構(gòu)的技術(shù)實(shí)踐 談API網(wǎng)關(guān)的背景,、架構(gòu)以及落地方案 實(shí)施DevOps從哪里開始,? 下載方式 |
|