春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务

春节将至,身在公司的你是不是已经完全丧失了工作的斗志? 但俗话说得好:“只要心中有沙,办公室也能是马尔代夫。”
职场人如何才能做到最大效能地带薪“摸鱼”,成为了一项证明工作效率的学问。正所谓“授之以鱼,不如授之以摸鱼。”
今天就让我们来看看什么叫做开发人员职场“高效”摸鱼工具!
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 相关信息,请点击“阅读”,进入京东云开发者社区查看~
欢迎点击“京东云”了解更多精彩内容


春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务的更多相关文章
- react.js 之 create-react-app 命令行工具系统讲解
react.js 教程之 create-react-app 命令行工具系统讲解 快速开始 npm install -g create-react-app create-react-app my-app ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(二)--- 模型移植-环境搭建
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(四)--- 边缘端实例程序分析
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 从零开始打造个人专属命令行工具集——yargs完全指南
前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这 ...
- JVM调优前戏之JDK命令行工具---jhat
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- JVM调优前戏之JDK命令行工具---jstack
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下 ...
- Windows 编程,程序编译使用的命令行工具。
Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件 ...
- nodejs 编写(添加时间戳)命令行工具 timestamp
Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...
- MySQL 命令行工具之 mysqldump 深入研究
mysqldump 是MySQL的一个命令行工具,用于逻辑备份.可以将数据库和表的结构,以及表中的数据分别导出成:create database, create table, insert into的 ...
随机推荐
- Jquery实现列表增删改
//需求:对列表的增删改 //代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- vue实现登陆单页面
一 实现页面的布局 1. 首先在components里建一个login.vue <template> <div class=login_container> 登陆组件 < ...
- MyISAM与InnoDB 的区别
1. 事务:InnoDB支持,MyISAM不支持,在InnoDB中每一条SQL语句都会默认封装成事务自动提交,然而这样会影响速度,因此最好把多条SQL语句放在begin和commit之间组成一个事务: ...
- Day6 - J - Cartesian Tree POJ - 2201
Let us consider a special type of a binary search tree, called a cartesian tree. Recall that a binar ...
- django ajax发送post请求
第一种:将csrf_token放在from表单里 <script> function add_competion_goods() { $.ajax({ url: "{% url ...
- NIO组件 Selector(选择器)
简介 使用Selector(选择器), 可以使用一个线程处理多个客户端连接. Selector 能够检测多个注册的通道上是否有事件发生(多个Channel以事件的方式可以注册到同一个Selector) ...
- 配置thinkphp对mysql线上线下切换不同环境的配置 - (mysql-thinkphp) (1)
1.先打印出配置项的信息,在Index控制器下面的index->index里面设置 namespace app\index\controller; class Index { public fu ...
- Linux学习《第四章shell脚本练习一》随堂练习(重要)
- Ubuntu18.04可执行文件运行提示No such file or directory
参考原文见 https://blog.csdn.net/sun927/article/details/46593129? 最近我也遇到一个类似问题,同一个工具在Ubuntu16.04里面运行是好的,但 ...
- Linux下的文件目录树结构
Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件, ...