这次的分享来自于 Serverless Inc 的 Gareth Mc Cumsky, 他从 2000 年开始进行 Web 开发,从 2016 年开始构建 无服务器应用程序,并在 2019 年加入了 Serverless Inc 并同其他开发人员和社区开发者一起工作,他主要工作内容是帮助人们了解和构建 Serverless 应用程序,以及了解 Serverless 实践中的优点和缺点。
Serverless Framework:目前最广泛使用的开源的 Serverless 应用构建 serverless 应用。在海外主要适配 AWS 并可通过插件形式扩展其他更多的云厂商,国内主要是以腾讯云的 SCF 作为适配,方便开发者快速开发部署自己的 Serverless 应用。更多请查看 Serverless CLI 的中文帮助文档。
Serverless Dashboard:Serverless 看板是用来查看管理所有 Serverless Framework 部署的 serverless 应用的看板,用户在这里可以查看应用的状态,创建或销毁应用,管理应用的密钥,管理应用的参数,查看应用日志,查看警告通知以及更多方便开发者减少运维工作的功能。 在国内目前主要是使用腾讯云的 Serverless 应用中心来管理腾讯云的 Serverless 应用。 我们未来会在中国推出功能更强大的 Serverless Console,敬请期待。
Serverless Cloud:Serverless Cloud 是构建Web应用程序的绝佳工具
这一部分主要讨论使用无服务器可以给团队带来些什么,以及你的团队是否适合采用无服务器技术。或者你已经考虑要使用无服务器技术,那么这些内容也可以拿来分享给你团队中的其他人。
关于 Serverless 应用的简要定义:Serverless 应用是多个 Serverless 服务的组合,而 Serverless 服务是有云厂商负责维护的,无需担心这些服务的容量,配置,以及负载情况。 通常 Serverless 服务也有一些限制。 此外 Serverless 服务通常也提供API接口方便对服务进一步掌控(如:限制集群的大小)
简单来说,如果一个服务需要你来设定集群大小,或者指定容量,那么它很可能不是 Serverless 服务。
技巧1: 当你在构建 Serverless 应用时,优先选择 serverless 类型的服务通常会让事情简单很多。
使用 Serveress 可以为团队带来如下好处:
$7,793.10
。$2,774.00
。$10,567.10
($7,793.10 + $2,774.00)。经计算出的 Serverless 年度成本会略微高于一个运维工程师的人工成本,而通常当你有 30 亿请求需要处理的时候,你的团队中至少要有2位运维工程师来帮助你解决这些请求的负载问题。而这里还没有包含使用传统服务需要支付的服务器成本。
这一部分主要介绍无服务器应用的结构是什么样,以及将无服务器应用同其他服务一起使用的最佳方式。
如下图是一个微服务集合的目录结构,这里包含了一个 身份验证服务、消息通知服务、支付和账单服务等。
技巧2: 当你在构建 Serverless 应用时,应当尽可能的使用异步方式来进行服务间的通讯。
这一部分主要介绍构建一个无服务器应用的常见的软件开发生命周期。
技巧3: 持续集成非常适合用来构建 Serverless 应用时。
这一部分会进一步介绍从团队中的个人开发者角度,是如何构建无服务器应用的。
了解开发者如何从头开始部署一个 Serverless 应用:
使用 Serverless CLI 可以轻松的完成以下开发工作:
这一部分将要讨论是否要使用本地测试,而本地测试通常伴随着以下情况。
这一部分介绍在你的 Serverless 应用部署发布后,如何管理共享环境和生产环境中的 Serverless 应用