阿里古謙:阿里互聯網架構的6大最佳實踐

阿里中間件首席架構鍾華(花名:古謙)首先帶領大家回顧了阿里技術架構前期發展狀況。在2016年,淘寶的技術架構現狀是一個擁有300多個功能的系統,由500多人的技術團隊負責維護,該系統基於傳應用開發架構,但當時淘寶業務每年翻倍增長。在這樣的大背景下,前期的技術架構出現了嚴重問題:

牽一髮而動全身,業務支持緩慢。上百人維護一個核心工程,項目發佈週期太長,應用處理能力擴展成本高,錯誤難於隔離,同時也使得數據庫能力達到上限。

經過多年實戰和不斷創新,阿里巴巴逐漸形成了今天自己的核心繫統架構(如下圖)。古謙介紹說,這不是單一的產品,是很多包括中間件等在內的產品沉澱和體系化的結果。做架構不能考慮當前的一件事情,要從業務持續發展來思考。他特別強調,共享服務體系的建立打破了應用“煙囪式”的垂直建設方式,使得可以支撐業務快速創新,避免IT建設的資源浪費。聚划算就是依靠這樣的系統架構與理念,依靠幾個人在短時間內完成系統快速上線。


那阿里巴巴在形成今天的互聯網級系統架構過程中,遵循著什麼樣的思路、原則,或者在整個構建過程中,有著什麼樣的經驗值得業界參考呢?

古謙在演講中總結了6個原則:

  • 儘可能拆分
  • 服務架構“去中心化”
  • 異步化
  • 數據化運營
  • 儘可能使用成熟組件
  • 儘可能自動化


具體來說,“儘可能拆分”的意思是要以服務化的方式拆分架構,要做到更好地獨立擴展與伸縮,更靈活的部署和隔離錯誤

“去中心化”的服務架構,與中心化架構訴求是不一樣的,“去中心化”的服務架構可以實現服務能力的線性擴展;做到無業務單點,減少故障影響面。

異步化,則是利用異步機制拆分事務,系統解耦合,提升開發效率,不過需要值得注意的一點是要確保系統最終一致。

數據化運營,則要真正發揮數據價值,而不是簡單提供數據平臺;同時儘量注意定位跟蹤業務鏈問題,使得更好的管控“去中心化”服務。

越是底層系統,越需要穩定,所以儘可能使用成熟組件,這可以保證在項目出現問題以後有充分的掌控力。


提到“儘可能自動化”時,古謙談到說,今天很多互聯網公司的運維跟不上,導致拖累業務的發展。運維這件事情雖然需要技術人員做,但是百分之八九十工作是可重複的。在運維領域裡,人能做的事情機器也一定要做。一旦機器趨於穩定,一定比人可靠。人在做事過程中有情緒,容易出現人工誤差。一旦機器規模增大之後,自動化是非常重要的。“自動化”包括運維標準規範和平臺化、彈性伸縮自動化、部署自動化、故障處理自動化。


在2015年雙11備戰中,由於對自動化環境的充分準備,壓力測試投入由2000人參與測試降低到了之前人數的1/16,這也大大減少了工程師熬夜次數,使得問題一旦出現就能得到快速響應。

最後,古謙表示說,不管是面對政府客戶還是企業客戶,我們的產品和服務需要有自己的核心價值。貢獻服務理念,可以把核心價值和數據變得足夠的穩固,可以面對任何的衝擊,需要把我們的能力釋放出去。通過能力開放平臺,企業自身的數據和核心能力,或者外部第三方平臺能夠基於自身核心業務能力打造真正的生態。能力開放是新的開放方式,開放出去,對今天“互聯網+”轉型是真正切實有效的業務上的支撐。


分享到:


相關文章: