【容器技術】詳解華爲雲基因容器服務GCS

基因測序,作爲“下一個能夠改變世界”的技術,已經由實驗室研究演變到臨牀使用,爲人類預測罹患多種疾病的可能性,提前預防和治療疾病提供了一套可靠的方法和手段。而基於基因測序在預防和治療疾病方面的準確和可靠,基因測序也因此成爲了精準醫療的基礎。據預測,基因測序市場未來五年複合增長率在35%左右,2022年有望突破300億美元。

基因測序的難題

然而,雖然基因測序市場火爆異常,但實際上,對於基因測序廠商來說,目前面臨着很多的困難和挑戰,具體而言,最主要的就是成本高、效率低、門檻高。

成本高

所謂成本高,是指基因測序的基礎設施成本和運營成本高。不同於傳統的常規計算,基因計算,需要對海量的數據進行非常複雜的計算。測算一個人的基因,就需要對30億對的DNA進行測算,涉及的算法包括映射、過濾、去重、排列、索引、壓縮、重校驗等等,以HiSeq X10測序儀產生的數據爲例,一個人30x全基因組樣本數據FASTQ文件就會達到200GB ,中間數據sam文件大小將超過600GB。這無論對於服務器的計算還是存儲能力都提出了很高的要求,從而導致IT基礎設施成本居高不下。同時,對這些IT基礎設施的維護,也會帶來大量的運維成本。

效率低

效率低首先是指計算的效率低,基因測序將會耗費大量的時間,據悉,人類歷史上的第一次的基因測序耗費了6個國家,10年的時間才最終完成,而即使在科技已經日新月異的今天,如果採用傳統的IT架構和計算框架,在基因數據的分析和解讀方面平均也會需要30+小時,這是一個很低的計算效率。其次,是指資源利用率低。基因測序業務有明顯淡旺季之分,通常旺季業務是淡季的數倍,這種業務的極度不平衡性,也造成了IT基礎設施的平均利用率的低下。

門檻高

基因測序沒有統一標準,生物信息數據處理流程複雜,軟件選擇多,流程差異大,此外,針對不同測序訴求,需要構建不同的測序環境和流程,搭建過程複雜。因此,僅僅是軟件的部署和分發,對於基因測序廠商中的IT部門就是一個不小的困難和挑戰,更不用說基因測序流程的設計和編排了。

針對基因測序領域的這些困難和挑戰,華爲雲創造性的推出了以Kubernetes爲基礎的基因容器服務GCS(Gene Container Service)。GCS將基因測序和容器技術完美地結合在了一起,爲廣大基因測序廠商提供了“更省、更快、更輕鬆”的雲科學計算平臺。GCS是一個三層架構,第一層是Docker層,這層主要解決基因測序相關軟件的安裝升級問題,中間層是Kubernetes層,主要解決在多臺節點上安裝Docker,運行Docker的問題,最上層是流程管理層,主要負責基因測序的流程控制。

爲什麼會是容器

那麼,爲什麼是Docker容器成爲了華爲雲基因測序解決方案的首選呢?這是因爲,首先,在基因測序領域,數據處理流程複雜,單步驟就存在多種軟件可選,單軟件也有多版本可選。而在傳統虛機中運行基因測序相關軟件,不僅需要安裝多種軟件,還需要考慮軟件間版本兼容性,同一軟件多實例間競爭影響等因素。這對於缺乏專業IT人才的基因測序企業來說,是一大痛苦。而容器技術具有使得不同軟件間運行無感知的特性,同一個軟件任意多實例運行也不會相互影響。而且Docker鏡像以軟件爲單位, 獨立製作和更新都非常便捷,可以較好的克服多軟件多版本的安裝和配置問題。

其次,在基因測序的過程中,如果前期調試流程出現錯誤,將會導致軟件配置改變或者環境異常,這樣就必須重新搭建和恢復環境,同時,軟件的分發和更新成本也很高。而通過Docker鏡像便捷分發,一次構建,隨處可運行的機制,使得本地驗證調試非常簡便。環境的切換對Docker程序無影響,從而可以保證運行環境的一致性以及數據處理結果的可重複性,而這對於解決基因測序的調試問題有非常大的幫助。

最後,按照傳統的基因測序方法,單樣本數據處理一般在單機上完成,所以目前普遍使用高規格機器來執行pipeline流程。但這樣的話,多機併發能力就會不足,如單獨開發任務調度框架,門檻成本和收益也不明顯。同時單機上多任務併發能力也受限,無法很好的滿載利用計算資源。但如果採用容器技術,單虛機上就可以同時運行多個Docker容器,這使得多個任務可以同時在一個VM上執行。再加上Kubernetes的資源調度能力,可以使得多任務按資源需求平均地在多VM上混合執行,這樣,就會最大化利用計算資源。

因此,有人說基因測序與容器是註定天生的一對,絕對不是誇大其詞。

基因測序利器

除了具有容器所帶來的天然優勢之外,GCS還具有諸多適合基因測序領域的特點,堪稱基因測序領域不可多得的利器。

便捷依賴定義

