我們使用 Amazon EC2 Spot 執行個體輕鬆省下 85–90% 的成本。這使我們能夠以更低的風險進行試驗,最終為客戶開發更高品質的產品。 
Joe Gardner 首席雲端架構師

National Instruments (NI) 成立於 1976 年,他們與工程師和科學家合作,為最具挑戰性的問題提供解答。NI 為他們提供先進的技術解決方案,旨在加速醫療保健技術、行動運算和太空研究等領域的生產力和創新。NI 有超過 35,000 名客戶在市場交付了數十萬種產品,並在此過程中克服了無數的技術障礙。NI 總部位於德州奧斯汀,在全球近 50 個國家/地區擁有約 7,400 名員工。該公司 2015 年的年收入為 12.3 億 USD,其中 16% 投入研發。 

National Instruments 為客戶提供的技術包括 LabVIEW,這是一個用於建立客製化應用程式的軟體開發環境。LabVIEW FPGA 模組擴展了 LabVIEW 的功能,讓工程師能夠在應用程式建立複雜的現場可程式化閘道陣列 (FPGA) 技術或可重新程式化矽晶片。FPGA 設計必須在部署之前進行編譯,並且需要工程師在設定大量硬體資源和必要軟體套件的機器上,執行資源密集且耗時的編譯程序。

過去,NI 開發團隊會在現場部署測試這類產品的新功能。但隨著公司的發展,需要更多的基礎設施。與此同時,FPGA 設計變得越來越複雜,需要更強大的運算能力。為了降低成本並縮短開發時間,NI 的 LabVIEW 團隊開始研究雲端運算。NI 首席雲端架構師 Joe Gardner 表示:「電晶體越來越小,而且我們有更多可以程式設計的閘道,這意味著更大、更複雜的設計需要更多的運算能力來執行編譯。」 

考慮各種選項之後,FPGA 團隊在 2010 年擴展其模組的功能,提供在 Amazon Elastic Compute Cloud (Amazon EC2) 隨需執行個體上託管的 FPGA 編譯服務。FPGA 團隊還使用 AWS 進行內部開發和測試。FPGA 團隊之所以選擇 AWS 是因為其 Auto Scaling 功能、為開發人員提供的控制,以及 Amazon EC2 Spot 執行個體 – 所有這些都能讓 NI 在測試新產品功能時大幅降低運算成本。

使用 AWS Auto Scaling,NI 可以隨著客戶工作負載的增加快速擴展其 AWS EC2 資源。Gardner 表示:「以前,我們有一個自行開發的擴展流程,需要花費 5 到 30 分鐘才能擴展,以因應額外的工作負載。使用 AWS 不到五分鐘就能完成這項工作,這對我們而言是一項非常大的好處,因為不用讓客戶長時間等候。」

FPGA 團隊也選擇使用 AWS,因為開發人員可以很輕鬆地上手。Gardner 說:「AWS 比其他雲端環境更簡單,為我們提供更多控制,而且不會強迫我們套用可能破壞相容性的更新。此外,AWS 操作簡便,這意味著無須聘請 Hadoop 專家或 IoT 專家即可建立各種產品。這可讓我們充分利用現有的人才。」

最重要的是,FPGA 團隊意識到在開發和測試期間利用 Amazon EC2 Spot 執行個體可以實現大幅的節約,允許使用者對備用 Amazon EC2 運算容量進行競標來平衡供需。Gardner 解釋說:「節約的幅度很可觀。例如,使用 Spot 執行個體測試一款產品,成本大約是 500 USD。如果使用隨需處理完成這項工作,那麼成本將是 10 倍的金額,也就是 5,000 USD。」

2014 年 8 月,NI 將 AWS 的應用範圍擴展到 LabVIEW 軟體開發團隊,該團隊現在使用 Amazon EC2 Spot 執行個體,在現場部署基礎設施處於滿載時,處理溢出的測試工作負載。Gardner 說:「測試數量不斷增加,LabVIEW 開發團隊沒有足夠的運算資源完成這些測試。因為知道我們具備雲端經驗,於是求助於我們。不到一週的時間,他們就在雲端執行溢出測試。」

除 Amazon EC2 Spot 執行個體外,NI 還使用其他多種 AWS 服務,包括使用 Amazon Simple Storage Service (Amazon S3) 作為高度可擴展物件儲存;Amazon Relational Database Service (Amazon RDS) 作為關聯式資料庫;Amazon DynamoDB 作為快速靈活的 NoSQL 資料庫;以及 Amazon Route 53 作為可擴展的雲端網域名稱系統 Web 服務。NI 也使用 AWS CloudFormation 為開發人員提供簡單的方法來建立和管理相關的 AWS 資源,以及使用 AWS CloudTrail 記錄 AWS API 呼叫和交付日誌檔案的歷史記錄。

使用 Amazon 的 Spot 執行個體定價模式,National Instruments 可用遠低於隨需處理的價格執行內部工作負載,在測試新功能時為公司節省數萬美元。Gardner 說:「我們使用 Amazon EC2 Spot 執行個體輕鬆省下 85–90% 的成本,這使我們能夠以更低的風險進行試驗,最終為客戶開發更高品質的產品。」

NI 還節省了建立更大型現場部署基礎設施的成本。例如,LabVIEW 團隊已經使用 Amazon EC2 Spot 執行個體,每個月執行超過 30,000 個伺服器小時的測試組建。在現場部署處理這麼龐大的工作,需要將團隊內部基礎設施的規模擴大一倍,而硬體和維護成本則為 100 萬 USD。使用 AWS 可以讓 NI 快速擴展以滿足目前的需求,同時避免擴展現場部署基礎設施所需的人力增加,並防範採購發生延遲現象。

在 AWS 上執行開發和測試工作負載讓 NI 變得更加靈活。由於測試工作負載在軟體開發生命週期變化很大,因此當需要進行的測試較少時,NI 可以省下閒置伺服器的相關費用。同樣地,該公司可在測試需求增加時快速進行擴展,以獲得其所需的運算能力來快速分析新功能並將其發布給客戶。例如,為了開發其中一項功能,FPGA 團隊需要完成包含 900 多個編譯的綜合測試程序。如果團隊使用現場部署的單一伺服器進行這些編譯,則需要花費超過三個星期的時間才能完成。但是,透過 Amazon EC2 Spot 執行個體及平行化,該團隊能夠在 10 小時內完成這些測試,每次的執行成本不到 50 USD。Gardner 說:「使用 AWS 可讓開發週期縮短數個月,如果我需要更多伺服器,無須申請即可隨時存取。」

NI 能夠將這種敏捷性移轉給其客戶。透過完全在 AWS 上執行 FPGA Compile Cloud Service,工程師可以視需要使用該服務,無須花費數千美元購買硬體。Gardner 說:「過去,我們的客戶可能花費 5,000 USD 到 10,000 USD 購買他們需要的編譯伺服器,但幾個月後便閒置不用。由於執行編譯是一個兩極化的過程,因此 AWS 非常適合我們的工作。」

隨著 NI 不斷的發展,該公司計劃將 AWS 的使用範圍擴展到其他開發環境。此外,該公司正在考慮使用 AWS IoTAmazon QuickSight 等其他 AWS 服務,為其客戶建立新的產品。Gardner 說:「AWS 可允許進行更多的試驗,它為我們提供各式各樣的工具以加快新產品的開發和部署速度,這是我們公司成功的關鍵。」

要進一步了解 AWS 如何協助開發和測試,請瀏覽我們的開發和測試詳細資訊頁面