本篇文章给大家分享的是有关如何进行 Serverless CI/CD 自动化部署,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
将为大家讲解 Serverless 工作原理、架构优势和 Serverless 应用的开发流程,以及如何使用 Serverless CI/CD 能力进行自动化部署。
下图一张逻辑架构图,最上面application,下面是系统资源。我们可以通过虚拟机、容器、数据库、存储等来提供系统资源。同时,我们需要对这些系统资源进行维护,比如资源申请、环境搭建、容灾、扩缩容等。
Serverless 是什么呢?Serverless 就是把底层的这些资源以及对这些资源的运维都交给云厂商来维护、这些资源对业务来说是黑盒的,业务只需要关注自己业务逻辑的开发即可。
这种架构思想和方法就是 Serverless。
Serverless 直译过来叫无服务器,实际上他不是真的不需要服务器,只不过服务器由云厂商来维护。Serverless 是一种软件系统架构思想和方法,不是软件框架、类库或者工具,它的核心思想:无须关注底层资源,比如:CPU、内存和数据库等,只需关注业务开发。
Severless 的架构如下图所示。客户端请求将发送的 API 网关,由云函数进行处理,调用底层资源进行返回。利用云函数自动伸缩的优势,免除用户运维的烦恼。
使用 Severless 开发应用,能消除传统海量服务器组件需求,降低开发和运维复杂性。Serverless 按需调用,按需伸缩,按使用收费,降低启动成本。由于底层资源调配工作都由云厂商解决,用户只需专注业务逻辑开发即可。
CI/CD 是 持续集成(Continuous Integration)和持续部署(Continuous Deployment)的简称。指在开发过程中自动执行一系列脚本来减低开发引入 bug 的概率,在新代码从开发到部署的过程中,尽量减少人工的介入。
Serverless CI/CD 基于 CI/CD 持续集成的 pipeline 机制,实现用户开发部署的全自动化,提升开发效率。
开发一个 serverless 应用,需要进行以下步骤:
引入组件:引入腾讯云封装好的 severless 组件(如 tencent-express),可以快速进行开发。
配置 yml 文件:yml 文件是为了定义您的应用组织资源配置。不同组件对应不同的 yml 配置。
业务开发:进行用户自身业务的开发、调试、测试。
部署上线:把测试通过的功能发布上线。为了业务的稳定,建议进行灰度发布。
更多详细开发部署指南参考官网《 灰度发布与环境隔离 》
由于 serverless 应用开发过程中调试是直接调用云函数等资源,因此每次修改代码后都需要执行部署命令,反复执行命令行比较繁琐。环境的隔离与灰度发布如果人工配置容易产生错误,因此需要 CI/CD 能力支持。
前面讲到 CI/CD 通过在开发过程中自动执行一系列脚本来减低开发引入 bug 的概率,在新代码从开发到部署的过程中,尽量减少人工的介入。
使用 Serverless CI/CD,主要是利用 CI/CD 已有的优势,让 serverless 开发部署自动化,提高开发的效率,减少人工产生的出错。
以上就是如何进行 Serverless CI/CD 自动化部署,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。