GCS的流程描述語言非常靈活,結合容器的特點,可以輕鬆執行基因測序流程的遷移、拷貝,同時,GCS還支持直接Shell方式的命令,因而,可以非常便捷的進行基因測序流程的控制。

迭代式併發

針對基因測序領域高併發的要求,GCS通過便捷的迭代組合式併發,可以輕鬆處理併發任務場景。例如,通過執行變量迭代,一條“echo $(1) $(2)"命令可以迭代出3*2=6個併發操作。同時,GCS的Shell語法,支持已有流程遷移,還支持用多種迭代描述方式,控制併發行爲。

跨租戶共享存儲

GCS還支持跨租戶共享存儲,平臺可以爲用戶提供參考組,數據庫等公共數據,並且這些數據還可以實現在各個租戶之間的共享,以便於不同用戶之間的協作。

親和性調度

通過GCS的親和調度功能,GCS可以把新任務優先投遞到可容納的節點,配合自動擴縮容,以達成最小的資源消耗。

集羣自動擴縮容

GCS還具有集羣自動擴縮容的能力,當集羣無法容納更多的新任務時,系統會自動新增節點,當節點長期空閒時,也會相應的刪除節點,從而既能使系統可以達到最小的資源消耗,又能輕鬆應對業務峯值。同時,由於容器運行密度高,因此可以充分利用其計算能力,做到運維零成本。

動態併發

GCS具有動態併發的功能,針對基因測序這樣複雜的任務,可以根據實際情況,動態的將複雜的任務切割成若干個簡單的小任務,分配到不同容器中去執行,最後再進行合併,從而大大提升了系統應對複雜業務流程的能力。

專業鏡像倉庫

在基因測序領域,涉及的工具超過5000多個,皆分佈在DockerHub上,爲此,GCS支持直接對接全球最大的鏡像倉庫DockerHub,還爲用戶提供了華爲SWR鏡像倉庫,並支持對接私有倉庫,這將大大方便基因測序領域的用戶使用這些工具。

GPU

特別的,GCS還支持GPU混合集羣,除了支持GPU任務之外,還支持普通任務+GPU任務的混合調度,據瞭解,這是華爲雲GCS特有的功能,而且這項功能也會在華爲CCE、CCI中得到應用。

流程設計器

前面已經說過,基因測序流程的設計複雜而枯燥,爲此,GCS爲用戶提供了圖形化的流程設計器,僅需通過鼠標的拖拽就可以輕鬆完成基因測序流程的設計,將基因測序人員從痛苦的流程設計過程中拉了出來。

多集羣管理

GCS還具有強大的多集羣管理功能,支持任務間資源隔離,可以輕鬆實現開發環境和生產環境的隔離,同時,在費用管理上也更便捷。

除此之外,GCS還支持單羣集多用戶的隔離,從集羣到節點到任務的多維度監控,並具有豐富的接口,很方便的就可以進行集成。

而基於這些特點,GCS可以確保最小資源消耗、充分利用計算能力,實現零成本運維,並提供秒級擴容,萬級併發專屬集羣,零排隊等待時間,可以使全基因組測序(WGS)耗時降低3-5倍,從而實現軟件免安裝,環境一鍵式重建、標準流程(WDL/SJM/Snakemake)快速遷移、千節點計算集羣搭建由多天降低至半小時等。

不僅僅是

而基於GCS,華爲雲還推出了KubeGene開源項目,把基因容器最核心的部分開源給廣大基因科學領域的企業和用戶。不僅僅希望通過這種方式能夠直接幫助廣大基因科學的用戶,也希望通過社區協作的方式來加速這個項目的發展,更好的促進基因科學領域的廠商能夠更好的聚焦在自己的業務創新上。更希望廣大廠商和用戶能夠將基因測試的流程互相分享,互相借鑑、共同進步,一起共建基因科學的容器生態。據華爲雲介紹,KubeGene項目自從11月中旬在上海KubeCon宣佈以來,在GitHub上已經吸引到接近80多顆Star,接近20個Fork。

GCS僅僅是華爲雲在容器開源領域貢獻的一個小小縮影,實際上,在容器開源領域,華爲一直是重要的貢獻者和容器生態的領導者,在Kubernetes社區,華爲貢獻國內第一,全球第三,在CNCF&Kubenetes社區,華爲貢獻位列全球前四、國內第一,擁有Maintainer 12席,華爲還是CNCF技術監督委員會九位委員之一,K8S社區技術指導委員會十三位委員之一,也是首批KSCP認證廠商。在OCI&Docker&其他社區,華爲貢獻全球前三、國內第一,擁有Maintainer 7席。華爲還是OCI初創成員,容器鏡像格式的規範和實現的主導者,Kata Container項目發起者之一,架構委員會5席位之一以及CNCF基金會的初創會員、白金會員和CNCF/Kubernetes TOC的成員。

華爲雲“有技術、有未來、值得信賴”!致力於做智能世界的黑土地,基於華爲30年技術積累,華爲雲在容器和開源領域持續深耕,也許就是其能夠成爲重要貢獻者和領導者的重要原因之一。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章