案例: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


<<:  以Postgresql为主,再聊聊资料库 MySQL bit boolean tinyint 的空间使用探讨

>>:  musl libc 简介与其 porting(四)Nobody speak.

Day12-救世主Promise

前言 在ES6之前,要使用非同步并且正确输出资料必须透过callback,然而callback不好学...

Day4 官方 Demo 说明

今天我们要藉由官方所提供的 Demo,来介绍几个关键实体与流程的运作。再开始本篇 Demo 安装前,...

工欲善其事,必先利其器

开始IaC之前,必先做好前置作业 昨天介绍了一些AWS建置环境的方法,今天会先做CloudForma...

Day22 - ArgoCD 建立应用程序

前言 前一天我们在 K8s Cluster 建置好了 ArgoCD 服务,今天就来实际操作看看,透过...

[DAY5]认识kubectl指令

kubectl 装好K8S後,可以使用kubectl进行K8S CLUSTER的操作 开启TERNI...