开发函数计算的正确姿势 —— 使用 ROS 进行资源编排( 二 )
备注: 本文介绍的技巧需要 Fun 版本大于等于 3.0.0+。
背景介绍
在 Fun 3.0 版本之前,Fun Deploy 功能只有一种部署方式,即直接使用 fun deploy 命令进行部署。
随着用户的不断反馈,虽然我们一直在增强 deploy 的功能,但我们 Fun 依旧在某些场景下做的依旧不够好:
没有完善的资源状态管理机制:原有的 Fun 部署的资源,只支持创建、更新两种操作。我们希望,在部署时,Fun 能够准确的感知到,哪些资源是新增的、哪些资源是更新的、哪些资源是被删除了的以及哪些资源是不变的。通过感知到这些资源的状态变化,Fun 才能作出正确的决策,达到预期的行为。回滚机制缺失:一次部署往往涉及非常多的资源,而这些资源可能存在着错中复杂的依赖关系,其中的某服务部署失败,都可能会导致整个部署操作的失败,一旦部署失败,能否自动回滚到上一正确状态,是保证用户服务可用性的关键。严格遵循模型定义:通常一个 template.yml 用来描述一个完整的应用,我们想为用户提供保证,你看到的 template.yml 的内容,就是你部署到线上的应用的最终形态。难以明确部署差异。如果是一个许久没有更新的应用,用户可能很难作出直接将本地模板部署到生产的决定。难于作出这种决定的原因在于,用户也无法知晓当前的模板文件与线上是否为同步的状态。支持有限的云资源。我们已经为用户提供了比较多的云资源的支持,但即使这样,也很难覆盖全用户的场景,我们需要纳入更多的云资源的管理。无法快速创建多套开发环境。由于没有资源集合的概念,所以,使用不同的模板进行部署时,操作的单位永远是单个资源,所以,单个模板文件进行多次部署时,操作的永远都是同一批资源。当需要创建多套开发环境时,需要手动修改资源的唯一名称等标识。为了解决这些问题,我们在 Fun 3.0 引入了一种全新的部署方式:ROS。
推荐阅读
- 魔兽世界|《轨迹》新作明年发布! 法老控将针对NS平台开发游戏
- 手机游戏|CFHD:神秘组织为什么开发生化手雷呢?关键是为了赚更多钱
- 大话西游|大话西游2这些召唤兽的天生技能是开发组拿来凑数的吗?实际效果完全没用
- 电子竞技|【欣然轻资讯G】《地平线2西部禁域》新老怪兽即将登场 开发者日志
- 桌游|48小时里,游戏开发能给这群大学生带来什么?
- 任天堂|不依赖对外收购工作室,任天堂将更着重扩大本身游戏内容开发能力
- 网游|《红色警戒2》超大Mod“心灵终结”发布3.3.6版,15年的开发完结
- |云计算市场,是时候来一场鱿鱼游戏了
- 腾讯|3A 开放世界新作《王者荣耀:世界》公开,由腾讯天美工作室开发
- |不朽情缘五滴血必爆大奖技巧