昨天我們立下了豪心壯志,今天要來點實際的。俗話說得好,「工欲善其事,必先利其器」。在我們開始打造那台傳說中 24 小時不打烊的印鈔機...啊不是,是量化交易機器人之前,得先畫好設計藍圖。
別擔心,我們不是要蓋一座死星(Death Star),但我們的目標是打造一個能在加密貨幣宇宙中穩定運行的「賺錢星」!這顆星需要什麼呢?
想像一下,一個交易員,他不用睡覺、不用喝咖啡、不會因為追劇而錯過市場行情,更不會手滑下錯單。這就是我們要用 AWS 打造的終極目標。
為了讓這位超級交易員能順利上工,他的「辦公室」需要包含以下幾個部分:
我們的交易機器人可是身懷鉅款的,總不能讓他在大馬路上裸奔吧?我們需要一個私密的、安全的網路環境。AWS VPC 就是我們在雲端上的私人招待所,只有拿到邀請函(設定好的規則)的流量才能進出。門口還得有個保鑣,也就是 Security Group,他會嚴格執行門禁,只放我們信得過的朋友進來。
光有場地還不夠,總得有人來做事。EC2 (Elastic Compute Cloud) 就是我們在雲端上租用的虛擬伺服器,他們就像一群任勞任怨的工蜂,負責執行我們的交易指令。
但市場行情瞬息萬變,有時候忙不過來怎麼辦?這時 Auto Scaling Group 就派上用場了。它像一個聰明的蜂后,會根據工作量(例如 CPU 使用率)自動增減工蜂的數量。確保我們既能應付高峰,又不會在閒置時浪費資源(畢竟工蜂也是要吃飯的,電費很貴的!)。
我們的交易程式需要在工蜂 (EC2) 上運行。但為了避免「在我電腦上明明跑得好好的啊!」這種千古難題,我們需要用「容器 (Container)」技術把程式和它的所有依賴打包在一起。
ECS 就是管理這些容器的服務,它像一個中央廚房,確保每個工蜂拿到的「便當盒」都是標準化、乾淨衛生的。這樣一來,我們的程式無論在哪台工蜂上跑,表現都會一模一樣,穩定又可靠。
身為一個追求效率的工程師,我們怎麼能容忍手動上傳程式碼這種原始人的行為呢?當我們開發了新的交易策略或修復了 Bug,我們希望有一個全自動的流程。
這就是 CI/CD (持續整合/持續部署) 的魅力所在。我們將使用 Github Actions 來打造這條生產線。以後只要我們把新程式碼推送到 Github,這位叫「Actions」的管家就會自動幫我們測試、打包,然後優雅地送到 AWS 的工蜂手上,完成部署。全程自動,帥氣滿分!
好了,藍圖已經畫好!我們接下來的旅程,就是要一步步把 VPC、EC2、ECS 這些零件組裝起來,再把 Github Actions 這條自動化生產線給接上。
準備好了嗎?明天,我們就要開始介紹我們武器庫中的第一批 AWS 神兵利器了!