Serverless 架构(无服务器架构),是云计算时代一种全新的、革命性的架构模式。它意味着开发者无需关心底层服务器等基础设施,平台会根据业务请求量自动调度资源的弹性伸缩,且所有资源按需付费,没有请求和资源占用不收取费用,在降低成本的前提下极大降低运营复杂度。
2014 年,Serverless 架构进入大众视线,当时业界普遍认为,Serverless 化可大幅降低 IT 成本,将云的费用减少 10%-90%,同时还能提高服务部署效率。经过这几年的沉淀,部分公司已经在实践 Serverless,取得的效果也很明显。FaaS (Functions as a Service)函数即服务作为 Serverless 架构中的核心计算组件,通过将各个其他产品或服务粘合起来,应用被解耦成细粒度函数,所有逻辑都可以在函数内完成这样可以使工程师能够更专注于开发优异的新功能,快速构建应用与服务,而不是编写那些冗余而又不得不写的代码。
什么是 SCA CLI ?
SCA(Serverless Cloud Application,SCA)CLI 是京东云无服务器云应用命令行工具。通过SCA,用户可以快速生成function函数项目并基于项目模板进行自主开发,便捷完成函数的本地调试、打包、部署等操作,大大提高开发者的开发效率。
SCA CLI 是做什么的?
通过SCA命令行工具,用户可以:
- 快速初始化函数服务项目
- 本地开发、测试函数代码
- 将服务打包、部署云端
- 调用云端函数执行
- 管理云端函数、查询云端函数日志
支持命令如下:
SCA 正确的打开姿势
SCA CLI 支持Linux、Mac运行。同时,由于 SCA CLI 是基于go开发完成的,因此用户只需下载安装包,即可使用。
以Linux环境为例,跟着我们一起来快速创建部署test-function
Step 1安装
执行以下命令一步完成下载安装:
·curl -Ohttps://raw.githubusercontent.com/jdcloud-serverless/sca/master/hack/install.sh && chmod +777 install.sh && sh install.sh && source ~/.bashrc
验证:
Step 2配置账号信息
SCA安装完毕后,通过config命令将JDCloud账号信息同步至SCA中:
#sca config
[>] JDCould accountid = xxxx (your acount id)
[>] JDCould region = cn-north-1
[>] JDCould access-key = 0123abcd (your AK)
[>] JDCould secret-key = abcd0123 (your SK)
Step 3初始化项目
通过初始化项目,用户可快速创建一个项目模板,主要包括代码文件:index.py、配置文件:template.yaml,基于模板可进一步进行自主配置及开发。
在当前目录初始化function项目:
- 项目名称(默认): testproject;
- 函数名称(默认): test-function;
- 运行时(默认): python3.6
初始化test-function项目如下:
函数模板配置文件 template.yaml 是函数资源描述文件,SCA基于配置文件将本地代码及配置部署到云端。
Step 4代码开发及上传
此时,将您开发完成的代码及依赖库上传至CodeUri位置。此处,我们使用默认test-function函数目录下的index.py函数。
Step 5配置函数及验证
完成test-function函数配置后,您可以通过validate命令对template.yaml模板进行验证:
Step 6本地测试
(local执行需安装docker)测试默认当前目录下template.yaml文件中的test-function函数,event测试事件默认为 key:value 字符串:
Step 7打包部署
将当前目录template.yaml配置中的函数部署至云端,默认覆盖云端重名函数:
Step 8查询云端函数
以上,快速完成了test-function函数的本地创建、测试及部署。通过SCA您还可以对云端函数进行管理、测试及查询日志等。
看了上述内容,您有没有对SCA CLI有了大概的了解,如果您想了解更多关于京东云SCA CLI 相关信息,请点击“阅读”,进入京东云开发者社区查看~
欢迎点击“京东云”了解更多精彩内容