{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2019-06-27-wechat-mini-program","result":{"data":{"currentBlog":{"id":"5cd33876-61aa-5759-9881-9b9778cf8adc","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qe0MH6buxiahkojt4FUVbo57F3Jh3NEHic5bP81sQfSOkqNnY09icj7p3oQ.jpg","authors":["腾讯云中间件"],"categories":["guides-and-tutorials"],"date":"2019-06-27T00:00:00.000Z","title":"Serverless 最佳实践：如何在两周内开发出用户量过亿的微信小程序","description":"本文将从开发背景、技术需求与落地实践三个维度出发，还原腾讯相册小程序的开发历程，以及Serverless是如何助力腾讯相册团队在两周内，开发出承载过亿用户量的微信小程序。","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["小程序","Serverless"],"keywords":"Serverless,serverless framework,腾讯云serverless","outdated":null},"wordCount":{"words":256,"sentences":51,"paragraphs":51},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-06-27-wechat-mini-program.md","fields":{"slug":"/blog/2019-06-27-wechat-mini-program/","keywords":["serverless","无服务器","无服务器云函数","云函数","Serverless","serverlesscloud","开发","微信","腾讯"]},"html":"<p>腾讯相册前身是空间相册，而且空间相册已经在手机APP端，网页端都有了入口。为了增加用户活跃，让客户在各个软件中都能快速触达，腾讯相册团队推出了微信小程序形式的腾讯相册。本文将从开发背景、技术需求与落地实践三个维度出发，还原腾讯相册小程序的开发历程，以及Serverless是如何助力腾讯相册团队在两周内，开发出承载过亿用户量的微信小程序。</p>\n<p><em>注：文章内容整理自腾讯云产品经理方坤丁和高级架构师卢萌凯在Kubecon 2019上的演讲，演讲主题为《Serverless 云上最佳实践 ：如何在两周内开发出用户量过亿的微信小程序》。</em></p>\n<p><strong>腾讯相册微信小程序开发背景说明</strong></p>\n<p>在2019年Q1，微信和WeChat的合并活跃用户为11.12亿，而小程序的活跃用户从17年初发布后，在18年底增长到了2.3亿。小程序主要有以下几个特点：</p>\n<ul>\n<li>速度快。无需下载安装，加载速度快于app HTML5，随时可用</li>\n<li>无适配。一次开发，多端兼容，免除了对各种手机机型的适配</li>\n<li>可分享。支持图文分享、支持分享给微信好友和群聊</li>\n<li>体验好。可达到近乎与原生app相同的操作体验和流畅度</li>\n<li>易获取。支持扫码、微信搜索、好友推荐等发起场景</li>\n<li>低门槛。基于微信的生态。已有公众号的组织可快速注册、可快速生成小程序</li>\n</ul>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qex06nuel46gh2XU0QRljBB6biaq4h9cfUPD3f1zqqzyYlAmics5d6FGPg.jpg\"></p>\n<p>微信小程序的这些特性，能够与腾讯相册这类社交性工具完美结合。那么，这个小程序应该怎样设计？作为一名产品经理，我们想到了如下几个需求：</p>\n<ul>\n<li>基本能力：图片及视频获取、展示、管理、上传、下载、图片集</li>\n<li>社交属性：点赞、评论</li>\n<li>传播能力：分享</li>\n<li>用户规模：千万级</li>\n<li>上线时间：4周。时间对于产品占领用户的心来说十分重要，因此，时间目标定了4周上线。</li>\n</ul>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3QetI62Um77n2jabnqde8flVCHAV1fQ86Nm1u3fw0BHTTjmZM1bIEHmHA.jpg\"></p>\n<p>需求明确之后，就是怎样用高效、快速并省成本的方式实现腾讯相册小程序。</p>\n<p><strong>腾讯相册小程序基于 Serverless 落地实践</strong></p>\n<p><strong>传统模式开发流程</strong></p>\n<p>产品的开发需求非常明确，总结4个字就是“多快好省”。承载千万级用户的小程序，对后台架构的性能和稳定性要求非常高，如果有足够的时间和资源，这些都不是问题。但是想要在4周的时间内完成开发并上线，压力非常大。如果按照传统的开发模式下，这样一款小程序需要</p>\n<ol>\n<li>项目人员准备：至少1个前端工程师，2个后台工程师，加一个测试和2个运维。</li>\n<li>当人员Ready后，开始着手环境搭建，需要运维购买资源，如主机，数据库，负载均衡等，并协助部署运行环境、域名备案、搭建监控告警系统等。</li>\n<li>环境Ready后，前端和后台开始开发，然后测试介入、运维完成线上部署，最后申请发布。</li>\n</ol>\n<p>即使顺利的情况下，整套流程都很顺利的走完，也需要至少8周的时间，如果人员不到位，需要的时间更久。可以发现，耗时主要是在环境搭建和开发流程当中，而且人力耗费也在这一块。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qeibdwa07OU7jduNYGXlaHs2D17mw4JJEruZq9UCiaho50s3HK2FbJCPkg.jpg\"></p>\n<p>在开发流程这块，后端开发除了需要关注核心业务逻辑之外，还需要做框架选型，了解数据库和文件存储等。并且还需要耗费精力对性能进行优化，比如高并发。那么必然也要去了解底层的运行机制，比如容器服务。同时运维也要花大量的时间来保障安全和容灾等能力。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qe3BjR3ia4onCHnxgCEGaBLVjerhmIVZp1zOEq6xVvsIFqo8C5k2BicibOw.jpg\"></p>\n<p>因此，自上而下，对团队成员的专业技能要求越来越高。同时，花费的时间也越来越多。</p>\n<p>环境和开发工作全部完成后，需要进行架构维护，不仅需要维护业务集群，还需要关注各个组件的稳定性。测试方面，除了产品功能验证外，还需要压测各个组件的性能。最后，还需要随时保障整个系统的稳定性和安全性。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3QevDlQOg8Zqw0KaC0bEVkBHKIGMgicL8zaz4qiaHDQhXwwpkJfible4EwqQ.jpg\"></p>\n<p><strong>基于Serverless 模式的开发流程</strong></p>\n<p>如果将刚才提到的和核心业务逻辑不相关的事情都交给微信和腾讯云，系统架构将会大大简化，而且能够节省不少人力。最终，只需要关注的只剩下小程序端+核心业务，整个开发流程将会变得无比简洁。通过Serverless，这种想法可以得以实现。Serverless其实是一种架构理念，他是把底层资源抽象成API的形式对用户提供服务。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qe6HZ0ToEgfjKvtsPRUibwLk8M4mVGztia28HZRz1WzMYT47xc4hLpKTjQ.jpg\"></p>\n<p>在去年年初，微信团队和腾讯云团队开始尝试将Serverless和小程序开发结合起来并提供一套小程序 · 云开发解决方案，这还要归功于Faas在国内的兴起。有了Faas之后，用户核心计算逻辑的承载平台真正实现了Serverless化。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qe0MH6buxiahkojt4FUVbo57F3Jh3NEHic5bP81sQfSOkqNnY09icj7p3oQ.jpg\"></p>\n<ul>\n<li>首先云开发封装了用户需要用到的云函数、数据库和文件存储资源，开发不用再去关心环境问题；</li>\n<li>其次，从小程序端到云开发后台的请求，走的是微信和腾讯云之间的专线，并且用的是私有协议，所以用户也不用担心安全问题；</li>\n<li>最后，云开发整个后台提供了完善的监控和日志系统，也省去了运维同学的部分工作。因此，新的方案不仅省去了很多运维的工作，同时也有效的加速了开发流程。</li>\n</ul>\n<p><img src=\"https://img.serverlesscloud.cn/2020414/1586874061017-640%20%282%29.jpeg\"></p>\n<p><strong>如何使用</strong></p>\n<p>新的架构或者方案具体该怎么使用呢？之前有提到，整个方案里最核心的是计算模块。当有用户在小程序端发起后台请求的时候，云函数平台会根据用户的请求量动态的伸缩实例，以保证用户的请求能够被及时响应，同时用户可以在云函数里发起数据库以及文件存储的读写操作。下图展示的完整架构是Serverless的具体表现形式。用户不再需要部署服务器，通过无服务器云函数即可实现核心业务逻辑。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qemt5ZKcAibDfH4G1WDibbOSSdomwvn9icPZG9zWX7PCuJyaUhaquial9s9A.jpg\"></p>\n<p>这一套基于Serverless的架构将会具备以下优势：1、无穷的弹性计算能力；2、让用户聚焦核心业务逻辑的编写；3、根据请求自动运行；4、秒级上传部署；5、几乎不需要运维运维。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qee3ibODcYvXfWia1kXFu3rKE5iaqGrODf5NF1AJ4cU4k0CP0EFNZ67iaoRQ.jpg\"></p>\n<p><strong>如何基于Serverless实现腾讯相册小程序开发</strong></p>\n<p>以最核心的社交功能为例。按照传统的开发模式，研发团队会面临几个挑战，运维人力，开发复杂度，历史包袱等。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3Qe0soTAsFM1aM6H1kxl4e31VDldrdZGQhFKiblfyanXwzwjgzAQibOtKHQ.jpg\"></p>\n<p>借助云开发的能力，架构设计将会变得非常简单。举个例子，按照传统的开发方式，需要花费大量的时间在框架路由设计和安全设计，以及后台的性能优化上面。而基于Serverless的方案，只需引用SDK，就能直接callfunction，运行业务代码。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3QegHnVWo8M7gxN1UEFDO6BZpXK1NnN8j8KicW1gOZuFRKSSYmvU9uu1ZQ.jpg\"></p>\n<p>再来看下性能方面，根据现网的运行数据，发现无论波峰还是波谷，后台的响应延迟都在70ms以下。</p>\n<p><img src=\"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s62icv8Chd3kYictP0lzHOic3QeF5IAZUtAWWAmafdhH0kwviaeggLlwFfwjdZmHm6AIjiaFb4FJEa6WyTA.jpg\"></p>\n<p>可以看到，对比传统的开发模式，需要大约1人10周的人力完成开发，而借助Serverless，只需要1人3周就能完成基础开发和测试。因为，系统架构变的非常简单，并且和原有的空间后台完美兼容，极大的提升了开发效率。</p>\n<p><img src=\"https://img.serverlesscloud.cn/2020414/1586874150940-%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202020-04-14%2022.22.16.png\"></p>\n<p><strong>总结</strong></p>\n<p>对于公司/个人来说，通过云的Serverless架构开发微信小程序，有下面几个非常显著的优势：</p>\n<ol>\n<li>加快了产品的迭代效率</li>\n<li>稳定，高可用，弹性伸缩，完全不需要自己关心底层的运维</li>\n<li>降低了资源的投入，这里包括了人力和财力</li>\n</ol>\n<p>腾讯云Serverless，可以助力微信小程序开发！用户后续在开发小程序，或者有任何想法需要快速落地时，可以想到采用Serverless架构来开发 ，非常的惊喜、简单。</p>\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":""},"previousBlog":{"id":"4023a334-9a83-5c8e-bce7-3f91e883b190","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/qianyi/YHl6UWa9s63r2BLdpwTIQczicVVqcq92Zu6gwsUNcNS9psyicKsPnn8Z3J5qGN82z5uD2EB9ficlc41iaichy1Ez0Fg.jpg","authors":["周维跃"],"categories":["guides-and-tutorials"],"date":"2019-07-01T00:00:00.000Z","title":"腾讯云函数计算冷启动优化实践","description":"文章整理自腾讯云专家工程师周维跃及腾讯云高级工程师李艳博在Kubecon 2019上的分享，原分享主题为《加速：无服务器平台中的冷启动优化》，本篇文章主要分享云函数冷启动优化实践","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["性能优化","Serverless"],"keywords":"Serverless,Serverless应用,无服务器云函数","outdated":null},"wordCount":{"words":275,"sentences":60,"paragraphs":60},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-07-01-tencent-cloud-function-cold-start-optimization-practice.md","fields":{"slug":"/blog/2019-07-01-tencent-cloud-function-cold-start-optimization-practice/","keywords":["serverless","函数计算","腾讯云无服务器云函数","无服务器","无服务器云函数","云函数","函数","冷启动","虚拟机","实例","调用","serverlesscloud","腾讯","并发"]}},"nextBlog":{"id":"752d08d1-387a-5bde-acf3-98141baab294","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020414/1586871710979-%E5%85%AC%E5%85%B1%E7%94%A8.png","authors":["Anycodes"],"categories":["user-stories"],"date":"2019-06-20T00:00:00.000Z","title":"如何用 Serverless 为 Python 云函数打包依赖","description":"在使用无服务器云函数SCF时通常会遇到导入第三方库的问题，很多小伙伴比较头疼是：应该如何打包进去？这里，推荐几个不错的方法。","authorslink":["https://zhuanlan.zhihu.com/ServerlessGo"],"translators":null,"translatorslink":null,"tags":["云函数","Serverless"],"keywords":"Serverless,Serverless应用,无服务器云函数","outdated":null},"wordCount":{"words":81,"sentences":43,"paragraphs":43},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-06-20-for-python-cloud-functions.md","fields":{"slug":"/blog/2019-06-20-for-python-cloud-functions/","keywords":["java","serverless","无服务器","无服务器云函数","云函数","serverlesscloud","安装","serverless","pillowtest"]}},"recommendBlogs":{"edges":[{"node":{"id":"665f9ce2-4451-59fd-bf98-1861789d3b3b","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/Serverless_logo.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","engineering-culture"],"date":"2018-03-19T00:00:00.000Z","title":"如何为无服务器开放源代码项目做贡献","description":"想要为无服务器开放源代码项目做贡献？您可以遵循下面的指南。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":96,"sentences":36,"paragraphs":36},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-19-how-contribute-to-serverless-open-source.md","fields":{"slug":"/blog/2018-03-19-how-contribute-to-serverless-open-source/","keywords":["serverless","无服务器","serverless","github","插件","服务器","贡献","示例","blog","contribute"]}}},{"node":{"id":"a3e92579-65c3-5159-937c-32d18c5df7d7","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/why-not/why-not-header.png","authors":["AndreaPasswater"],"categories":["guides-and-tutorials","operations-and-observability","engineering-culture"],"date":"2018-03-21T00:00:00.000Z","title":"不适合选择无服务器的情境及原因","description":"无服务器既有优点也有缺点。那么，哪些情境下不适合选择无服务器？原因又是什么呢？","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":163,"sentences":43,"paragraphs":43},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-03-21-when-why-not-use-serverless.md","fields":{"slug":"/blog/2018-03-21-when-why-not-use-serverless/","keywords":["faas","react","serverless","spa","无服务器","无服务器函数","无服务器架构","无服务器开发","服务器","twitter","serverless","blockquote","lang","script","en"]}}},{"node":{"id":"6a16520b-7886-582e-9182-64e50712d486","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/vendor+choice/serverless-data-portability.jpg","authors":["NickGottlieb"],"categories":["engineering-culture","guides-and-tutorials"],"date":"2018-06-20T00:00:00.000Z","title":"浅谈无服务器、数据锁定和供应商选择","description":"供应商选择是如今 IT 领导者需要考虑的最重要事项，而这一点可利用数据可移植性来实现。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":205,"sentences":33,"paragraphs":33},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-06-20-data-lockin-vendor-choice-portability.md","fields":{"slug":"/blog/2018-06-20-data-lockin-vendor-choice-portability/","keywords":["go","serverless","无服务器","无服务器架构","供应商","serverless","开发人员","数据","锁定","选择","服务"]}}},{"node":{"id":"94741abb-10ba-5db1-9756-cd1d573473fa","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/webstorm-ide/streamline-webstorm-serverless2.jpg","authors":["EslamHefnawy"],"categories":["guides-and-tutorials","engineering-culture"],"date":"2018-08-15T00:00:00.000Z","title":"如何使用 WebStorm 简化无服务器工作流程","description":"在本文中，我将和您分享如何使用 WebStorm 进行无服务器特定的 IDE 设置以及如何利用它来极大地加快无服务器工作流程。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":234,"sentences":54,"paragraphs":54},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-08-15-streamline-serverless-workflow-webstorm.md","fields":{"slug":"/blog/2018-08-15-streamline-serverless-workflow-webstorm/","keywords":["nodejs","serverless","无服务器","无服务器开发","serverless","WebStorm","webstorm","服务器","blog","assets"]}}},{"node":{"id":"713a0563-4bf9-5721-bacb-3b4ef609fe4a","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/camp-fire/camp-fire-housing-thumb.jpg","authors":["EricWyne"],"categories":["guides-and-tutorials","user-stories"],"date":"2018-12-05T00:00:00.000Z","title":"Serverless Twitter 机器人帮助为坎普山火受灾者安置住房","description":"加利福尼亚州的坎普山火致使数千人流离失所，为此，我构建了一个简单的 Serverless Twitter 机器人来帮助将受灾者安置在临时住房！","authorslink":["https://serverless.com/author/ericwyne/"],"translators":["Aceyclee"],"translatorslink":["zhihu.com/people/Aceyclee"],"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":157,"sentences":26,"paragraphs":26},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-12-05-serverless-twitter-camp-fire.md","fields":{"slug":"/blog/2018-12-05-serverless-twitter-camp-fire/","keywords":["serverless","无服务器","云函数","Serverless","org","住房","Twitter","函数","受灾","机器人","山火"]}}},{"node":{"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"]}}},{"node":{"id":"ae4fd2f8-515c-5aec-b584-38427ef33f7e","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020114/1578989800047-part-00492-780.jpg","authors":["Anycodes"],"categories":["guides-and-tutorials","user-stories"],"date":"2019-09-16T00:00:00.000Z","title":"突破传统 OJ 瓶颈，「判题姬」接入云函数","description":"通过 Serverless 实现在线编程","authorslink":["https://www.zhihu.com/people/liuyu-43-97"],"translators":null,"translatorslink":null,"tags":["在线编程","云函数"],"keywords":"Serverless 在线编程,Serverless OJ","outdated":null},"wordCount":{"words":169,"sentences":30,"paragraphs":30},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-09-16-online-Judge.md","fields":{"slug":"/blog/2019-09-16-online-Judge/","keywords":["python","serverless","云函数","代码","函数","serverless"]}}},{"node":{"id":"545ab3d2-e14e-5cc2-8548-0e863eac942b","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/2019-10-deployment-best-practices/safeguard-header.png","authors":["FernandoMedinaCorey"],"categories":["guides-and-tutorials"],"date":"2019-10-14T00:00:00.000Z","title":"无服务器部署最佳实践","description":"了解部署无服务器应用时的一些最佳实践。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":221,"sentences":46,"paragraphs":46},"fileAbsolutePath":"/opt/build/repo/content/blog/2019-10-14-serverless-deployment-best-practices.md","fields":{"slug":"/blog/2019-10-14-serverless-deployment-best-practices/","keywords":["serverless","无服务器","serverless","部署","服务器","开发人员","应用","安全措施","使用","函数"]}}}],"totalCount":31}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"5cd33876-61aa-5759-9881-9b9778cf8adc","previousBlogId":"4023a334-9a83-5c8e-bce7-3f91e883b190","nextBlogId":"752d08d1-387a-5bde-acf3-98141baab294","categories":["guides-and-tutorials"]}}}