{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2019-08-23-tencent-serverless","result":{"data":{"currentBlog":{"id":"3c77f4d7-206b-59cb-a5d0-c915efc0a8fd","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586849656143-%E5%B0%81%E9%9D%A2%E5%9B%BE.png","authors":["孔令飞"],"categories":["news"],"date":"2019-08-23T00:00:00.000Z","title":"腾讯云 Serverless 技术演进","description":"本文将从产品层面来介绍腾讯云是如何落地 Serverless 技术以及 Serverless 的技术演进","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["技术演进","serverless"],"keywords":"Serverless","outdated":null},"wordCount":{"words":1090,"sentences":79,"paragraphs":79},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-08-23-tencent-serverless.md","fields":{"slug":"/blog/2019-08-23-tencent-serverless/","keywords":["go","serverless","无服务器","云函数","Serverless","用户","函数","调用","计算资源","业务","请求","serverless"]},"html":"<blockquote>\n<p>注：本文整理自上周六举办的「Hello Serverless」技术沙龙深圳站演讲内容，讲师是腾讯云 Serverless 产品架构师孔令飞，文末提供了讲师演讲 PDF 的下载，回复「Serverless 深圳」免费可得。</p>\n</blockquote>\n<h2 id=\"前言\"><a href=\"#%E5%89%8D%E8%A8%80\" aria-label=\"前言 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>前言</h2>\n<p>Serverless 是一项新技术，可能有朋友不是很熟悉。所以我们先介绍下 Serverless 的概念和发展历史，接着介绍腾讯云 Serverless 从 1.0 到 2.0 的技术演进，以及我们如何支持 Serverless 这种技术的，也就是技术生态。最后再介绍下 Serverless 的应用场景和具体的应用案例。</p>\n<h2 id=\"serverless：云计算新趋势\"><a href=\"#serverless%EF%BC%9A%E4%BA%91%E8%AE%A1%E7%AE%97%E6%96%B0%E8%B6%8B%E5%8A%BF\" aria-label=\"serverless：云计算新趋势 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless：云计算新趋势</h2>\n<p>这是 Serverless 目前的发展情况。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZpSqI96icwoic2ZLx6NSTH9xicBCv9xic5MSsa95jzpP53Iv9RpEfKfOOMQ.jpg\"></p>\n<p>最近几年，微服务和 k8s 很火。上图可以看到 Serverless 跟他们的热度对比，其中蓝色曲线是 Serverless 的热度曲线图。从 2016 年开始，Serverless 的热度是要大于微服务和 k8s 的。</p>\n<p>Serverless 最初在 2010 年被提出，2014 年 AWS 推出了 lambda 服务，把 Serverless 产品化，并收到了很好的效果，微软、Google 和 IBM 看到后，也分别在 2016 年推出了自己的 Serverless 产品：Azure function、GCP 和 OpenWisk。阿里云和腾讯云也分别在 2017 年推出了自己的 Serverless 产品，腾讯云要早阿里云一天推出。</p>\n<p>在 2018 年，我们联合微信，推出了基于 Serverless 的产品小程序云开发，用来协助用户快速的开发小程序。在 2019 年，我们推出了 Serverless 2.0 产品，后面会介绍 Serverless 2.0 和 Serverless1.0 在技术形态及计算资源上的区别。</p>\n<h2 id=\"什么是-serverless\"><a href=\"#%E4%BB%80%E4%B9%88%E6%98%AF-serverless\" aria-label=\"什么是 serverless permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>什么是 Serverless</h2>\n<p>Serverless 直译过来就是无服务器，无服务器并不代表 Serverless 真的不需要服务器，只不过服务器的管理以及资源分配部分对用户不可见，由平台开发商维护，用户只需要关注业务逻辑的开发即可。Serverless 不是具体的一个编程框架、类库或者工具，它是一种软件系统架构思想和方法。它的核心思想是用户无须关注支撑应用服务运行的底层资源，比如：CPU、内存和数据库等，只需要关注自己的业务开发即可。</p>\n<p>那么 Serverless 为什么这么火？</p>\n<p>从云计算的发展阶段说起，一开始是 On-Premise 层，接着是 IaaS 层，之后再到 PaaS 层。最后是 FaaS 层，Serverless 就是在这一层。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZhHTKPASqenqBceZTY9C1LqKQfS6Y2WS6wfOJeQljx5DyCqAaNmJ1Vg.jpg\"></p>\n<p>在软件研发领域，绕不开的 2 个环节是软件的部署和运维。如果我们要上线一个业务，在 On-Premise 阶段，需要购买物理服务器，可能还需要自建机房、安装制冷设备、招聘运维人员，然后再在上面搭建一系列的基础设施，比如：虚拟化、操作系统、容器、Runtime，Runtime 可以理解为像 Python、golang、Node.js 这类软件。接下来我们要去安装软件类的开发框架。最后，我们才会去编写我们真正需要的业务函数。</p>\n<p>到了 IaaS 层这一阶段，云厂商维护了硬件和虚拟化这 2 个基础设施，到了 PaaS 层云厂商又维护了 OS、容器和 Runtime，然后到了 FaaS 这个阶段，用户只需要关注 Function，也就是只需要关注自己的业务逻辑。可以看到随着阶段的演进用户需要关注的点越来越少，越来越聚焦于自己的业务逻辑。所以在 On-Premise 阶段我们开发一个业务可能需要 8 个人，在 FaaS 阶段，我们只需要 2 个业务，节省的人力可以投入到业务研发这块儿，提高产品的迭代速度，进而提高产品竞争力。</p>\n<p>过去十多年，云计算其实是一个「去基础架构」的过程。这个过程可以让用户聚焦于自己真正需要的业务开发上，而不是底层的计算资源上。Serverless 符合云计算发展的方向，是云的终极形态，这种特有的模式使 Serverless 存在潜在的巨大价值。</p>\n<h2 id=\"serverless-20-组件架构\"><a href=\"#serverless-20-%E7%BB%84%E4%BB%B6%E6%9E%B6%E6%9E%84\" aria-label=\"serverless 20 组件架构 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 2.0 组件架构</h2>\n<p>这张图描述了 Serverless 的组件架构。最底层是基础设施层，底层计算资源我们用到了 docker 和轻量化虚拟机技术，其中 docker 是 Serverless 1.0 的计算资源展现形态，轻量化虚拟机是 Serverless 2.0 的计算资源展现形式，相比于 docker，轻量化虚拟机性能得到了非常显著的提升，可以在几毫秒就可以启动一个业务进程。在最底层我们也做了双活，并且对底层资源做了严格的安全保护。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZ43VBL0icvWE5fn17LWYAjsibv6KW9Lovw4FaL5djy4yibD7nf8Aaicmia3A.jpg\"></p>\n<p>再上一层就是资源管理层，比如说我们有集群监控，监控我们的集群监控状况，如果有集群不可用，会立马安排运维人员去排障。当然了，我们底层是有双活的，当一个集群出故障的时候，我们可以把流量切换到另一个集群，用户是无感知的，也不会影响用户的请求。这一层我们有专门的自动扩缩容算法，来应对用户的请求变化。</p>\n<p>再往上，我们有认证和授权系统，通过认证和授权来保证函数的安全。最上面就是接入层，接入层主要用来触发 Function 的调度和分配。接着往上是架构层，主要用来做一些流程上的调度。最上面这 2 层是用户需要关心的，用户主需要关注自己的业务代码，以及跟数据库，存储等的调用，还有自己使用的一些框架，其它底层的设施用户完全不用关心，全是由云厂商来提供专业的保障和维护。</p>\n<p>我们还提供了很多外围的工具系统，来支持用户的研发、部署和排障。比如：DevOps 支持，日志、监控、告警支持。后面会有介绍。</p>\n<h2 id=\"serverless-20-技术形态\"><a href=\"#serverless-20-%E6%8A%80%E6%9C%AF%E5%BD%A2%E6%80%81\" aria-label=\"serverless 20 技术形态 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 2.0 技术形态</h2>\n<p>如图，左边是 Serverless 1.0 的技术形态，右边这部分是 Serverless 2.0 的技术形态。1.0 的时候，只有 event function，event function 是基于事件驱动型的，大概意思就是外界触发一个事件给 Serverless 平台，Serverless 平台收到触发事件后会调用函数并传入触发事件数据和参数信息，函数内部做业务逻辑处理之后返回给调用方。event function 可以对接多种云上的产品，比如：api 网关、ckafka、cmq、cos 等。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZ2DhkfU9vb8sTQic2tC6tg5URCqCrKjhhr12YWIurp7KXI4Bheq4PmKQ.jpg\"></p>\n<p>event function 是一种开发模式，要求业务将业务逻辑拆分成 function 这种粒度，这种方式国外接受程度比较高，但是国内很多用户都还停留在 HTTP 这个阶段，为了能够方便现有的业务迁移到 Serverless 平台，适配现有业务的调用方式以及扩展 serverless的使用场景，我们又开发了 2 个新的技术形态，http function 和 http service。</p>\n<p>http function 这种形态可以理解为通过 HTTP 请求来触发函数的运行，通过 HTTP Request 传递参数，通过 HTTP Response 来返回参数。同时在创建 HTTP Function 的时候会自动生成外网域名，供用户直接调用。</p>\n<p>event function 和 HTTP Function 都是只有在请求的时候才会调用，函数完成之后便不再运行，也就是不再占用资源，换句话说不用再为这些资源付费，后面会有一页 PPT 介绍，serverless 是如何节省资源，以及跟 CVM 比 Serverless 这个技术的价格优势在哪里。</p>\n<p>接着介绍一下 HTTP Service，Service 这种形态可以理解为我们通常意义上的 HTTP 服务，简单理解就是把 HTTP 服务的运行环境从物理机或者虚拟机或者容器换成 Serverless 计算资源。这种形态服务进程常驻，不限制运行时间，因为服务进程常驻，所以它一直在监听请求，所以请求延时更低。因为 service 这种形态，跟我们现在的服务运行方式是一致的，所以业务可以无缝迁移到 Serverless 平台上，不需要做过多的改造。同时在用户创建 service 之后平台会自动创建一个外网域名供调用。</p>\n<p>3 种形态各有使用场景。比如：event function 适合基于事件触发型的请求，比如：cos, ckafka, cmq， api 网关，也适合用完即走的请求。http function 适合期望函数以 http 请求的方式调用的场景，http service 适合期望服务以 HTTP 服务持久监听请求的场景。</p>\n<p>到 2.0 的时候我们跟友商已经形成了一个差异，像 AWS 和阿里的 FaaS 还停留在这个阶段，这边业界有个比较好的产品叫 Google Cloud Run。所以我们跟其他友商的优势是他们是割裂开的 2 款产品，我们把他放到同一个入口了，更方便用户去使用。</p>\n<h2 id=\"serverless-20-运行过程\"><a href=\"#serverless-20-%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B\" aria-label=\"serverless 20 运行过程 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 2.0 运行过程</h2>\n<p>这两种技术形态，又是如何支持用户请求的呢？</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZiaMstyt8BtmFE0MJmS9P4lia1hicvIBE6HJeIFlh2VpxkCPW8jYzyVc3w.jpg\"></p>\n<p>如果一个用户想用云函数，首先要在本地做开业务开发，目前用的比较多的是 VS Code IDE，当研发把代码和依赖编码完成后通过我们提供的 VS Code 插件可以很方便的把代码部署到我们的平台上，或者通过我们提供的 SCF 命令行工具，也可以很方便的把代码部署到云端，也可以通过我们的控制台进行代码提交。这是我们的云函数平台，分为 function 和 service 2 种形态。因为他是一个完整的业务逻辑，势必会用到像数据库，对象存储这些服务，云函数已经把相关产品的 sdk 内置到我们的 runtime 中了，用户在使用这些后端服务时，直接 import sdk，然后掉 SDK 相关接口即可，用起来会更方便一些。后端的这些服务在 Serverless 中统一称为 BaaS (Backend as a Service)。也就是把像数据库，对象存储等能力统一通过 API 的形式供用户使用，至于这些组件的高可用，扩缩容也不需要用户去关心，用户只需要去使用即可。</p>\n<p>用户把业务逻辑部署完成之后，可以通过终端去发起请求，比如浏览器、安卓或者 IOS，Serverless 提供不同的触发方式，比如 HTTP，也就是通过 HTTP 请求来直接触发。通过 COS 触发，举个简单的例子，用户把一张图片上传到 COS 平台，COS 平台收到用户上传图片的时间后，会去请求配置的云函数，并且传入事件的数据，和用户自定义的数据，业务在云函数中通过解析这些数据和参数完成业务逻辑。</p>\n<p>当请求来的时候，我们平台会根据请求量的大小，去自动或缩容。像 Function 这种，我们会瞬时拉取足够的函数实例来满足所有的请求，我们有一个调度层，会根据请求量的大小来判断需要起多少个 function 实例，同时我们也有一套算法，根据用户每天的请求情况，提前创建好一些资源，当用户请求过来时，直接将请求切换到已经创建好的资源上，减少请求延时。像 Service 这种，我们也会根据请求流量动态的做水平扩容，业务无须感知。</p>\n<h2 id=\"serverless-20-技术生态\"><a href=\"#serverless-20-%E6%8A%80%E6%9C%AF%E7%94%9F%E6%80%81\" aria-label=\"serverless 20 技术生态 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 2.0 技术生态</h2>\n<p>Serverless 更多的是解决计算资源的按需分配，无须运维，但如果想真正在 Serverless 平台上跑业务，还需要其它系统的支持，来满足业务对开发、运维和排障的需求。我们从开发者工具，DevOps、监控运维 3 个方面，来介绍下我们是如何支持函数的研发、运维和排障的。</p>\n<p><img src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==\"></p>\n<p><strong>开发者工具</strong></p>\n<p>首先来介绍下开发工具，为了支持开发者能够方便高效的开发和部署云函数，我们开发了一系列的工具，比如：我们提供 VS Code 插件，通过 VS Code 插件，开发者可以很方便的通过 IDE 直接部署、更新和调试云函数。我们也提供了 Web IDE 来方便用户直接在网页开发代码。此外我们还提供 CLI 工具，通过 CLI 用户可以在终端很方便的通过命令调用完成诸如配置、部署、调试、调用等功能。最后我们还提供 API 接口来满足用户对自动化和定制化的需求。最后我们还提供 SDK 供用户更方便的调用云函数的接口。所以可以看到要将 serverless 产品化，还需要做很多其它工作来支撑 Serverless 这个技术，尤其是工具这块儿。</p>\n<p><strong>DevOps 支持</strong></p>\n<p>除了开发者工具，我们也提供完善的 DevOps 支持，从最佳实战，到工作流，到工具链，以及产品打通，我们都提供了很多方案和支持。</p>\n<p>比如工作流这里，我们支持编码、构建、打包、部署、测试和发布等一系列流程。在工具这里，我们提供了：CLI、应用模型等。产品这里，我们打通了很多产品供用户很方便的跟这些产品进行交互，利用这些产品提供的能力，比如：Git 仓库，API 网关，Serverless DB 等。这个是 DevOps 支持。</p>\n<p><strong>日志</strong></p>\n<p>日志这里我们支持 2 种日志查询方式，方便用户查看日志。在 scf 控制台上，能够查看函数调用成功与否，各阶段的调用时间，以及用户打印在日志或者标准输出的日志，支持用户按 RequestId 去搜索日志。另外我们还支持用户将日志输出到腾讯云日志服务系统，将日志持久化存储，在日志服务系统中，用户可以根据正则表达式来搜索日志，也可以自定义检索规则，方便下次检索。</p>\n<p><strong>监控</strong></p>\n<p>我们提供 3 个维度的监控。提供本月调用次数、本月资源量、本月出流量的监控。提供按地域划分的调用次数、运行时间、错误次数、并发个数、受限次数监控，这些监控指标都是用户很关心的指标。另外我们也提供函数级别的监控：：调用次数、资源超过限制次数、函数执行超时时间、内存超过限制次数等监控指标。所有这些监控指标都可以在腾讯云监控系统上配置告警。</p>\n<p><strong>性能监控</strong></p>\n<p>我们还提供一些更高阶的监控，现在在启动开发，大概在 8 月底或者 9 月初的时候会发布。我们会提供函数与函数之间的调用链追踪，展示每个调用节点函数的执行情况、函数执行的性能分析，以及支持对失败函数进行流量重放。所谓的流量重放，就是说，我们会把调用失败的函数放在 DLQ 队列中，用户可以很方便的从 DLQ 队列中重试该失败的函数，方便用户 Debug。</p>\n<p><strong>计费模型</strong></p>\n<p>之前有提到过，我们会有一页 PPT 来专门分析下 Serverless 下的计费模式和优势。Serverless 平台下的计费按如下 3 个维度进行计费：</p>\n<ol>\n<li>资源使用费用：（资源使用量 - 免费资源额度） X 资源使用单价</li>\n<li>调用次数：（函数调用量 - 免费调用额度） X 调用次数单价</li>\n<li>外网流量费用：外网出流量 X 流量单价</li>\n</ol>\n<p>但是这种比较难理解，所以我们一般会跟 CVM 进行对比：如果用户部署业务，需要购买 CVM，可能需要 10 台 CVM，那对计算资源的投入就是这条黄线，相当于计算资源一直在使用这些计算资源。对于云函数来讲，当没有请求的时候是不占用计算资源的，不会产生任何费用，只有请求的时候才占用计算资源，白天会有个波峰，晚上会有个波谷，大部分业务都是这种模式，可以看到这些阴影面积就是云函数的实际使用资源，我们只会对这些阴影面积进行收费。</p>\n<p>这个是跟 CVM 的计费对比，当资源使用率小 60% 的时候 serverless 下的费用比 CVM 小很多，一般业务很难达到资源使用率 60%，能达到 30% 就已经很不错了。</p>\n<h2 id=\"serverless-event-function-应用场景\"><a href=\"#serverless-event-function-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF\" aria-label=\"serverless event function 应用场景 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless Event Function 应用场景</h2>\n<p>这里介绍一下应用场景，先介绍下 event function 的应用场景，通过这张图，我们可以看到，云函数可以作为浏览器、APP 和小程序的后端服务。通过我们提供的不同触发器可以支持不同的场景，比如通过 API 网关触发器，可以匹配 websockt 的应用场景，通过 cos/cmq/ckafka 触发器可以支持像：消息处理、流失计算，事件通知这类的应用场景。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZPbVP2vWOoRAgmnCkFrab3O3goXUHuPf0MFz8QJiaImiaicjrqZpnibEH6A.jpg\"></p>\n<h2 id=\"serverless-http-service-应用场景：bff\"><a href=\"#serverless-http-service-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF%EF%BC%9Abff\" aria-label=\"serverless http service 应用场景：bff permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless HTTP Service 应用场景：BFF</h2>\n<p>刚才那个是比较简单的一个 Demo，这个就是一个比较复杂的场景。假设我有一个 APP 应用跨多端的，比如 Android，iOS，Web。如果想写后台的话，我可能要写多个接口，去适配不同的终端。这样如果后端有变更，需要去更改 3 个终端的 API 接口，与此同时，当我们需要对一个字符串进行处理，如限定 140 个字符的时候，我们需要在每一个客户端（Android，iOS，Web）分别实现一遍，这样的代价显然相当大。。现在有一个比较流行的解决方案就是在前后端加一个 BFF 层（Backend For Frontend）将前后端解耦，这里是 BFF 层可以承载的能力比如：身份校验，日志记录，数据组合等。BFF 一般由前端工程师去编写，适配不同的后端当后端有变更的时候，只需要改 BFF 层就可以，不用去更改客户端。BFF 层可以部署成 HTTP Service，也就是可以直接利用我们提供的 HTTP Service 技术形态来部署。通过 BFF，可以让前端工程师变成全栈工程师，开发不用去关注底层的资源。</p>\n<h2 id=\"serverless-助力微信小程序云开发\"><a href=\"#serverless-%E5%8A%A9%E5%8A%9B%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%91%E5%BC%80%E5%8F%91\" aria-label=\"serverless 助力微信小程序云开发 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 助力微信小程序云开发</h2>\n<p>这个是小程序云开发了，是腾讯云和微信合作的一个标杆场景。左边是传统模式，首先是小程序前端，后面对应一个后端，这个后端可能是一个 API 服务器，后端又对接了很多其它子系统比如：数据库、存储、负载均衡、网络、容灾等。需要考虑很多因素，但是用云开发，就可以简化成右边这种架构，前端页面，然后到微信后台，微信后台会走专线的形式，将用户的请求转到 Tencent Cloud Base 组件，简称 TCB，TCB 后边挂接了数据库、存储、网络、容灾等系统，后端这些都不需要工程师去考虑，全都有 TCB 进行对接。TCB 相对纯云函数来讲它屏蔽了更多的东西比如：云函数、存储和数据库，做小程序开发会更简单。</p>\n<p><img src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==\"></p>\n<p>接下来我们看下 serverless 的具体落地情况。</p>\n<h2 id=\"serverless-助力腾讯六大业务线\"><a href=\"#serverless-%E5%8A%A9%E5%8A%9B%E8%85%BE%E8%AE%AF%E5%85%AD%E5%A4%A7%E4%B8%9A%E5%8A%A1%E7%BA%BF\" aria-label=\"serverless 助力腾讯六大业务线 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 助力腾讯六大业务线</h2>\n<p>这里先介绍下腾讯云 serverless 产品在内部的使用情况。目前在腾讯内部已经有大量业务在用，比如微信小程序云开发底层用的是 serverless 做计算资源，企业微信的机器人。QQ 小程序相册，腾讯新闻底层也用到了 serverless 等。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s61J3ao4WkaF3iaqVnxFmCvgZjbjQngvd1UFOzETIhWgo2icHUv86tjjvHwQBQ5r3iapoiaaUofmOr8Srw.jpg\"></p>\n<p><strong>客户案例 - 腾讯地图：100 亿条消息/天</strong></p>\n<p>这个是腾讯地图的客户案例，走的是 event function 这种方式。场景是这样的：用户在访问腾讯地图时会产生一些数据库，腾讯地图会将这些数据进行整理并保存到 Hbase 和 ES 上，然后再配上一个 UI 用来查询数据。当用户产生一条数据时，会将这条数据放在 kafka 队列中，kafka 触发后端的云函数，云函数做数据处理之后又将数据放入 kafka 队列中，由另外一个进程从 kafka 队列中取走处理后的数据，放入 ES 和 Hbase 中。</p>\n<p><strong>客户案例 - 企业辅导背单词</strong></p>\n<p>企业辅导背单词没有用云开发那一套去做这个小程序，是因为他有多端，有 QQ 小程序，有微信小程序。这个是企业背单词的逻辑架构，这边是小程序的功能侧，这边是管理后台，它所有跟后台的交互都是用 API 网关去跟后端的 Function 交互，然后后端的 Function 去跟后端的 BaaS 交互。这个是背单词的的技术架构，小程序端会实现听、读、学习等逻辑，小程序端调用后端的 Function 会去完成鉴权、语音合成、学习记录存储等工作。像语音合成是直接调用 Baa S层的 AI 接口，学习存储是直接调用 BaaS 层的数据库接口把单词等信息存入数据库的。</p>\n<p><strong>客户案例 - 腾讯相册小程序</strong></p>\n<p>这个是小程序的案例，去年发布小程序云开发的时候，这个是我们第一家用户，也是调用量最大的，这个小程序是把腾讯相册和 QQ 空间做了打通，在微信端用相册小程序，就可以把原来放在空间的相册、图片下载出来，也可以在手机端去做一些图片的上传和分享等，相册小程序用户量是比较大的，目前的注册用户是 1 个亿，月活 1200 万，如果用传统的形式去实现，他要搭业务集群，域名备案，负载均衡，监控，包括日志，会话管理还有数据库，它全部都要自己搞一套，比较复杂。当时他们选云开发时因为他们人力不够，包括测试、研发人力都不够，就几个前端工程师。用云开发之后，架构就比较简单了，微信端开发完之后，然后到业务集群，业务集群就相当于后端的云函数，去写业务逻辑，最后到数据库，对象存储。</p>\n<p>这个小程序最初是一个前端工程师花了 2 周时间写了一个 Beta 版本，基本上就把相册的上传下载分享等逻辑全部写好。</p>\n<h2 id=\"serverless-带来的用户价值\"><a href=\"#serverless-%E5%B8%A6%E6%9D%A5%E7%9A%84%E7%94%A8%E6%88%B7%E4%BB%B7%E5%80%BC\" aria-label=\"serverless 带来的用户价值 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Serverless 带来的用户价值</h2>\n<p>业务迁移到 serverless 平台可以带来如下价值：</p>\n<ol>\n<li>用户不需要去购买和维护计算资源，并且不需要关注高可用、负载均衡等问题，用户只需要去编写数据处理的业务代码即可</li>\n<li>我们天然的支持了基于ckafka的触发器，用户不需要再去实现这一套逻辑，节省了很多工作量</li>\n<li>资源按需分配，只有用户浏览地图的时候才会触发底层资源的分配</li>\n<li>借助于云的能力，我们提供了非常大的资源池，用户不需要去担心后台计算资源的问题</li>\n</ol>\n<hr>\n<blockquote>\n<p><strong>传送门：</strong></p>\n<ul>\n<li>GitHub: <a href=\"https://github.com/serverless/serverless/blob/master/README_CN.md\">github.com/serverless</a> </li>\n<li>官网：<a href=\"https://serverless.com/\">serverless.com</a></li>\n</ul>\n</blockquote>\n<p>欢迎访问：<a href=\"https://serverlesscloud.cn/\">Serverless 中文网</a>，您可以在 <a href=\"https://serverlesscloud.cn/best-practice\">最佳实践</a> 里体验更多关于 Serverless 应用的开发！</p>","tableOfContents":"<ul>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#%E5%89%8D%E8%A8%80\">前言</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless%EF%BC%9A%E4%BA%91%E8%AE%A1%E7%AE%97%E6%96%B0%E8%B6%8B%E5%8A%BF\">Serverless：云计算新趋势</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#%E4%BB%80%E4%B9%88%E6%98%AF-serverless\">什么是 Serverless</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-20-%E7%BB%84%E4%BB%B6%E6%9E%B6%E6%9E%84\">Serverless 2.0 组件架构</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-20-%E6%8A%80%E6%9C%AF%E5%BD%A2%E6%80%81\">Serverless 2.0 技术形态</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-20-%E8%BF%90%E8%A1%8C%E8%BF%87%E7%A8%8B\">Serverless 2.0 运行过程</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-20-%E6%8A%80%E6%9C%AF%E7%94%9F%E6%80%81\">Serverless 2.0 技术生态</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-event-function-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF\">Serverless Event Function 应用场景</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-http-service-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF%EF%BC%9Abff\">Serverless HTTP Service 应用场景：BFF</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-%E5%8A%A9%E5%8A%9B%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%91%E5%BC%80%E5%8F%91\">Serverless 助力微信小程序云开发</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-%E5%8A%A9%E5%8A%9B%E8%85%BE%E8%AE%AF%E5%85%AD%E5%A4%A7%E4%B8%9A%E5%8A%A1%E7%BA%BF\">Serverless 助力腾讯六大业务线</a></li>\n<li><a href=\"/blog/2019-08-23-tencent-serverless/#serverless-%E5%B8%A6%E6%9D%A5%E7%9A%84%E7%94%A8%E6%88%B7%E4%BB%B7%E5%80%BC\">Serverless 带来的用户价值</a></li>\n</ul>"},"previousBlog":{"id":"6f1378c3-6785-5137-bbc7-45059282f5ce","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191227/1577410169726-v2-39310147fa3da94245233a204c6144c1_1200x500.jpg","authors":["Tinafang"],"categories":["guides-and-tutorials"],"date":"2019-08-25T00:00:00.000Z","title":"Serverless 的开发者工具建设","description":"本文将介绍 Serverless 生态下的开发者工具，并简述这些工具是如何贯穿开发、调试、测试和部署的生命周期，提升开发者效率的。","authorslink":["https://github.com/tinafangkunding"],"translators":null,"translatorslink":null,"tags":["工具建设","serverless"],"keywords":"Serverless 调试,Serverless 测试,Serverless 开发者工具","outdated":null},"wordCount":{"words":370,"sentences":50,"paragraphs":50},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-08-25-serverless-developer-tools.md","fields":{"slug":"/blog/2019-08-25-serverless-developer-tools/","keywords":["serverless","云函数","Serverless","函数","开发者","开发","调试","serverlesscloud","工具"]}},"nextBlog":{"id":"17c972d9-0583-51f6-9d5d-c2ba5f21b6a3","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191227/1577409288454-v2-577c2b21d600e3ea07f156f3e9d2d6b8_1200x500.jpg","authors":["Alfred Huang"],"categories":["guides-and-tutorials"],"date":"2019-08-21T00:00:00.000Z","title":"Serverless 的运行原理与组件架构","description":"本文重点探讨下开发者使用 Serverless 时经常遇到的一些问题，以及如何解决","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["运行原理","serverless"],"keywords":"Serverless 运行原理,Serverless 组件架构","outdated":null},"wordCount":{"words":236,"sentences":33,"paragraphs":33},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-08-21-serverless-operation-architecture.md","fields":{"slug":"/blog/2019-08-21-serverless-operation-architecture/","keywords":["koa","serverless","云函数","Serverless","用户","函数","请求","实例","形态","业务","serverlesscloud"]}},"recommendBlogs":{"edges":[{"node":{"id":"73576d26-e0ce-5f26-9330-64b4f3889157","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/3cb7b20955d78ced738e0279bb3f6f41.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-03-09T00:00:00.000Z","title":"Serverless 数据解读：2018 报告","description":"Serverless Framework 使用统计数据：事件源、服务结构、运行时长等等。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["事件源","服务结构"],"keywords":"Serverless 统计数据,Serverless 事件源,Serverless 服务结构","outdated":null},"wordCount":{"words":212,"sentences":45,"paragraphs":45},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-09-serverless-by-the-numbers-2018-data-report.md","fields":{"slug":"/blog/2018-03-09-serverless-by-the-numbers-2018-data-report/","keywords":["go","serverless","无服务器","云函数","服务","使用率","Go","部署"]}}},{"node":{"id":"84876745-cbfb-5c1d-9f6c-7c74338d5d28","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.site.serverless.com/images/champions/champions_banner.jpg","authors":["RupakGanguly"],"categories":["news","engineering-culture"],"date":"2018-04-10T00:00:00.000Z","title":"2018 年首批无服务器社区冠军介绍","description":"无服务器社区冠军是无服务器社区的领导者。快来认识一下我们 2018 年度的社区英雄吧！","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":194,"sentences":32,"paragraphs":32},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-04-10-announcing-new-2018-serverless-champions.md","fields":{"slug":"/blog/2018-04-10-announcing-new-2018-serverless-champions/","keywords":["serverless","webpack","无服务器","无服务器架构","服务器","serverless","champions","架构","blog","github","框架"]}}},{"node":{"id":"1e1a90fc-3b65-540c-b726-755999e7912a","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/8a0db1c9fd8b51c15d0b006291d52bf5.jpg","authors":["AndreaPasswater"],"categories":["news","engineering-culture"],"date":"2018-07-19T00:00:00.000Z","title":"2018 年社区调查：Serverless 使用率大幅增长","description":"我们曾在开发社区进行问卷调查，询问 Serverless 的使用情况。它的使用率增长连我们自己都惊讶不已，下面来看看数据。","authorslink":["https://serverless.com/author/andreapasswater/"],"translators":["Aceyclee"],"translatorslink":["https://www.zhihu.com/people/Aceyclee"],"tags":["Component","Serverless"],"keywords":"Serverless 社区调查,Serverless 使用情况,Serverless 数据","outdated":null},"wordCount":{"words":267,"sentences":50,"paragraphs":49},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-07-19-2018-serverless-community-survey-huge-growth-usage.md","fields":{"slug":"/blog/2018-07-19-2018-serverless-community-survey-huge-growth-usage/","keywords":["go","serverless","无服务器","Serverless","serverless"]}}},{"node":{"id":"8311b008-2b15-5225-8adc-9b75e484177b","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880819419-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%286%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-04-08T00:00:00.000Z","title":"邀您参加 | K8S&云原生技术开放日-北京站","description":"K8S&云原生技术开放日，将围绕K8S、Serverless等云原生相关技术，从最佳落地实践、不同场景技术改造、应用优化，到开源领域深度技术研究，和技术爱好者们一起探讨。","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["云原生","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":36,"sentences":9,"paragraphs":9},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-04-08-k8s.md","fields":{"slug":"/blog/2019-04-08-k8s/","keywords":["serverless","云原生","serverless","Serverless","技术","原生","serverlesscloud","github"]}}},{"node":{"id":"25f709db-cde0-59d7-81f4-944c46a6dd8a","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880571672-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%285%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-04-04T00:00:00.000Z","title":"Serverless 技术风暴来袭，开发者该如何应对？","description":"Hello Serverless技术沙龙北京站，将围绕Serverless的应用场景，客户案例，FaaS+BaaS架构的实现方案等，针对未来的无服务形态进行交流和讨论，释放技术想象！","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["应用场景","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":37,"sentences":8,"paragraphs":8},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-04-04-technology-storm.md","fields":{"slug":"/blog/2019-04-04-technology-storm/","keywords":["serverless","Serverless","serverless","serverlesscloud","github","技术","架构","围绕"]}}},{"node":{"id":"4bc4d946-6187-5c3d-91c6-d98c4c4c1314","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586880172144-%E5%B0%81%E9%9D%A2%E5%9B%BE%20%284%29.png","authors":["serverless 社区"],"categories":["news"],"date":"2019-06-11T00:00:00.000Z","title":"一图读懂无服务器云函数","description":"本图将重要信息进行梳理和提炼，帮助读者更好的理解无服务器云函数的理念和作用","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["云函数","Serverless"],"keywords":"serverless 入门,serverless 框架,腾讯云 serverless","outdated":null},"wordCount":{"words":31,"sentences":6,"paragraphs":6},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-06-11-one-picture-serverless-cloud-function.md","fields":{"slug":"/blog/2019-06-11-one-picture-serverless-cloud-function/","keywords":["serverless","无服务器","无服务器云函数","云函数","serverless","serverlesscloud","Serverless","github","开发者","函数"]}}},{"node":{"id":"1cd76f95-14a9-5fd5-926b-456af189b7ed","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020326/1585217744291-%E6%91%84%E5%9B%BE%E7%BD%91_400730082_wx.jpg","authors":["朱峰 Ben"],"categories":["news"],"date":"2019-10-14T00:00:00.000Z","title":"由浅入深说 Serverless 之云函数的生命周期","description":"希望通过文章分享帮助大家更深入的了解 Serverless 背后的机制并掌握相关的最佳实践。","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["云函数"],"keywords":"Serverless, Serverless前端开发, Serverless云函数","outdated":null},"wordCount":{"words":74,"sentences":29,"paragraphs":29},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-10-14-serverless-cloud-function.md","fields":{"slug":"/blog/2019-10-14-serverless-cloud-function/","keywords":["faas","java","云函数","函数","触发","实例","事件","数据库","启动","连接","sql","代码"]}}},{"node":{"id":"4f16f8bc-1a35-5394-9029-f7abc2ad6137","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/images/YHl6UWa9s629ucl0iaVcic8rL06uEBM5go4LSXiaHnibDJSBjLGAhGlWz3QZ1RZzd3NeCibjJxOyUApDO7TaPYcwxsw.jpg","authors":["Serverless 中文网"],"categories":["news"],"date":"2019-10-26T00:00:00.000Z","title":"Hello Serverless 实战沙龙回顾","description":"2019 年 10 月 26 日，Hello Serverless 沙龙活动在广州市海珠区腾讯众创空间成功举办，一起看看我们都为大家准备了哪些精彩的演讲吧！","authorslink":["https://github.com/jiangliu5267"],"translators":null,"translatorslink":null,"tags":["Meetup"],"keywords":"Serverless, Serverless技术沙龙,Hello Serverless","outdated":null},"wordCount":{"words":64,"sentences":13,"paragraphs":13},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-10-26-hello-serverless-meetup.md","fields":{"slug":"/blog/2019-10-26-hello-serverless-meetup/","keywords":["go","serverless","云函数","云原生","Serverless","存储","腾讯","serverlesscloud"]}}}],"totalCount":46}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"3c77f4d7-206b-59cb-a5d0-c915efc0a8fd","previousBlogId":"6f1378c3-6785-5137-bbc7-45059282f5ce","nextBlogId":"17c972d9-0583-51f6-9d5d-c2ba5f21b6a3","categories":["news"]}}}