查看精彩回放:https://developer.aliyun.com/live/245624
本文大纲
一、Serverless的特点和不足
二、站在开发者角度的Serverless Devs,详细介绍什么是Serverless Devs
三、命令行工具的新玩法
四、应用中心加持下的工具链
五、三个实践:一分钟我们可以用Serverless Devs做什么
六、共建Serverless Devs
一、Serverless的特点和不足
Serverless有几个特点,比如按量付费、极致弹性、降低运维难度和成本、可以将更多的精力用在业务本身。运用Serverless之后,开发效率得到提升,成本大幅节约,但冷启动问题严重,开发工具也不成熟,同时还面临着开发的调试问题、如何部署到线上问题、传统业务如何迁移问题等。所以站在开发者角度,Serverless工具链体系是什么样的?为此我们开发了开发者角度的工具链体系Serverless Devs。
二、站在开发者角度的Serverless Devs
Serverless Devs有两条路线要求,第一个是简单快速,配置简单,操作简单,并且可以非常快速地上手,同时尽力让每一个Serverless开发者可以舒服地使用,例如无强绑定,支持主流Serverless服务等。第二条线路是解决用户一些问题,比如为什么用Serverless,怎么用Serverless,以及如何让用户更习惯使用Serverless等。
大家可以通过官方网站来访问Serverless。
Serverless最大的特点是可以让使用者像使用手机一样来玩转Serverless。当我们不满足手机能力的时候,我们就会去应用市场来搜索应用来满足我们的一些诉求。表面上Serverless只是一个简单的工具,但实际有一套相对完整的应用体系,可以通过gui来唤起应用中心,来快速地部署、体验和使用。
Serverless有几个特点,可支持主流Serverless服务/框架,可视化的编辑和部署,以及灵活和开放的使用方法。
我们希望Serverless可以在一个项目的全生命周期发挥作用,在创建、开发、调试、部署和运维阶段发挥各种不同作用,而我们官方提供的组件也会尽可能满足全链路的诉求。
三、命令行工具的新玩法
以前用过的大部分命令行工具应该都是两方的,就是提供者和使用者,提供者定义好命令而使用者来使用命令。但是Serverless Devs是组件化的,所以针对不同的组件,使用者可能有不同的需求的。我们可以让组件的开发者来根据自己的需要快速定义指令,然后实现每个指令对应的方法,通过一个文件告诉我们方法和这个方法的简单介绍,这样用户就可以快速进行使用。
例如左边是Serverless Devs的默认指令,包括config, gui, init, search, platform等,每个指令后面都会有简洁的解释;右边是两个组件,上面是express,下面是阿里云函数计算的组件,它支持deploy, invoke, remove, logs等十余种命令,不同的组件定义不同的方法来满足用户的诉求,用户可以在使用的时候自由组合。
接下来是项目的描述,传统的项目描述大部分都是资源的描述,例如阿里云的泛工具,而Serverless Devs是一个行为描述和资源描述共同作用而形成的项目描述,它可以在前后自动化执行一些指令。
例如当我要部署一个hexo博客系统,我们在选择了hexo组件之后可以增加一个叫extends的字段,在下面描述命令前后要使用的能力。这样的行为描述在实际的项目过程中如果应用得当的话,会更加容易让整体的效率进行大规模提升。
四、应用中心加持下的工具链
Serverless Devs提供了相对完整的应用中心,在应用中心,你可以非常快速直观地搜索资源创建项目,最主要的是你可以可视化地来对项目进行描述。
比如下面,左半部分是首页,你可以在这个页面通过关键词来进行项目搜索,按照分类来查找项目,右边则是一个可视化编辑页面。所见即所得,你当前使用的组件有哪些字段、每个字段的含义、数据类型都可以通过这个页面来直观地看到。在可视化的时候,我们并不需要详细地对照文档,只需要通过左侧描述的内容就可以非常清晰地知道应该如何去写参数内容,有哪些值可以选择,以及它的结构是什么。
五、用Serverless Devs一分钟能做什么?
这里举几个例子,看看一分钟内能做什么。
第一个是hexo博客的案例,我们只需要进行搜索,找到hexo的应用,然后点击开始部署,选择好一些参数,点击部署,稍等片刻就可以将hexo的项目部署到线上。
第二个案例是Serverless Devs写诗,这算是Serverless Devs开发的原生例子,包括前端和后端,体验方法也非常简单,只需要搜索到为你写诗的应用,然后点击部署,只需要60秒钟就可以了。所以Serverless Devs App Store凭借着其可视化搜索、可视化部署、可视化编辑,让使用Serverless的门槛进一步降低。
第三个案例是传统框架的支持,大家可以非常简单快速地体验一个传统框架上云的过程,或者将已有的项目部署到云上。我们只需要稍等片刻就可以看到,它会将一个地址返回回来,我们在浏览器中打开就可以看到一个传统的项目“hello world”。
六、Serverless Devs!
我们期待和大家一起玩转Serverless,也期待大家的意见和建议,更期待和大家一同肩并肩作战,一起来建设Serverless的生态。最后,感谢大家对Serverless Devs的支持,请记住我们的理念,让使用Serverless像使用手机一样简单。也请大家记住,我们不仅仅是命令行工具,更是一个命令行和可视化一同作用的项目,可以让你不仅简单的上手Serverless,更可以让人人简单上手Serverless。