天天看點

上雲、微服務化和DevOps,少走彎路的辦法

本文由  網易雲 釋出。

作者:張亮

如果說一個項目的發展曆程就像一段未知的旅程,那《雲原生應用架構實踐》就像一張地圖,基于前人的探索标明了在這段旅途中将會碰到的障礙,并注明了越過這些障礙的方法

最近,利用碎片化的時間把團隊寫的《雲原生應用架構實踐》通讀了一遍。

作為一個解決方案架構師,我感覺收獲很多,主要是對雲原生架構有了一個系統的認識,并了解了一個從無到有、從小到大的項目,在整個成長過程中可能碰到的問題,以及解決這些問題的思路、方法和工具。

這本書首先介紹了雲原生架構的發展曆程,解釋了企業為什麼要采用原生架構。然後以一個業務通常的發展路徑(即從無到有、快速成長到比較穩定的大型應用)為例,講述在各個階段的不同業務目标下,企業在可用性、可擴充性、可維護性、安全性等方面的需求,結合網易實際業務的經驗,給出了建議,并講解了常見的技術和工具。

如果說一個項目的發展曆程就像一段未知的旅程,那麼這本書就像一張地圖,标明了在這段旅途中将會碰到的障礙,并且注明了用什麼辦法去越過這些障礙。而且這張地圖是别人已經走過一遍的,是以這些問題不是憑空想象出來的,而解決這些問題的經驗,也都是花費了很多時間,進行了大量測試,在不斷疊代不斷改進之後得到的。對于拿到這份地圖的人來說,一路的障礙并沒有減少,但卻可以少走很多彎路,可以更從容、更自信地抵達他們的目的地。這也是我認為這本書最有價值的地方。

這些内容會讓我們對項目從小到大發展過程中遇到的問題和解決辦法,有一個較為全面的認知,當項目真正碰到問題時,我們對問題的關鍵以及主要的解決手段能做到心中有數。我們不一定會立刻用得上這些知識,因為項目目前可能還沒有達到那麼龐大的規模,但是我們可以為即将面臨的技術挑戰做好必要的準備,這樣當項目不斷發展壯大,并确确實實暴露出書上描述的問題時,我們不至于欠太多的技術債進而導緻應用或者難以擴充,或者難以協同開發,或者難以維護,或者改造的成本非常高昂,以至于最終影響了業務的發展,為最初沒有做良好的設計而付出沉重代價。

書中提到的雲、微服務、DevOps,這些概念其實已經被提出來很久了,尤其是雲,那是前幾年非常熱門的話題。行業内的人會感覺這些概念已經是盡人皆知,沒有新意。因為他們天天都在用,都在實踐。但從我接觸到的不少客戶來看,實際卻不是這樣的。比如一些傳統行業的客戶,并不是很了解雲計算到底是什麼,對使用雲服務到底能帶來多少好處、會有哪些風險也不是很清楚;有一些做Web開發的程式員,還不知道Redis這樣的緩存服務;也有很多開發者,還不清楚容器是什麼,使用容器有什麼好處。

這很正常,因為在這些概念被炒得熱火朝天的時候,這些客戶的業務大部分都并沒有像網際網路公司的業務那樣有指數級的使用者增長,有雙11的海量通路,有秒殺、搶購的突發流量,有業務劇烈波動帶來的波峰波谷,因而也沒有面對海量通路保證服務穩定可用同時還要保持成本盡可能低的需求。正因為他們的業務還沒有碰到這些問題,彈性伸縮、秒級啟動、動靜分離、無狀态服務、服務治理、分布式應用、分布式事務等等在大規模網際網路業務中常見的技術,對他們而言是屠龍之技,或者是可用可不用,因為帶來的價值不高。

然而,現在他們開始關心這些技術了。根據我的觀察,這主要有三個原因:

  1. 這些客戶看到了IT能力将慢慢變成企業核心競争力的一部分,他們的部分或全部業務依賴軟體來為自己或他們的客戶提供服務。
  2. 客戶的業務規模擴大了。
  3. 市場變化越來越快,客戶需要盡可能快地根據市場調整業務,因而開始有了應用快速疊代、便于多個團隊協同開發、盡量自動化、減少維護、成本随業務發展而變化等需求。

是以,這些客戶目前就碰到了之前那些大型網際網路業務所碰到的同樣的問題。這時候,這本書中那些解決這些問題的經驗就能給他們帶來很大的幫助。

當然,由于雲原生架構涉及到非常多的技術領域,比如Web前端、負載均衡、資料庫、緩存、CDN、監控、日志收集、微服務等等,每一個領域詳細解析都可以寫不止一本書,這本書并沒有涉及每個技術的原理、安裝配置、使用維護和開發,因而我們對于那些内容需要參考其他相關材料。

在IT領域,技術總是不斷發展,新技術層出不窮。可以斷言,未來一定會出現能更好地解決問題的技術和産品。就當下而言,這本書能給那些在上雲、微服務化、DevOps方面尋求業界經驗和最佳實踐的讀者一些啟發,能讓我們将這些經驗用在業務開發當中解決我們的實際問題,并為将來應用更多新技術做好準備,是一本值得一讀的cookbook。

了解 網易雲 :

網易雲官網:https://www.163yun.com/

新使用者大禮包:https://www.163yun.com/gift

網易雲社群:https://sq.163yun.com/

繼續閱讀