紅(hóng)彤軟件(jiàn)助力某生(shēng)物(wù)科技(jì)全球科研數據同步平台
項目名:全球科研數據同步平台
背景及需求*
某生(shēng)物(wù)科技(jì)是中國(guó)領先的基因藥物(wù)創新企業(yè),以基因編輯技(jì)術(shù)為(wèi)核心驅動。在體内和體外兩大創新藥物(wù)方向的科學研究中,會(huì)頻繁的需要使用中國(guó)和海外基因領域的公開(kāi)參考數據,包括Amazon的公開(kāi)數據集中的基因行業(yè)相(xiàng)關數據集,如 gnomAD、PubSeq、CCLE、BLAST等,以及其他公開(kāi)的标準行業(yè)數據,如GenBank 、RefSeq、TCGA,NCBI SRA,ICGC等。
基因行業(yè)的公開(kāi)數據一(yī)般都數據量很大,通(tōng)常從(cóng)數十 GB 到(dào)數十 TB不等。由于成本考慮,廣州某生(shēng)物(wù)科技(jì)有限公司未建設跨境專線網絡,隻能(néng)通(tōng)過公共互聯網進行文件(jiàn)的跨境訪問和下(xià)載。但由于跨境互聯網絡的延遲、丢包率非常不穩定,海外的數據幾乎處于不能(néng)正常訪問和下(xià)載的狀态,經常數天才能(néng)完成一(yī)部分數據的下(xià)載,嚴重的影響了用戶的科研進度和效率。
某生(shēng)物(wù)科技(jì)希望能(néng)夠找到(dào)經濟、高(gāo)效、穩定、安全的跨境文件(jiàn)同步方案,建設一(yī)個(gè)長(cháng)期持續使用的全球科研數據同步平台,用于能(néng)夠高(gāo)效從(cóng)海外将科研需要使用的公開(kāi)數據下(xià)載并同步到(dào)中國(guó)AWS賬号内的S3存儲桶中,以便後續的科研分析平台使用。
解決方案*
架構圖
架構設計*
在本技(jì)術(shù)方案中,為(wèi)了實現基于跨境互聯網網絡的大規模文件(jiàn)同步項目需求,我們主要采用了以下(xià)技(jì)術(shù)方法來實現架構設計和部署:
• 參考 AWS Identity and Access Management最佳實踐來規劃和完成 AWS Identity and Access Management中的用戶創建、權限配置和安全設置;
• 在AWS中國(guó)(北(běi)京區域)和AWS海外(北(běi)弗吉尼亞區域)創建Amazon Virtual Private Cloud進行網絡隔離和其他服務部署;
• 在AWS海外(北(běi)弗吉尼亞區域)創建 Amazon Elastic Compute Cloud 實例組,用于下(xià)載 AWS Public Datasets 中的數據及三方網站的數據,并傳輸到(dào)AWS海外(北(běi)弗吉尼亞區域)的Amazon Simple Storage Service 存儲桶中。可根據客戶需求,通(tōng)過修改 Amazon Elastic Compute Cloud 實例組的數量快速啓動多(duō)台Amazon Elastic Compute Cloud 實例用于多(duō)個(gè)數據源的數據下(xià)載。
• 通(tōng)過使用可以訪問Amazon Simple Storage Service 存儲桶的Amazon Elastic Compute Cloud 角色,将其附加到(dào)Amazon Elastic Compute Cloud 以提供Amazon Simple Storage Service 訪問權限,避免使用容易發生(shēng)安全洩漏的Access Key/Secret Key;
• 在AWS海外(北(běi)弗吉尼亞區域),根據Amazon Simple Storage Service 存儲桶上(shàng)的存儲桶前綴配置事(shì)件(jiàn)觸發機(jī)制,将所有新對象事(shì)件(jiàn)發送到(dào)Amazon Simple Queue Service;
• 将讀(dú)寫AWS中國(guó)(北(běi)京區域)Amazon Simple Storage Service 所需的Access Key/Secret Key 安全存儲在AWS System Manager 參數中,在AWS Lambda 中調用;
• 在AWS海外(北(běi)弗吉尼亞區域),配置Amazon Simple Queue Service 觸發AWS Lambda,從(cóng)Amazon Simple Storage Service 中讀(dú)取文件(jiàn)并完成對象的跨境傳輸到(dào)AWS中國(guó)(北(běi)京區域)的Amazon Simple Storage Service 存儲桶中;
• AWS Lambda 中對大文件(jiàn)進行切片,通(tōng)過并發多(duō)線程傳輸,可在傳輸異常中斷時提供可恢複的斷點續傳功能(néng);
• 在AWS海外(北(běi)弗吉尼亞區域),通(tōng)過 Amazon Cloudwatch進行傳輸過程各項服務的監控,包括網絡傳輸速度、AWS Lambda 調用情況、Amazon Simple Queue Service隊列消息數量、Amazon Elastic Compute Cloud利用率等指标;
項目收益*
通(tōng)過使用 AWS Lambda、Amazon Simple Queue Service,結合 Amazon Simple Storage Service & Amazon Simple Storage Service 事(shì)件(jiàn)驅動機(jī)制,我們為(wèi)客戶構建了一(yī)個(gè)經濟、可靠、安全、準實時的無服務器(qì)方式的跨境數據同步系統。
• 效率:通(tōng)過使用我們提供的方案,用戶可以大大縮短海外科研文件(jiàn)的下(xià)載和傳輸時間,大幅提升了工(gōng)作效率。在實際的測試和使用中,每天(24小(xiǎo)時)至少可以完成3到(dào)5 TB的文件(jiàn)傳輸(從(cóng) AWS 北(běi)弗吉尼亞區域的Amazon Simple Storage Service存儲桶傳輸到(dào)AWS 北(běi)京區域的Amazon Simple Storage Service存儲桶);以前相(xiàng)同大小(xiǎo)的文件(jiàn)需要用戶 7 到(dào) 10 天才能(néng)完成跨境的傳輸,并且需要多(duō)次重試和大量人工(gōng)幹預。
• 成本:客戶的文件(jiàn)傳輸需求是不定期、非持續的,在沒有下(xià)載和傳輸任務的時間,可以通(tōng)過将Amazon Elastic Compute Cloud instance groups的大小(xiǎo)設置為(wèi)0來大幅降低(dī)成本;同時用戶可以定期删除AWS 北(běi)弗吉尼亞區域的Amazon Simple Storage Service存儲桶中不再需要保留的文件(jiàn)來降低(dī)存儲費(fèi)用。
• 可靠性:AWS Lambda文件(jiàn)傳輸代碼對每個(gè)文件(jiàn)分片均進行MD5完整性校驗,确保了文件(jiàn)的完整性和一(yī)緻性。
• 安全性:傳輸時使用 SSL 加密,使用 IAM 角色并通(tōng)過 AWS System Manager 參數來存儲憑證訪問密鑰。
項目收獲*
• 通(tōng)過此項目的部署和實際測試,我們對 AWS 的無服務器(qì)技(jì)術(shù)(包括 AWS Lambda、Amazon Simple Storage Service、Amazon Simple Storage Service 事(shì)件(jiàn)驅動機(jī)制、Amazon Simple Queue Service等)有了很深的理解和實踐經驗;
• 此項目中所實現的跨境文件(jiàn)傳輸方案,在很多(duō)行業(yè)(特别在生(shēng)命科學行業(yè))和很多(duō)領域的客戶項目中均可以反複使用;同時通(tōng)過使用AWS Cloud Development Kit進行部署非常的高(gāo)效和便捷。