神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进
?在CSDN總部會議室,阿晶首次見到了阿里云智能研究員、彈性計算技術負責人張獻濤——這位不僅僅在阿里云智能內部,在業內也是響當當的虛擬化技術大牛。現在回想起來,當時聊了沒兩句,阿晶就問了這樣一個問題,“阿里云這款全新一代服務器為何命名為神龍X-Dragon?難道是追求'X戰警'那種領先和黑科技的感覺么?”
張獻濤笑著回答,“在命名的時候,考慮到中西文化差異,有些詞直譯出來可能比較冗長,最后確定了這個最簡潔的方案,不僅具備了國際元素,更重要的是音譯出來特別有范兒,就定了!”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 張獻濤(左)?阿晶(右)
其實神龍X-Dragon的“有范兒”,從2017年10月推出的那一刻就表露無疑了。當時有報道提出,這個云計算領域的“新物種”兼顧了物理機與虛擬機的特性,可以像使用虛擬機一樣靈活地使用物理機,而這個特性主要由自主研發的神龍架構來保障,源自阿里云智能多年在基礎設施領域的技術積累。
裸金屬?阿里云為啥卯勁兒做這個?
裸金屬服務器怎么就這么火?阿里云智能為啥卯著勁頭做這個?張獻濤表示根源還在于IT領域發生的顯著變革。在傳統IT基礎設施架構時代,每家公司都在“買機器、換機器、買機器”的無限循環中生存;然而,隨著云計算的出現與普及,許多企業已經不再考慮自建機房,毫不猶豫地選擇云基礎設施來支撐所有業務,其中比較有代表性的就屬新興的互聯網公司。但是在此之外,仍然存在大量企業不可避免地會使用一些線下物理機,重復之前的循環。那么,如何提供一個穩健的底層基礎設施,幫助這些企業全面上云就成了阿里云必須要解決的問題。
順利上云可以充分利用云計算的彈性優勢,但如果需要顛覆企業原有的IT架構,哪怕是形勢所趨,阿晶認為企業也會在成本消耗上打退堂鼓,所以就需要一個折中的方法。通過張獻濤了解到,目前市面上廣泛采用的折中方式就是物理機托管以及托管云,但深入分析這種折中方式的很多實際應用情況發現,這種托管的方式并沒有充分利用云計算資源池化帶來的優勢,更無法形成規模化運作,這兩套系統的割裂狀態更阻礙了整體公共云的良性發展。
基于這些情況,阿里云決定做一款新型云服務器,既能提供物理機的性能和特性,又能像虛擬機一樣和已有云計算基礎設施完美融合,充分利用資源池化的優勢,并能與其它的云產品互聯互通。具體來說這種新型云服務器要兼具物理機和虛擬機的優勢,同時消除它們的劣勢,還要顯著提升服務器的計算效率,尤其是要滿足對服務器安全隔離與性能等要求較高的大型企業上云的訴求。
此外在采訪中,張獻濤還重點指出,云計算已經發展了十年有余,但底層的基礎硬件卻并沒有為云計算而做出根本改變,與傳統IT時代差別并不大。如果可以通過改造硬件架構來更好地適應云計算的技術發展,提升計算效率,想來絕對是一件很靠譜的事情。“經過一系列探討,我們認為可以利用虛擬化技術為藍本,通過重新定義硬件架構,打造一款和虛擬機一樣體驗的物理機。如果目標達成,那么它不是傳統意義上的虛擬機,更不是托管類型的物理機,而是為計算而生的“新物種”。在產品發布時使用了神龍云服務器這個新的命名,神龍X-Dragon就一步一步走到了如今。”
“有想法=成功了一半”,阿里云如何做好后續?
人們都說“有想法=成功了一半”,但要真正付諸實踐,將想法變成產品可不是一件容易的事兒。“神龍X-Dragon本身就是一個軟硬融合的產品,涉及到服務器、硬件、芯片、固件以及系統軟件的研發與改造,因此需要阿里集團內部多個團隊的協同才有可能完成。同時,大量資金和資源投入到充滿不確定性的高風險的創新項目中,一方面顯示了阿里對于創新的支持,而另一方面整個項目組也因此而承擔了前所未有的壓力。”張獻濤表示。但面對種種困難,在將好的idea轉化為實力產品的過程中,阿里巴巴內部的技術開放、協同的氛圍以及同行小伙伴們對云計算技術革新的期盼,極大促成了神龍X-Dragon的誕生。
關乎戰略、人員、資源等層面的還不算難題,如果從技術層面出發,最難的還是“裸金屬產品要做到像虛擬機一樣靈活”的訴求。由于虛擬機主要就是通過軟件來實現,其靈活度很好,但要讓一個物理屬性的產品也同時做到這點,聽著就有點兒不靠譜的樣子。舉個例子來說,虛擬機在正在運行的過程中,可以動態掛載云盤和彈性網卡來提升功能和性能,但如果要讓一臺物理機也能具備這個能力,并且要做到API接口都要完全一致的話,難度就上升很多了。再比方說,要讓一臺裸金屬機器在硬件故障時支持宕機遷移,并且要保留一切配置和數據不變,甚至是MAC地址和IP都不能變化,這絕對是一種很難的技術挑戰。
在這樣的想法支持與推動下,經過不斷實踐創新,如今每臺神龍服務器都可以做到像虛擬機一樣被X-Dragon Hypervisor管理和調用,在阿里云控制臺中創建/釋放一臺神龍彈性裸金屬服務器和創建/釋放一臺普通ECS虛擬機是一樣的,同時可以使用云基礎設施池化的存儲和網絡資源,做到了資源的靈活彈性。在計算方面,X-Dragon?Hypervisor運行在獨立于主機外的專用硬件設備上,因此整個機器的計算性能沒有任何損耗。如此一來,神龍彈性裸金屬服務器便克服了公共云遇到的幾個問題。首先神龍彈性裸金屬服務器沒有軟件虛擬化帶來的性能開銷,完全發揮處理器和內存的性能。其次服務器的資源是獨占的,其性能非常穩定,不會出現起伏不定的狀況。第三,神龍系列服務器支持嵌套虛擬化,主流的虛擬化系統都可以在上面運行。在克服傳統云計算主機缺點的同時,又保留了云主機的優點,比如上面提到的彈性部署、API操作、鏡像啟動、VPC網絡等特性一樣不少。“我很慶幸團隊成員在遇到問題時沒有選擇退縮,而是迎難而上,才有了今天的成績,克服了很多特別難解決的技術點。”
神龍這樣優越,在阿里自身的云化進程中作用如何?關于這個問題,在歷年天貓雙11中早已有了答案。“大家都知道,在大促之時整個機器的負載都會瞬間變得非常高,容器化部署的業務在機器負載較高時,會遇到網絡和存儲虛擬化邏輯和業務爭搶資源的事情,從而導致性能瓶頸,并且很可能導致業務的響應時間出現雪崩;但采用神龍之后,由于所有的網絡和存儲隊列都通過自研神龍芯片來實現,其中的強隔離特性就會達成事半功倍的效果,再也不會出現高負載的情況下延遲大幅度提升導致業務不可用的情況發生。”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 阿里云智能張獻濤
使用神龍之后,其上每條數據流都能夠做到獨占網絡隊列以及存儲隊列。由于是硬件隔離,無論是高負載還是低負載,其整體表現都很均衡,以電商業務為例,使用神龍之后整體業務性能提升了20%-30%,并且高低負載情況下的業務延遲幾乎無變化,做到穩如磐石。
此外還有一個有意思的現象,過去大部分K8s選擇部署在虛擬機上,而如今越來越多的K8s正逐步部署在裸金屬(bare-metel)服務器上。阿晶思考,以上展現出的神龍種種優勢與容器的匹配度又如何呢?這一點也得到了張獻濤的證實。通常在容器場景下會涉及到兩層虛擬化,采用物理機就簡單變為一層,如果使用神龍則變為零距離接觸,根源在于所有的虛擬化部署全部集中在自研神龍芯片中并進行加速,對比普通物理機性能可以提升20%到30%的節奏,這意味著至少可以少購置百分之二三十的服務器,成本節約巨大。可以說,神龍裸金屬服務器是K8S等容器解決方案的最佳計算平臺,提供了超越物理機的性能和穩定性。
提及安全保護,張獻濤提出當前來自安全的擔憂確實很多,所以在裸金屬服務器設計之初就充分考慮到這一點,畢竟保證安全比提升效率要重要很多。“通常來講,更新固件是一個低頻率的操作,所以我們在硬件和固件的設計上就嚴格限制了帶內對固件的訪問,避免黑客的入侵,所有固件的升級都通過帶外來完成。此外神龍的設計本身也滿足可信的需求,例如在金融場景中,可以滿足客戶對于等保認證等需求。
如今神龍已經研發到了第三代,神龍也從最初的裸金屬服務器的代號演進成了支撐阿里云計算業務的神龍架構,并以此新型架構打造了阿里云神龍計算平臺,承擔一切計算型業務。回顧第一代神龍架構更多是支持裸金屬服務的物理節點,高效解決用戶依賴物理機上云的痛點;而第二代神龍架構的研發則將“并池”作為重點,同時可以支持裸金屬和虛擬機產品的需求,不僅實現裸金屬和虛擬機的體驗一致,更可以利用同一個資源池提供多種類型的計算服務。例如在超算場景下,如果使用虛擬機來承載業務,性能損失可能會超過90%以上,在沒有神龍架構之前,這類業務根本無法上云,如今通過剛才講述的資源“并池”,使用同樣的資源直接提供裸金屬服務就妥妥的了。
簡單來說就是一臺在數據中心配置的服務器,既可以產生承載超算的實力 ,也可以用作虛擬機的功能,還可以被當作是裸金屬服務器使用,畢竟用戶的需求才真正決定了服務器的具體“功效 ”。“我們已經完成了第三代神龍架構的研發并計劃在近期發布,十分期待,預計性能還會有3-5倍的提升。”
從MOC卡SoC芯片問鼎神龍未來
就在阿晶準備采訪的前幾天,有一則消息稱,阿里平頭哥正在研發一款專用SoC芯片,將用于新一代阿里云神龍服務器的核心組件MOC卡,以推動下一代云計算技術的升級在,真的嗎?
據了解在神龍X-Dragon中,阿里云智能研發團隊自研了“X-Dragon虛擬化芯片”,“ X-Dragon Hypervisor系統軟件”以及“X-Dragon服務器硬件架構”。其中X-Dragon虛擬化芯片在芯片層主要解決虛擬機和物理機體系結果不一致的問題,讓二者能在系統軟件層面保持100%兼容,可以這樣說,X-Dragon芯片是裝在彈性裸金屬服務器中的MOC卡的核心。
對此張獻濤介紹說,這款阿里云自研的MOC卡擁有獨立的處理、存儲、I/O等單元,主要承擔了原來通過軟件形式實現的網絡、存儲以及外圍設備的虛擬化;而神龍服務器的主板也是阿里云定制的,專門用作針對MOC卡進行優化,以便X-Dragon Hypervisor可以方便管理整個服務器,足見重要性。
談及這個消息推測判斷,張獻濤對阿晶談及了一段有關“選擇”的糾結歷程。“那時可以明確的一點,當時階段的芯片技術以及其他硬件完全沒有辦法滿足神龍的架構需求,所以自研芯片就變得勢在必行了。可是選擇自研也要進一步明確,是SoC還是FPGA?畢竟各有優勢。”
具體來說,FPGA的優勢在于靈活性較強且開發周期較短,半年左右就會出結果;相比之下SoC可能需要24個月,最少18個月才能迭代一次,這樣分析下來FPGA最少可以保證半年迭代一次。“所以我們剛開始選擇的時候也傾向于不要先著手SoC,盡管集成度比較高且成本具有優勢,但畢竟開發速度實在跟不上如今互聯網公司發展的情況,所以一定程度上還是FPGA比較好。”他補充道。
截止目前神龍堅持用FPGA,但發展到一定程度且芯片內部邏輯基本成型后,張獻濤認為也可以考慮采用其他選擇,這是一個水到渠成的過程,相對來說也比較容易操作,使用SoC是一個可以被考慮的發展方向。如今神龍帶來的優勢非常明顯,能夠解決各種系統損耗以及資源消耗等問題,為云計算成本下降和性能提升立下汗馬功勞,同時還能滿足用戶上云的剛需。“未來關于神龍,各種迭代都在不斷規劃中,但終其一點,真正滿足用戶需求才是最關鍵的。”張獻濤說。
9月25日-27日,2019杭州云棲大會即將拉開帷幕。今年大會將以開發者為主角,聚焦數字經濟為核心,設置兩天兩場主論壇、110余場峰會和分論壇、超過20000平米的展區集中呈現最前沿的科技動態。
?
值得提及的是在9月25在D2-401會場13:30開始的阿里云智能彈性計算技術專場以及9月26日在D1-301會場9點開始的阿里云異構計算專場,都是張獻濤作為出品人精心奉獻給廣大開發者的兩場技術盛宴,屆時會有很多技術大咖蒞臨現場并分享獨特觀點,敬請期待。
總結
以上是生活随笔為你收集整理的神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Boost:双图bimap与mi_has
- 下一篇: Boost:双图bimap与mi_bid