内容简介:Midway Serverless v1.0 发布之后,有不少同学来试用,提建议,感谢大家。 Github: https://github.com/midwayjs/midway, 开源为了前端和 Node.js 的发展,请到 Github 点 Star! Midway Serverless 在函数开发的...
Midway Serverless v1.0 发布之后,有不少同学来试用,提建议,感谢大家。
Github: https://github.com/midwayjs/midway, 开源为了前端和 Node.js 的发展,请到 Github 点 Star!
Midway Serverless 在函数开发的部分提供了 一层特殊的防腐层,能让同样的代码,在不同的平台运行,即所谓的运行时适配。而如今,这层适配器不仅仅开发给函数,也开放给传统数以万计的应用,让它们能够快速的迁移到现有的云平台,享受弹性容器的红利。
具体的防腐层设计,我们将在后面的文章详述,现在来看看这个功能如何使用。
使用举例
我们拿传统的 EggJS 应用举例。
整个传统应用迁移的部分和 Midway Serverless 的函数部分使用的基本模式相同,在项目根目录添加一个 f.yml
文件,即可使用 f deploy
发布。
service: my-egg-demo ## 应用发布到云平台的名字
provider:
name: aliyun ## 发布的云平台,aliyun,tencent 等
deployType: egg ## 部署的应用类型
整个过程相对比较简单,底层使用的运行时适配和函数是一致的,也达到了一套代码适配多平台的目的。
和平台的迁移方案的区别
Midway Serverless 从 v1.1 版本开始提供了一套应用迁移到 Serverless 容器的方案,而各个平台也已经有自己的方案,比如阿里云的 customRuntime 接入方案,以及腾讯云的各种 Component 组件。 这其中的区别有几个:
-
1、Midway Serverless 提供的平台迁移方案和函数部分相同,是跨平台的,即方案不受限于阿里云或者其他云平台,代码和应用时期一致,不需要(或者很少)做修改
-
2、复用函数的运行时适配能力,可以和函数享受同样稳定的能力,这套适配能力由 Midway Serverless 本身提供,代码开源,也方便排查和定位问题,或者增强能力
-
3、Midway Serverless 这套能力比较通用,私有化部署或者 适配其他应用框架非常容易
Midway Serverless 运行时提供了通用的生命周期,社区的大部分平台我们都会做一层防腐适配,同时这套运行时方案也适合于不同公司的私有化平台,给内部应用使用提供了便利。
上周 7.25 我们在上海阿里云 Serverless 云开发 Workshop 上做了这层运行时防腐层的分享,后续也将提供文字版,欢迎关注。
一些能力限制
Midway Serverless 提供了简单的方案,能够将现有的应用迁移到各家云平台,但是本身还是有一些限制和注意事项,我们列举如下。
-
1、平台网关的限制,比如阿里云和腾讯云网关,超时时间,POST 大小、文件上传等,和函数是一样的,即函数不能做的事情,在这套应用部署方案中依旧不能做
-
2、应用的包部署不宜过大,如果比较大,可以使用云平台的对应方案来解决,比如阿里云的 NAS,或是腾讯云/AWS 的 Layer
-
3、应用在函数容器中的带状态的部分,由应用本身处理,这套方案不负责解决这个问题
-
4、应用在函数容器中部署模型为 单进程,稳定性由弹性容器本身来解决
-
5、应用中有 long runing 或者定时任务的部分,在无流量情况下不会触发,请使用其他方案代替。
-
6、应用中 socket 等非 HTTP 协议,不会生效
最后
函数体系发布之后,我们将依旧回归的到应用本身,去思考如何让函数和应用结合到一起,让应用和函数在不同场景下能够发挥各自最大的作用。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 一位资深传统型软件开发者的思考:传统软件企业危机四伏
- AI如何挑战传统翻译
- 当 Substrate 遇上传统业务应用
- 当Substrate遇上传统业务应用
- DevOps与传统融合落地实践
- [译] 对传统应用进行容器化改造
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Django 1.0 Template Development
Scott Newman / Packt / 2008 / 24.99
Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
RGB转16进制工具
RGB HEX 互转工具