Serverless 入门课
蒲松洋(秦粤)
前百度国际化前端组组长
16754 人已学习
新⼈⾸单¥29
Serverless 入门课
15
15
1.0x
00:00/00:00
登录|注册

11 | 经验:Serverless开发最佳实践

你好,我是秦粤。上节课,我们了解了利用 K8s 集群的迁移和扩展能力,可以解决云服务商锁定的问题。我们还横向对比了各大云服务商的特点和优势,纵向梳理了云服务商提供的各种服务能力。最后我们可以看到,利用 Knative 提供的 Container Serverless 能力,我们可以任意迁移部署我们的应用架构,选择适合我们的云服务商。
但同时我们也发现,FaaS 相对于 Knative,反而是我们的瓶颈,我们无法平滑地迁移 FaaS 的函数。云服务商大力发展 FaaS,其实部分原因也是看中了 FaaS 新建立起来的 Vendor-lock,因此目前各大运营商都在拼 FaaS 的体验和生态建设。
那这节课,我们就来看看 FaaS 是如何解除云服务商锁定的吧。但在正式开始之前呢,我们先得了解一些 FaaS 的使用场景,以免一些同学误会,要是你的实践是为了 Serverless 而去 Serverless,那就不好了,我们还是应该从技术应用的角度出发。

FaaS 场景

我从[第 5 课] 开始就在讲 FaaS 和 BaaS 的底层实现原理 Container Serverless,是希望通过底层实现原理,帮助你更好地掌握 Serverless 的思想。但在日常工作中,使用 Serverless,只需要借助云服务商提供的 Serverless 化的 FaaS 和 BaaS 服务就可以了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了Serverless开发最佳实践中关于FaaS的使用场景和痛点,以及介绍了几个Serverless应用框架。文章首先强调了利用K8s集群的迁移和扩展能力解决云服务商锁定的问题,然后重点讨论了FaaS的使用场景,包括事件响应和Serverless应用。作者建议将FaaS的最佳使用场景分为事件响应和Serverless应用,并提出了对应的注意事项。此外,文章还指出了FaaS在Serverless应用过程中存在的痛点,包括调试困难、部署麻烦和客服无法跟进等问题。为了解决这些问题,作者介绍了几个Serverless应用框架,包括Serverless Framework和Malagu,分别强调了它们的跨云服务商支持和基于TypeScript的特点。总的来说,本文通过分享FaaS的使用场景和痛点,以及介绍Serverless应用框架,为读者提供了解决云服务商锁定问题的最佳实践。文章内容涵盖了FaaS的特点、使用场景和解决方案,对于想要深入了解Serverless开发的读者具有一定的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Serverless 入门课》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 我来也
    今天的例子部署的比较顺利. 只修改了f.yml和src/config/config.default.ts. 使用npm install安装依赖后 `f invoke -p`就可以本地调试了 `f deploy`就可以部署上阿里云了 这次部署后,只有一个函数,但是代码中的函数却都可以成功调用. 应该是`aggregation`的功劳吧. ------- 之前尝试<阿里云开发平台>时,自动生成过一个项目,也是跟老师这次的代码结构类似,也是有f.yml文件. 好像就是用的`Midway FaaS`框架 不过这次想用它部署老师的项目就遇到了问题. 编辑器会提示:VS Code 的 tsserver 已被其他应用程序(例如运行异常的病毒检测工具)删除。请重新安装 VS Code。 我也不会修,暂时在钉钉群中询问了也没有答复. ------ 老师这一会node.js,一会TypeScript的,作为后端开发的我,比较懵. 只会简单的部署,代码不会改也不会调.

    作者回复: TS现在我们阿里已经全面使用了。TS避免了JS的弱类型,类对象支持等等问题,而且还支持IoC。 Midway FaaS正式依赖IoC来实现简化业务逻辑的。 Node.js也属于后端语言了,我以前写过2年Java,7年PHP。现在全职做Node.js。

    2020-05-11
    2
    2
  • Geek_a7fcb9
    老师,看完了您的文章。有2个问题想请教一下。 问题一: 【k8s主要是对容器的编排,knative是一种基于k8s的serverless平台的实现,相比较于k8s提供了灰度发布、自动扩缩容之类的功能。】请问这样理解对吗? ------------------------------------------------------------------------- 问题二: 【Serverless 有多种实现方法,比如:Serverless Framework,Malagu,Midway FaaS。上边三者类似knative可以帮助我们搭建serverless平台。而“阿里云开发平台”是已经搭建好的serverless平台。】请问这样理解对吗

    作者回复: 问题一,理解的差不多,knative在k8s插件基础上提供了serverless的能力,例如有部分网络能力依赖istio插件。灰度发布还需要其他的K8s插件提供。 问题二,这3者都不是帮我们搭建serverless的。他们是开发框架,帮助我们快速开发serverless应用。他们提供主流云服务商的部署支持。部署应用的时候,则需要通过框架的配置,应用会直接上传并部署在云服务商上。

    2021-04-30
  • peter
    挺好的,不错!
    2020-05-18
    2
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部