Serverless AI训练营:课时6:自动化 CI&CD 与灰度发布
课时6:自动化 CI&CD 与灰度发布
内容介绍
一、灰度发布
二、灰度发布的弹性能力
一、灰度发布
传统模式下,环境这么多,资源消耗也很多,成本也很多;
Serverless模式下,按量付费,成本节约,环境隔离,可直接发布;
当我们从传统开发迁到 Serverless 加固下,对于环境和部署的管理思路也会有所不同;当用户转到Serverless 下,它可以轻松的给我们提供更多的环境,而这常是被忽略的一个好处。
当我们开发项目时通常需要一个生产环境,然后需要预发环境,还有一些测试环境,但通常每个环境都需要消耗资源和成本以保证服务的在线和可用。而大多数的时候非生产环境上的访问资源量又是非常的少;为此,付出大量成本是很不划算的一件事。
但是在 Serverless 的加固中,可以为每位开发人员提供一个准生产环境,做 CSD 的时候可以为每个功能分支创建独立的演示环境,当团队成员在开发功能或修复 bug 时,需要预览新功能就可以立即部署,而不需要在自己的机器上模拟或者找其他的同事协助来进行测试环境的使用和搭建等;
这一切都授予 Serverless,我们不需要为空闲资源付费,当我们去部署那些根本或基本没有访问量的环境时,成本将会为我们降到很低;由于部署新环境变得很容易,对于自动化部署的要求就变得更高了,是否采用 Serverless 架构自动化部署都是很重要的;能否自动化的构建部署和创建整个环境是区分开发团队优秀与否的一个重要因素,在 Serverless 场景下这种能力尤为重要,因为只有这样才能充分的利用平台的优势;
借助于函数计算平台提供的fankar 开发工具,开发人员可以用从前做不到的方式在准生产环境中轻松部署和测试代码。
二、灰度发布的弹性能力
弹性能力:让多环境,多版本变得成本更低,性能更高
由于 Serverless 提供的访问机制,没有访问量的时候能自动缩容到0,极大的节约了部署的多环境成本,然而在同一套环境内的多个不同的版本也可以授予这套机制;传统应用虽说也支持在一个环境中并存多个版本,但相对比 Serverless 更加困难;
首先,每个版本都需要相对独立的运行环境,会消耗更多的资源;其次,需要解决多个版本之间的流量分配的问题,在 Fass 上这些问题已经被版本和别名机制完美的解决了;由于没有流量就不会消耗计算资源,所以在发布一个版本的时候成本也变的很低,每次发布都可以形成一个版本,然后通过别名来进行版本的切换和流量的分配。基于 Fass 的这套抽象让灰度发布和 AB 测试变得非常的简单,开发者也可以轻松的享受平滑升级和快速验证的高级特性。
Serverless让开发和部署都变的更加的简单。