iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
AI & Data

談MLOps - 模型、專案架構、產品化及維運系列 第 14

案例:AWS MLOps Framework - AWS CloudFormation 模板,部署單帳號版本

此解決方案使用 AWS CloudFormation 來自動化部署。它包括以下兩個模板 — 單帳戶部署選項和多帳戶部署選項。接下來我們簡單認識一下AWS CloudFormation,以及AWS MLOps Framework解決方案中部署單帳號的這個選項。

CloudFormation新手包

在過去沒有CloudFormation的時候,系統管理者區透過AWS 管理控制台(AWS console)或 CLI 手動設置所有內容。現在,若想要維護一套有幾個服務串成的系統,開發者可以創建文件模板(YAML 或 JSON皆可),以有組織和可預測的方式預置和更新資源,包含供應、配置和部署一切,並處理了資源之間的依賴關係,簡化了在 AWS 上管理基礎設施。

假設在專案上使用模版得很順利,未來新增類似專案的時候,則可以直接應用設定好的模板。

也因為CloudFormation的服務綜合部署服務,以及服務間的安全性設定等等,因此學習曲線會比較陡峭。須了解在更新、刪除的時候會對資源所造成的影響。

在CloudFormation的使用上,有3個注意要點:

  1. 善於使用模版:對於剛開始使用CloudFormation的開發者,使用現有的模板,不建議一開始就從頭開始。
  2. 以Stacks為單位,更易於開發、測試。
  3. 注意服務漂移:CloudFormation 會保留 AWS 基礎設施當前的狀態快照。如果隨後直接手動更改資源狀態,資源將與快照不同步,這種差異稱為漂移(drift)。這可能會導致下一次使用CloudFormation更新服務時會部署失敗。因此,一旦開始使用 CloudFormation,盡量以cloudFormation 更新服務,盡量避免通過控制台或 CLI 手動更新。

關於更多CloudFormation,建議閱讀:

部署單帳號

在這個解決方案下,透過部署按鈕,就可以使用預設好的模板部署單帳號或者多帳號的選項到你的帳號中。方案一為例:

  1. 在登入AWS帳號的狀態下,從頁面找到Launch鈕。

  2. 畫面會導引到新增stack的頁面,選預設好的模板。

  3. 輸入自定義Stack名稱,以及自己的聯絡信箱,發佈好之後會收到通知。

  4. 在設定頁面,不需更動裡面的設定

  5. 在Review階段,需勾選我同意CloudFormation會新增IAM資源。

  6. 在目錄看到CloudFormation部署當中。

  7. 當部署完成之後,點選輸出的頁籤,檢視已經部署好的資源。

  8. 部署到這邊已完成,若需要新增模型到這個解決方案之中,可以準備自己的模型,參考API operations文件,把模型和pipelin新增上去即可。

結論

在MLOps的團隊中,只有DevOps會負責CloudFormation的開發跟維護,如果是Data Scientist的職責則是確保這些服務串接起來後,模型的開發以及部署與在開發端測試的結果相同即可。

在部署這個解決方案之後,大家可以透過API端點測試新增、檢視狀態等,和pipeline互動之後也會比較了解一個pipeline會負責哪些功能,如何重現工作狀態等等。

Reference
[1]. AWS CloudFormation Templates & Best Practices


上一篇
案例:AWS MLOps Framework - 成本、架構概覽
下一篇
案例:MLOps在醫療產業(上) - 5個常見案例與3個風險來源
系列文
談MLOps - 模型、專案架構、產品化及維運29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言