與在這個世界上已經存在了幾千年曆史的建築業相比,it業或者說軟體業幾十年的曆史顯得微不足道。但是it行業或許已經成為目前對于世界影響最大的行業之一,我們的生活和工作中随處都是軟體,可以說我們已經無法離開軟體生活。清晨,伴随着智能手機的鬧鈴起床,通過天氣軟體擷取今天的天氣确定是否需要攜帶雨具,吃過早餐離開家,這時家中的智能掃地機就開始定時清潔衛生了,上班路上可能打開了社交軟體看朋友們釋出的動态或者新聞事件,達到公司通過智能打卡機打卡上班,到達工位你打開了電子郵箱,開始了一天的工作...可以說軟體産品已經緊密地融入到了我們的生活和工作中。而且在未來,随着商業智能和人工智能的發展,軟體的範圍将會無限延伸。
未來,軟體開發人員的作用也将變得更加重要,有句話叫做“不想當将軍的士兵不是好士兵”,那麼在it界這句話就要換成“不想當cto的軟體工程師不是好程式員”,而對于一個開發人員而言,在成為cto之前還需要經曆無數的曆練,其中重要的一步就是從程式員成長為架構師。我們無法給架構下一個簡單的定義,因為任何定義都會束縛你對架構的無限想象。不可否認,架構師早已出現在人類幾千年前的各項生産活動中,比如建築、音樂。而在計算機軟體領域,架構的設計直接影響着系統的生産,比如開發過程和效率、代碼群組件複用性等,同時也影響着系統的可用性、可伸縮性、性能、容量可預測性等。在我看來,架構師其實就和建築業中的建築設計師一樣,他們負責規劃整個“産品”的“圖紙”,驗證各種設想的可能性,但是不會親自去“搬磚”建房子。想要成長為一名合格的軟體架構師,需要經過無數實戰的曆練,也需要在前行的路上不斷學習和總結。本文就為大家整理一些關于軟體架構的書籍,希望能夠在走向架構師的路上伴你前行。
<b>《設計原本:計算機科學巨匠frederick p.brooks的反思》 </b>—— frederick p.brooks jr.

