Serverless开发流程

2021-12-12  本文已影响0人  lxtyp

Serverless Framework

Serverless Framework是一个命令行工具,它使用基于事件触发的计算资源,如AWS Lambda、腾讯云云函数、阿里云函数计算等,此外,Serverless Framework为开发和部署Serverless架构提供了脚手架、自动化工作流以及最佳实践,并且支持通过插件进行功能扩展。

Serverless Framework 不仅提供了以函数为核心的解决方案,还推出了 Serverless Plugin (插件模式)和 Serverless Component (组件模式)的开发方式。就是说,Serverless Framework 不仅关注 Serverless 中的 FaaS,也关注 Baas,将API网关、对象存储、CDN、数据库等众多后端服务和函数计算进行有机结合,让用户可以一站式开发、部署和维护。、

YAML

Serverless Framework 开发 工具的核心是基于配置文件组织和管理项目的,通常这个配置文件的格式是 YAML。

Serverless Plugin

Serverless Plugin 是一种基于函数粒度的管理工具,无论是针对哪个云厂商,它的目标就是对 FaaS 进行管理。Serverless Plugin 可以很轻松地管理、使用 FaaS 服务,而且还提供了插件机制,这意味着用户可以使用官方或者第三方提供的丰富的插件构建和部署函数

Serverless Component

Serverless Component就像搭建乐高积木一样,通过组合来实现更加高级的功能,方便开发实际业务

Serverless Plugin 与 Serverless Component

虽然 Serverless Plugin 提供了丰富的插件,但还是以函数管理为核心。然而 Serverless 不仅管理函数资源,还需要管理关联的 Baas 服务,比如 API 网关、云对象存储、云数据库等
由于 Serverless Component 之间可以存在依赖关系,我们在开发工作中能够更加灵活地组织和使用 Serverless 资源
因此,相较于 Serverless Plugin, Serverless Component 的开发模式更加全面,并且
更符合 Serverless 的开发模式

Serverless CI/CD

在软件工程中,CI即持续集成 (Continuous Integration)、CD 即持续交付/ 部署 (Continuous
Delivery/Continuous Deployment)。CI/CD 是开发和运维之间的纽带,减少了不必要的重复劳动,有效提升软件的交付效率,并且减少手工的失误,确保更高的产品质量

CI/CD 的核心概念是持续集成、持续交付和持续部署。所谓持续,就是一个连续的过程。我们在软件开发的过程中,通常会对大的任务进行拆分,每当完成一个小功能,就会执行部署和交付,一旦发现问题,便马上修复,不会影响其他部分和后面的环节
这种做法的核心思想是,虽然我们难以了解完整的需求,但是可以将事情一小块一小块地做,并且加快了交付的速度和频率,使得最终交付的产品在下个环节得到验证,做到早发现、早反馈、早治理

使用 CI/CD 可以给软件开发带来如下优点:
1,所有新增代码都会经过测试,降低了代码风险
2,测试自动化,减少人工手动操作环节
3,通过持续交付,可随时产生可部署的版本
4,代码托管在仓库,增加了系统透明度
5,通过自动化部署,减少人工操作失误,可以增强团队对部署效果的信心

上一篇下一篇

猜你喜欢

热点阅读