大部分人更關(guān)心如何在股市投資上成功,查理·芒格最關(guān)心的卻是為什么在股市投資上大部分人都失敗了。這是《窮查理寶典》中關(guān)于芒格思維的大致刻畫。
在芒格漫長的一生中,他持續(xù)不斷地收集并研究各種各樣的失敗案例,并把失敗的原因總結(jié)成做出正確決策前的檢查清單,這使他在人生、事業(yè)的決策上幾乎從不犯重大錯誤。我們對云上應(yīng)用的設(shè)計也應(yīng)如此,需要通過對各類故障進行分析,獲得架構(gòu)設(shè)計最佳實踐這里的最佳指的是犯最少的錯誤。
筆者還記得自己剛剛接手上云遷移業(yè)務(wù)時,有一個重要客戶的線上商城應(yīng)用上線僅僅 5 秒,就因為大量用戶的爭相訪問及黃牛搶票軟件的瘋狂刷票而變得不可用。筆者當(dāng)時就在想,要是有一本書,可以體系化地介紹在應(yīng)用上云過程中需要考慮的方方面面,并且能結(jié)合實際案例把這些說清楚,就太好了!于是,筆者萌生了撰寫本書的想法。
在后續(xù)的工作中,隨著幫助越來越多的客戶將原先的傳統(tǒng)應(yīng)用遷移上云,筆者逐步積累了云上應(yīng)用知識體系,并且慢慢接觸到了應(yīng)用上云的各種案例固然有許多通過應(yīng)用上云改造支撐海量用戶的正面案例,但更多的是反面案例因為在應(yīng)用上云的設(shè)計或流程上沒有做到位。通過對各種反面案例進行分析,我們能夠更好地設(shè)計和優(yōu)化云上應(yīng)用,使其滿足高可用、高并發(fā)、安全和可運維的要求。
有了ChatGPT后,還有沒有必要讀書
在撰寫本書期間,以ChatGPT為首的大語言模型逐步興起,它們對世界知識的概括和抽象使人們逐漸產(chǎn)生一個疑問:有了ChatGPT后,還有沒有必要讀書?人們可以便捷地通過提問從大語言模型中獲取任何需要的知識,那讀書還有什么意義?
筆者在實際使用大語言模型的過程中發(fā)現(xiàn),大語言模型的確可以快速、準(zhǔn)確地給出我們需要的知識點,但對于應(yīng)用上云改造這樣的領(lǐng)域,大家真正需要的不是一個個知識點,而是一套完整的知識體系,這樣的知識體系是ChatGPT遠遠無法給出的。讀者在工作中遇到相關(guān)問題時,可以通過查詢知識體系在諸多方案中選擇最合適的解決方案,從全局的視角給出最優(yōu)解。而大語言模型更多地基于關(guān)鍵詞提問得出局部最合適的答案。
總結(jié)出完整的上云知識體系也是筆者撰寫本書的一大初衷。結(jié)合這套知識體系和大語言模型的知識抽象能力、檢索能力,筆者希望可以快速幫助讀者在今后的應(yīng)用上云工作中解決實際的問題。有了 ChatGPT后,我們其實更需要去閱讀那些體系化的圖書,為自己構(gòu)建領(lǐng)域知識體系,方便后續(xù)更好地使用ChatGPT。希望大家明確結(jié)構(gòu)比內(nèi)容更重要。
如何理解應(yīng)用架構(gòu)設(shè)計
對應(yīng)用架構(gòu)設(shè)計的講解往往是一大難點。如果單純地講解理論知識,則會顯得非常枯燥乏味,讀者也很難將其與實際工作相結(jié)合。同時,讀者往往覺得架構(gòu)是過于抽象甚至有些縹緲的概念,聽著好像懂了,但遇到實際問題時還是手足無措。
其實,應(yīng)用架構(gòu)設(shè)計有點兒像老子所說的道可道,非常道。筆者無法直接把觀點灌輸給讀者,而需要讀者通過實際的場景自行理解、領(lǐng)悟。這也是為什么筆者花費了大量的精力為本書搜集和整理了眾多實際案例。筆者希望通過實際案例帶領(lǐng)讀者進入當(dāng)時的場景,通過對實際案例的分析更進一步地鞏固那些體系化的知識點。當(dāng)然,為了避免糾紛,本書對實際案例做了脫敏處理。
架構(gòu)師在日常工作中的真正價值是什么
其實本書所寫的是云上應(yīng)用的理想國,在現(xiàn)實中,它的實現(xiàn)難度非常大,而且需要各方面資源的配合很多真正需要這種先進架構(gòu)的應(yīng)用都面臨著各種歷史遺留問題,還有大量的應(yīng)用并不需要先進、全面的架構(gòu),而只需要做好某些基礎(chǔ)設(shè)計即可;诖,為架構(gòu)設(shè)計做最適合的選擇,正是架構(gòu)師真正價值的體現(xiàn)。
筆者覺得架構(gòu)師的成長分為三個階段。
(1)剛開始的第一階段,積累了某些技術(shù)的理論知識和實操經(jīng)驗,并且可以就這些技術(shù)點及案例進行分享,也就是所謂的見而識之。
(2)隨著工作中的逐步積累,架構(gòu)師逐步進入第二階段,形成了體系化的技術(shù)框架。如果拿醫(yī)生做比喻,那么這個階段的架構(gòu)師仿佛擁有了自己的醫(yī)書。但架構(gòu)師實際需要解決的病患問題千差萬別,醫(yī)書只能指明最終目標(biāo)。
(3)處于第三階段的優(yōu)秀架構(gòu)師會因為其更了解業(yè)務(wù)且更有經(jīng)驗,而能夠厘清從現(xiàn)狀到最終目標(biāo)的最佳路徑。一個經(jīng)歷過實際項目錘煉的架構(gòu)師,還有能力將路徑分拆為多個里程碑,并且為每個里程碑設(shè)定具體的驗收指標(biāo),量化控制進程。
大部分技術(shù)人員經(jīng)常會聽到某些架構(gòu)師說應(yīng)用應(yīng)該這樣、應(yīng)該那樣,聽的時候覺得他們說的都對,但有些東西又說不上哪里別扭。其實這就是典型的處于第二階段的架構(gòu)師給人的感覺,他們累積了一定的技術(shù)體系,形成了自己的醫(yī)書,但由于缺乏實際的操作經(jīng)驗,所以不知道通往理想架構(gòu)的路徑是什么樣的,也就是我們常說的不接地氣。優(yōu)秀的架構(gòu)師有點兒像經(jīng)驗豐富的主治醫(yī)生,他們能彌合現(xiàn)實與理想的縫隙,找到通往成功的最佳路徑,平衡效能和成本。
請讀者們始終記。鹤钸m合的架構(gòu)才是最好的架構(gòu),好的醫(yī)生比好的醫(yī)書更重要。
賀阮
攻讀博士期間的主要研究方向是云計算安全。曾先后任OpenStack基金會董事、ISO/IEC JTC1/SC38和ISO/IEC JTC1/SC27標(biāo)樣委員會委員、聯(lián)合國國際電信聯(lián)盟(ITU)云計算安全組副報告人,以及多個云計算學(xué)術(shù)會議、期刊編輯等職位,從各個維度見證了云計算行業(yè)的發(fā)展。
史冰迪
2015年畢業(yè)于中央財經(jīng)大學(xué)計算機科學(xué)與技術(shù)專業(yè),現(xiàn)任職于中國信息通信研究院,從事政務(wù)信息化項目管理工作,從另一個方向繼續(xù)在政務(wù)信息化方向發(fā)力,不斷努力將電子政務(wù)、數(shù)字政府等工作與各類新技術(shù)結(jié)合。
陸佳亮
上海交通大學(xué)巴黎卓越工程師學(xué)院副院長,上海市科學(xué)技術(shù)委員會入庫評審專家,承擔(dān)國家自然科學(xué)基金、上海市創(chuàng)新行動科研項目等重大項目。主要研究方向是人工智能賦能、云計算、大數(shù)據(jù)系統(tǒng)。