如果說《人月神話》是近40年來所有軟體開發工程師和項目經理們必讀的一本書,那麼《設計原本:計算機科學巨匠frederick p.brooks的反思》将會是未來數十年内從事軟體行業的程式員、項目經理和架構師必讀的一本書。它是《人月神話》作者、著名計算機科學家、軟體工程教父、美國兩院院士、圖靈獎和ieee計算機先驅獎得主brooks畢生經驗的結晶。這本書從工程師和架構師的視角深入地探讨了設計的和過程,旨在提高産品的實用性與有效性,以及設計的效率和優雅性。全書共分為6個部分:第一部分主要讨論了什麼是設計、設計過程的思考、設計的類别、理性模型及其缺陷、以及對一些好的設計過程模型的探讨;第二部分主要讨論了協作設計與遠端協作;第三部分全面總結了設計中的各種原則、經驗和教訓,包括設計中理性主義與經驗主義、使用者模型、資源預算、限制、設計中的美學與風格、設計中的範本、設計的分離、設計的演變途徑和理由,以及專業設計者為何會犯錯;第四部分探讨了建築設計與計算機軟硬體設計在設計思想和方法上的一些共同點和不同之處;第五部分探讨了卓越的設計和卓越的設計師之間的關系;第六部分通過各個領域的各種類型的案例進行了分析和研究,旨在深刻揭示隐藏在這些案例背後不變的設計過程和思想。
<b>《架構之美》</b> —— diomidis spinellis, georgios gousios
健壯、優雅、靈活和易維護的軟體架構是怎樣煉成的?《架構之美》通過一系列優秀的文章回答了這個問題,這些文章來自于十幾位當今一流的軟體設計師和架構師。在每篇文章中,作者都向們展示了一個著名的軟體架構,并分析了什麼讓其具有創新性,讓其極其符合設計目标。《架構之美》圍繞5個主題領域來組織該書的内容:概述、企業應用、系統、終使用者應用和程式設計語言。《架構之美》讓優秀的設計師和架構師來描述他們選擇的軟體架構,剝開架構的各層,展示他們如何讓軟體做到實作功能、可靠、易用、高效率、可維護、可移植和優雅。那麼如何設計出美麗的架構呢?從代碼邏輯到實體網絡,從單機到分布式,無數的技術可供架構師選擇,如分層、元件化、服務化、标準化、緩存、分離、隊列、複制、備援、代理等,不過它們仍然隻是“術”的範疇,而何時何處如何恰到好處地使用它們才是“道”的範疇,比如頓悟變化的道理,在博弈中尋找平衡,以系統化的角度來分析問題,尋找相對與絕對的奧秘、開放的心态……
<b>《企業應用架構模式》</b> —— ma riin fowler
企業應用開發的實踐得益于多種新技術的出現,多層的面向對象平台已經日漸平常。這些新工具和新技術有能力建構更強大的企業應用程式,但是在實作上還不太容易。由于開發人員未能充分了解有經驗的對象程式開發人員在架構方面的經驗和教訓.是以企業應用中經常存在一些共同的錯誤。《企業應用架構模式》就是面向企業應用開發者的,可幫助他們迎接這種艱難挑戰,這本書的作者ma riin fowler注意到,盡管技術本身存在變化——從smalltalk到corba,再到java和.net,但基本的設計思想并沒有太多變化,可以加以适當調整,用來解決那些共同的問題。在一組專家級合作者的幫助下,作者将40多種經常出現的解決方案轉化成模式,最終寫成這本能夠應用于任何一種企業應用平台的、關于解決方案的、不可或缺的手冊。《企業應用架構模式》涉及兩部分内容。第一部分是關于如何開發企業應用的簡單介紹。在閱讀這部分時,讀者可以從頭到尾通讀。第二部分是《企業應用架構模式》的主體,是關于模式的詳細參考手冊,每個模式都給出使用方法和實作資訊,并配有詳細的java代碼或c#代碼的示例。此外,整本書中還用了大量uml圖來進一步闡明有關概念。
<b>《恰如其分的軟體架構》</b> —— george fairbanks
《恰如其分的軟體架構》描述了一種恰如其分的架構設計方法。作者建議根據項目面臨的風險來調整架構設計的成本,并從多個視角闡述了軟體架構的模組化過程和方法,包括用例模型、概念模型、域模型、設計模型和代碼模型等。本書不僅介紹方法,而且還對方法和概念進行了歸類和闡述,将軟體架構設計融入開發實踐中,與靈活開發方法有機地結合在一起,适合普通程式員閱讀。fairbanks把筆墨聚集在“恰如其分”的軟體架構上,這對于每一位想要使架構過程變得更容易的開發人員來說,都是極具吸引力的。《恰如其分的軟體架構》通過詳細的案例和建議,展示了如何用風險驅動來管理架構的建設和範圍,重點突出,易于了解。同時,作者提供了軟體架構學術方面的很多細節,這對那些對理論和實踐都很感興趣的開發人員非常有益。
<b>《架構即未來:現代企業可擴充的web架構、流程群組織》</b> —— martinl.abbott,michaelt.fisher
任何一個持續成長的公司最終都需要解決系統、組織和流程的擴充性問題。本書彙聚了作者超過30年的豐富經驗, 全面闡釋了經過驗證的資訊技術擴充方法,對所需要掌握的産品和服務的平滑擴充做了詳盡的論述,并更新了擴充的政策、技術和案例。針對技術和非技術的決策者, martinl.abbott和michaelt.fisher詳盡地介紹了影響擴充性的各個方面,包括架構、過程、組織和技術。通過閱讀本書,你可以學習到以*大化靈活性和擴充性來優化組織機構的新政策,以及對雲計算(iaas/paas)、nosql、devops和業務名額等的新見解。而且利用其中的工具和建議,你可以系統化地清除擴充性道路上的障礙,在技術和業務上取得前所未有的成功。《架構即未來》這本書凝聚作者多年來在不同的網際網路公司工作和咨詢過程中積累的豐富經驗,從人、過程、技術三個角度深刻而廣泛地讨論了技術管理和技術架構的具體實踐經驗,強調了組織、人員、過程和技術的*佳配合,深入淺出地分析了在技術管理過程中經常遇到的各種具體問題,既講解理論,也佐以執行個體,讓讀者可以系統地獲得關于技術管理和技術架構方面的知識和經驗。
<b>《大型網站技術架構 核心原理與案例分析 》</b> —— 李智慧
《大型網站技術架構 核心原理與案例分析 》 通過梳理大型網站技術發展曆程,剖析大型網站技術架構模式,深入講述大型網際網路架構設計的核心原理,并通過一組典型網站技術架構設計案例,為讀者呈現一幅包括技術選型、架構設計、性能優化、web 安全、系統釋出、運維監控等在内的大型網站開發全景視圖。這本書不僅适用于指導網站工程師、架構師進行網站技術架構設計,也可用于指導産品經理、項目經理、測試運維人員等了解網站技術架構的基礎概念;還可供包括企業系統開發人員在内的各類軟體開發從業人員借鑒,了解大型網站的解決方案和開發理念。
這本書作者是阿裡巴巴網站建構的親曆者,擁有核心技術部門的一線工作經驗,直接體驗了大型網站建構與發展過程中的種種生與死,蛻與變,見證了一個網站架構從幼稚走向成熟穩定的曆程。沒有晦澀難懂的術語,沒有诘屈聱牙的文句,沒有故弄玄虛的觀點……明明白白的語句,清清楚楚的文法,幹淨利落的建議——讓讀者直接體會網站架構的緊要處,不容馬虎的關鍵點。
<b>《億級流量網站架構核心技術》</b> —— 張開濤
《億級流量網站架構核心技術》全稱《億級流量網站架構核心技術——跟開濤學搭建高可用高并發系統》,這本書總結并梳理了億級流量網站高可用和高并發原則,通過執行個體詳細介紹了如何落地這些原則。本書分為四部分:概述、高可用原則、高并發原則、案例實戰。從負載均衡、限流、降級、隔離、逾時與重試、復原機制、壓測與預案、緩存、池化、異步化、擴容、隊列等多方面詳細介紹了億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐項目中。不管是軟體開發人員,還是運維人員,通過閱讀《億級流量網站架構核心技術》都能系統地學習實作億級流量網站的架構核心技術,并收獲解決系統問題的思路和方法。如何建構高并發、大流量的系統,不是架構師閉門造車想出來的,是線上實際的使用者流量檢驗的。本書通過大量的實踐案例,告訴讀者如何架構高并發,大流量的網站系統,書中不光有理論探讨,也有大量的實際案例。
<b>《架構真經:網際網路技術架構的設計原則》</b> —— martin l.abbott
《架構真經:網際網路技術架構的設計原則》 是經典著作《架構即未來》的姊妹篇,聚焦于技術架構本身,提供50條久經考驗的網際網路技術架構原則,幾乎可以支援任何高速增長公司的擴充。矽谷著名網際網路企業首席技術官和技術主管現身說法,生動形象地呈現“規則背後的故事”,便于讀者了解并運用這些規則解決實際工作中所面臨的挑戰。該版全面更新以反映新的技術趨勢和經驗,而且更容易閱讀、了解和應用。通過etsy、納斯達克、salesforce、shutterfly、chegg、warby parker、推特等著名網際網路企業首席技術官和技術主管現身說法,以易于了解的方式,生動且形象地呈現“規則背後的故事”。通過閱讀本書,在完成并評價技術設計方面,架構師将學到有效的非技術洞見。開發人員會學到從資料庫到會話狀态的處理技巧。管理人員将在設定目标、做出決策以及與技術團隊互動方面得到有益的幫助。無論什麼角色,都會得到關于風險與利益平衡的實用指導,通過設定優先級,把計劃付諸行動,進而以低成本獲得比較大的可擴充性。
<b>《devops:軟體架構師行動指南 》</b> —— len bass,ingo weber
devops為加速新軟體功能的釋出和改善對生産環境系統的監控帶來了希望,但是對軟體架構師和軟體架構來說,devops的關鍵意義卻常常被忽視。《devops:軟體架構師行動指南 》全面解決了這些問題,不僅剖析了軟體架構師為實作devops目标必須要做出的決策,并且說明了devops的其他參與者有可能以哪種方式來影響架構師的工作,還詳細介紹了高效部署devops所需要的組織、技術和營運環境,以及devops對每個開發階段的影響。作者解決了把多個功能關聯起來的橫切關注點問題,提供了對合規性、性能、可靠性、可重複性和安全方面的切合實際的洞察。橫看成嶺側成峰,遠近高低各不同”。當我們愈是從不同角度和層面解讀devops,就有機會愈加接近devops的本質,并正确地指導企業經營和技術實踐。本書少有的從軟體架構層面系統性地闡述devops,令人耳目一新并大呼過瘾。
<b>《盡在雙11 阿裡巴巴技術演進與超越 》 </b>—— 阿裡巴巴集團雙⒒技術團隊
“雙 11”,誕生于杭州,成長于阿裡,風行于網際網路,成就于新經濟,貢獻于全世界。從 2009 年商城起,雙 11 已曆經八年。每年的雙 11 既是當年的結束,又是走向未來的起點。技術的突破創新,商業模式的更替互動,推動着雙 11 邁步向前。《盡在雙11——阿裡巴巴技術演進與超越》是迄今由阿裡巴巴集團官方出品、全面闡述雙 11 八年以來在技術和商業上演進和創新曆程的書籍。内容涵蓋在雙 11 背景下阿裡技術架構八年來的演進,如何確定穩定性這條雙 11 生命線的安全和可靠,技術和商業交織發展的曆程,無線和互動的持續創新與突破,以及對商家的賦能和生态的促進與繁榮。這本書主要面向廣大網際網路技術和商業從業者,内容包括基礎設施、雲計算、大資料、ar/vr、人工智能、物聯網等技術領域的剖析,以及在電商、金融、客服、物流等商業層面的洞察;同時也可以作為了解科技與商業最新發展的一個視窗,供科研人員和高校在校師生參考。《盡在雙11——阿裡巴巴技術演進與超越》也包含豐富的雙 11 發展曆程中的故事性片段,生動有趣,可讀性強,讀者可以在由衷感歎雙 11 背後艱辛的演進曆程之餘,更為透徹地體會到阿裡人在技術和商業創新上堅韌不拔、矢志不渝的精神。