自动化 CI&CD 与灰度发布|学习笔记

本文涉及的产品
简介: 快速学习 自动化 CI&CD 与灰度发布

开发者学堂课程【从 0 入门函数计算:自动化 CI&CD 与灰度发布】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/645/detail/10724


内容简介:

1.环境管理和自动化部署

2.灰度发布

 

1.环境管理和自动化部署

当我们从传统开发迁到 Serverless 架构下,对于环境和部署的管理思路也会有所不同,当用户转到 Serverless 下,它可以轻松的给我们提供更多的环境,而这常常是被忽略的一个好处。当我们开发项目时,通常需要一个生产环境,需要预发环境和一些测试环境等,但通常每个环境都需要消耗资源和成本以保证服务的在线和可用。而大多数的时候,非生产环境上的访问资源量又非常少,为此付出大量成本是很不划算的一件事情。

但是,在 Serverless 架构中,我们可以为每位开发人员提供一个准生产环节,做CSD 的时候,可以为每个功能分支创建独立的演示环境。当团队成员在开发功能或者是修复 bug 时,需要预览新功能就可以立即部署,而不需要在自己的机器上模拟或者找其他同事协助来进行测试环境的使用和搭建等。这一切都受益于 Serverless,我们不需要为空闲资源付费,当我们去部署那些根本或者基本没有访问量的环境时,成本将会为我们降到很低很低。由于部署环境变得很容易,对于自动化部署的要求就变得更高了,当然是否采用 Serverless 部署自动化架构都是很重要的。能否构建部署和创建整个环境是区分开发团队优秀与否的重要因素。在Serverless 场景下,这种能力尤为重要,因为只有这样,才能充分利用平台的优势。后面的课程我们会了解到借助于函数计算平台提供的工具,开发人员可以用从前做不到的方式在准生产环境中轻松部署测试代码。

 

2.灰度发布

由于 Serverless 提供的弹性访问机制在没有访问量的时候能自动缩容到 0,极大的节约了部署的多环境成本。然而,在同一套环境内的多个不同的版本也可以受益于这套机制,传统应用虽说也支持在一个环境中并存多个版本,但相对比 Serverless 更加困难。首先,每个版本都需要相对独立的运行环境,会消耗更多的资源,其次,需要解决多个版本之间的流量的分配问题。

在 faas 上,这些问题已经被版本和别名机制完美的解决了。在 faas 上,由于没有流量就不会消耗计算资源,所以在发布一个版本的时候,成本也变得很低很低,每次发布都可以形成一个版本,然后通过别名来进行版本的切换和流量的分配。至于faas 的这套抽象,让灰度发布和 AD 测试变得非常的简单,不需要像 K8S 那样复杂的基础设置,开发者也可以轻松的享受平滑升级和快速验证的高级特性。

后面的课程我们会介绍更多的细节。Serverless 让开发和部署都变得更加的简单,希望您能够继续探索其他思维。

更多相关的资料可以访问函数计算的产品页。(http://www.aliyun.com/product/fc

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
Kubernetes jenkins 测试技术
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
|
5月前
|
人工智能 安全 测试技术
课时6:自动化 CI&CD 与灰度发布
自动化 CI&CD 与灰度发布
238 0
|
5月前
|
安全 测试技术 Serverless
课时6:自动化 CI&CD 与灰度发布
课时6:自动化 CI&CD 与灰度发布
210 0
|
7月前
|
jenkins Java 应用服务中间件
SpringBoot+Jenkins+Github+Docker+Maven持续集成CI与持续部署CD全自动化部署
我们采用tomcat运行war包的这种方式,先来到官网下载war包:https://www.jenkins.io/download/ 然后把war包上传到tomcat的webapps里,自动就解压运行了,访问页面,然后查看并输入密码: cat /root/.jenkins/secrets/initialAdminPassword
138 0
|
运维 jenkins Shell
docker | jenkins 自动化CI/CD,后端躺着把运维的钱挣了!(下)
在本篇文章中,将讲解使用jenkins帮助我们监听git仓库的变化,一旦有新的push到master分支,jenkins服务则从gitee主动拉取项目代码,构建新镜像(**借助上一节编写好的Dockerfile文件**),然后**删除同名旧镜像和旧容器,部署新容器**。
196 0
docker | jenkins 自动化CI/CD,后端躺着把运维的钱挣了!(下)
|
移动开发 jenkins Linux
(走过路过,不要错过)【CI/CD技术专题】「Jenkins实战系列」(2)Jenkins实现自动化部署+自动化合并其他分支
(走过路过,不要错过)【CI/CD技术专题】「Jenkins实战系列」(2)Jenkins实现自动化部署+自动化合并其他分支
186 0
(走过路过,不要错过)【CI/CD技术专题】「Jenkins实战系列」(2)Jenkins实现自动化部署+自动化合并其他分支
|
数据可视化 Dubbo Java
MSE 微服务测试---自动化回归最佳实践|学习笔记
快速学习 MSE 微服务测试---自动化回归最佳实践
277 0
MSE 微服务测试---自动化回归最佳实践|学习笔记
|
Cloud Native 架构师 测试技术
基于持续测试的质量守护:分层测试、测试自动化、单元测试(一)|学习笔记
快速学习基于持续测试的质量守护:分层测试、测试自动化、单元测试(一)
195 0
基于持续测试的质量守护:分层测试、测试自动化、单元测试(一)|学习笔记
|
Java 数据安全/隐私保护 数据库
自动化配置原理与实战 MySQL 数据库|学习笔记(二)
快速学习自动化配置原理与实战 MySQL 数据库
119 0
自动化配置原理与实战 MySQL 数据库|学习笔记(二)
|
监控 Java 关系型数据库
自动化配置原理与实战 MySQL 数据库|学习笔记(一)
快速学习自动化配置原理与实战 MySQL 数据库
118 0
自动化配置原理与实战 MySQL 数据库|学习笔记(一)