{"componentChunkName":"component---src-templates-blog-detail-tsx","path":"/blog/2018-04-25-what-are-serverless-components-how-use","result":{"data":{"currentBlog":{"id":"0f1a8a9f-abef-5221-9f39-ac12d78e30c7","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/20191213/1576236926383-serverless-components.gif","authors":["BrianNeisler"],"categories":["news","guides-and-tutorials"],"date":"2018-04-25T00:00:00.000Z","title":"Serverless Component 是什么，我怎样使用它？","description":"Serverless Component 介绍和使用指南","authorslink":["https://serverless.com/author/brianneisler/"],"translators":["Tinafangkunding"],"translatorslink":["http://github.com/tinafangkunding/"],"tags":["Component","Serverless"],"keywords":"Serverless 使用指南,Serverless Component介绍,Serverless Component使用","outdated":null},"wordCount":{"words":309,"sentences":45,"paragraphs":45},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-04-25-what-are-serverless-components-how-use.md","fields":{"slug":"/blog/2018-04-25-what-are-serverless-components-how-use/","keywords":["serverless","云函数","Components","Serverless","serverless","components","Component","开发者","serverlesscloud"]},"html":"<h2 id=\"serverless-components-的目标是什么？\"><a href=\"#serverless-components-%E7%9A%84%E7%9B%AE%E6%A0%87%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F\" aria-label=\"serverless components 的目标是什么？ 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 Components 的目标是什么？</h2>\n<p>我们希望通过 Serverless Components 让广大开发者更加便捷，平滑的联动云厂商提供的种种服务。</p>\n<p>当前，构建一个应用意味着你可以挑选种种 SaaS 服务并且管理他们（例如 serverless 服务），之后将其整合为一个适用的解决方案。这很棒，因为这样做更快并且开销更小。</p>\n<p>但这样的做法也会十分复杂。为了将这些服务整合在一起，你需要大量的手工配置，并且当前没有很多工具可以帮你来构建和管理自己的应用架构。</p>\n<h2 id=\"初识-serverless-components\"><a href=\"#%E5%88%9D%E8%AF%86-serverless-components\" aria-label=\"初识 serverless components 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 Components</h2>\n<p><a href=\"https://github.com/serverless/components\">Serverless Components</a> 目标就是改变当前开发者面对的这一切。</p>\n<p>针对各个云厂商/SaaS 厂商的基础服务，Components 提供了编排这些资源和业务代码的统一标准。就像乐高积木一样，你可以使用多个 Components 非常轻松的搭建你的应用。</p>\n<p>Serverless Components 还提供了完善的，由社区贡献驱动的开发者生态。你可以很方便的浏览和优化这些 Components。最终的结果就是你可以极大的节省开发时间，不需要从头开始构建你的 Full Stack 应用，取而代之的是可以利用已有的组件快速构建并按自己的需求调整。</p>\n<h2 id=\"serverless-components-运行机制\"><a href=\"#serverless-components-%E8%BF%90%E8%A1%8C%E6%9C%BA%E5%88%B6\" aria-label=\"serverless components 运行机制 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 Components 运行机制</h2>\n<p>接下来让我们来看一下，怎样使用 Serverless Components 来快速构建一个完整的 Serverless 应用。</p>\n<h3 id=\"统一的体验\"><a href=\"#%E7%BB%9F%E4%B8%80%E7%9A%84%E4%BD%93%E9%AA%8C\" 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>统一的体验</h3>\n<p>所有的云服务都可以被封装为一个 Serverless Component。</p>\n<p>每个 Component 都支持对相应云服务的创建，回滚和移除操作，这些都可以通过 <a href=\"https://github.com/serverless/components\">Serverless Components CLI</a> 实现。</p>\n<p>开发者只需要配置 Components 提供该服务所需的最少配置，其余的都会采用默认配置的方式提供。这样可以更方便的创建对应的资源。引用一个 Component 的时候，只需要在 <code class=\"language-text\">serverless.yml</code> 文件中增加 “components” 属性，并且引用这个 Component，如图所示。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20191212/1576154026283-yaml0.png\" alt=\"serverless components\"></p>\n<p>如上所示，可以通过运行 <code class=\"language-text\">serverless</code> 命令来创建一个对象存储的存储桶资源。</p>\n<h3 id=\"组合更高维度的-components\"><a href=\"#%E7%BB%84%E5%90%88%E6%9B%B4%E9%AB%98%E7%BB%B4%E5%BA%A6%E7%9A%84-components\" aria-label=\"组合更高维度的 components 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>组合更高维度的 Components</h3>\n<p>假设你希望在腾讯云部署一个基于 Serverless 架构的 Express.js 框架。为了完成这个框架的搭建，你需要在 API 网关服务中创建新的 API ，并且用这个 API 来调用云函数服务；为了完成基本的数据操作，还需要创建、连接并且调用数据库服务（假设为 PostgreSQL ）进行增删改查。</p>\n<p><a href=\"https://github.com/serverless-components/\">我们当前支持了该框架所需的所有 Components </a>。每个组件都可以通过十分简单参数进行配置，你可以根据这些配置编排底层对应的云资源，并且快速、方便的进行服务的部署。</p>\n<p>所有的 Serverless Components 都可以结合在一起，并且构成一个更大、功能更丰富的 Component。</p>\n<p>我们把这三个基础的 Components (PostgreSQL、API Gateway、SCF）组合起来构造一个 Express.js 的框架，并且他们将组成一个新的、更高维度的 Express Component。如图所示，这些配置也都会在 <code class=\"language-text\">serverless.yml</code> 文件中体现。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20191212/1576151252404-yaml2.png\" alt=\"serverless components\"></p>\n<p>根据这张图可以看出 Components 的价值。当你构建一个 Express 框架的时候，你需要做很多准备工作，需要开通、配置很多产品，比如创建函数，配置 REST API，配置和连接 DB等。</p>\n<p>但事实上你可以通过抽象这些基础 Components 来节省很多类似的配置工作，并且 Express.js 这些框架组件可以使用很多默认配置进行部署，并且只暴露最简单的，面向业务的配置项。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20191212/1576152599672-yaml4.png\" alt=\"serverless components\"></p>\n<p>此外，你还可以在其他项目中复用这个 Express Component。或者其他的开发者也可以在自己的项目中使用它，并且只需要根据自己的业务简单调整下配置。例如，他们可能会修改 REST API 的路径或者支持的协议等。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20191212/1576152619839-yaml5.png\" alt=\"serverless components\"></p>\n<p>最终，这些更高维度的 Components 变成来各种常用场景，可以被开发者快速使用并且复用、整合。</p>\n<h3 id=\"组合-components-构建整个应用\"><a href=\"#%E7%BB%84%E5%90%88-components-%E6%9E%84%E5%BB%BA%E6%95%B4%E4%B8%AA%E5%BA%94%E7%94%A8\" aria-label=\"组合 components 构建整个应用 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>组合 Components 构建整个应用</h3>\n<p>现在让我们从更加宏观的角度来看这个 Express 框架。当你希望部署整个应用的时候，需求会变得更加复杂和全面。例如你需要对动态资源和静态资源做隔离，优化页面的访问速度，提供更丰富的 API 等。</p>\n<p>别担心，你依然可以利用 Serverless Components 进一步扩展和完善你的应用。只需要把这个高维度的 Component 和更多其他 Components 组合，就可以构建更加完整的应用。如下图所示，一个完整的 Full-Stack 应用可以通过持续组合 Serverless Components 实现。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20191212/1576151240859-yaml3.png\" alt=\"serverless components\"></p>\n<p>像所有其他的 Components 一样，其他开发者也可以轻松的复用这个 Full-Stack 组件，并且只需要暴露出最简单的配置信息。</p>\n<p><strong>我们认为 Serverless 是围绕场景的，无需对基础资源做过多对配置和管理。我们希望 Components 可以让基础设施对开发者更加透明，开发者可以专注于业务逻辑和场景，并且通过开源社区的方式，让这些场景可共享、可复用，同时进一步促进开发者生态。</strong></p>\n<h2 id=\"准备好体验-serverless-components-了吗\"><a href=\"#%E5%87%86%E5%A4%87%E5%A5%BD%E4%BD%93%E9%AA%8C-serverless-components-%E4%BA%86%E5%90%97\" aria-label=\"准备好体验 serverless components 了吗 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 Components 了吗?</h2>\n<p>刚刚我们演示了一个全栈应用的部署方式，如果你希望进一步了解 Components, 欢迎访问 <a href=\"https://github.com/serverless/components\">Serverless Components</a> 的 Github 主页，并且查看当前支持的场景<a href=\"https://github.com/serverless/components/tree/master/templates\">模板</a>。</p>\n<p>我们当前提供了几种基础 Components，你可以灵活组合他们，并且创建自己所需的高维度的应用场景。我们十分欢迎对 <a href=\"https://github.com/serverless-components/\">Serverless Components 仓库</a> 的开源贡献，也非常期待开发者的建议和反馈！</p>\n<p>如果你对 Serverless Components 感兴趣，这里有一些实践文章可以进一步参考：</p>\n<ul>\n<li><a href=\"https://serverlesscloud.cn/best-practice/2019-12-3-Easy-to-build-REST-API\">通过 SCF Component 轻松构建 REST API</a> </li>\n<li><a href=\"https://serverlesscloud.cn/best-practice/2019-12-5-Full-stack-solution-based-on-serverless-component\">基于 Serverless Component 全栈解决方案</a> </li>\n<li><a href=\"https://serverlesscloud.cn/best-practice/2019-12-4-Quickly-build-personal-blog\">Hexo + Serverless Framework，简单三步搭建你的个人博客</a> </li>\n</ul>\n<p>当前 Serverless Component 也支持多语言开发框架的快速部署，可以移步<a href=\"https://serverlesscloud.cn/component\">组件</a>页面进一步查看：</p>\n<p><a href=\"https://serverlesscloud.cn/component\"><img src=\"https://img.serverlesscloud.cn/20191213/1576236739852-Component%20Gallery.png\" alt=\"serverless components\"></a></p>\n<h3 id=\"serverless-components-的下一步规划\"><a href=\"#serverless-components-%E7%9A%84%E4%B8%8B%E4%B8%80%E6%AD%A5%E8%A7%84%E5%88%92\" aria-label=\"serverless components 的下一步规划 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 Components 的下一步规划</h3>\n<p>我们相信 Components 可以带来非常理想的 Serverless 开发体验，并且我们计划将该能力和当前的 <a href=\"https://github.com/serverless/serverless\">Serverless Framework</a> 整合在一起。此外，我们计划提供公共的 Components 注册中心，通过该能力，开发者可以更加迅速的进行部署，并且也更方便进行版本管理和团队协作。</p>","tableOfContents":"<ul>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#serverless-components-%E7%9A%84%E7%9B%AE%E6%A0%87%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F\">Serverless Components 的目标是什么？</a></li>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#%E5%88%9D%E8%AF%86-serverless-components\">初识 Serverless Components</a></li>\n<li>\n<p><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#serverless-components-%E8%BF%90%E8%A1%8C%E6%9C%BA%E5%88%B6\">Serverless Components 运行机制</a></p>\n<ul>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#%E7%BB%9F%E4%B8%80%E7%9A%84%E4%BD%93%E9%AA%8C\">统一的体验</a></li>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#%E7%BB%84%E5%90%88%E6%9B%B4%E9%AB%98%E7%BB%B4%E5%BA%A6%E7%9A%84-components\">组合更高维度的 Components</a></li>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#%E7%BB%84%E5%90%88-components-%E6%9E%84%E5%BB%BA%E6%95%B4%E4%B8%AA%E5%BA%94%E7%94%A8\">组合 Components 构建整个应用</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#%E5%87%86%E5%A4%87%E5%A5%BD%E4%BD%93%E9%AA%8C-serverless-components-%E4%BA%86%E5%90%97\">准备好体验 Serverless Components 了吗?</a></p>\n<ul>\n<li><a href=\"/blog/2018-04-25-what-are-serverless-components-how-use/#serverless-components-%E7%9A%84%E4%B8%8B%E4%B8%80%E6%AD%A5%E8%A7%84%E5%88%92\">Serverless Components 的下一步规划</a></li>\n</ul>\n</li>\n</ul>"},"previousBlog":{"id":"a1619b38-8768-55b9-a1a7-0b12594ff02c","frontmatter":{"thumbnail":"https://s3-us-west-2.amazonaws.com/assets.blog.serverless.com/serverless-teentech/serverless-teentech-header.png","authors":["MollyMoore"],"categories":["engineering-culture"],"date":"2018-06-12T00:00:00.000Z","title":"通过举办 TeenTech 编码讲习班回馈社区","description":"我们一直在探索回馈当地社区的方法。最近，我们举办了一次面向高中生的 TeenTech 编码讲习班。","authorslink":null,"translators":null,"translatorslink":null,"tags":null,"keywords":null,"outdated":null},"wordCount":{"words":145,"sentences":28,"paragraphs":28},"fileAbsolutePath":"/opt/build/repo/content/blog/2018-06-13-giving-back-community-teen-tech-coding-workshop.md","fields":{"slug":"/blog/2018-06-13-giving-back-community-teen-tech-coding-workshop/","keywords":["serverless","无服务器","serverless","teentech","学生","活动","blog","讲习班","团队"]}},"nextBlog":{"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","框架"]}},"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":"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":"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":"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":"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":"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","函数","受灾","机器人","山火"]}}}],"totalCount":77}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"0f1a8a9f-abef-5221-9f39-ac12d78e30c7","previousBlogId":"a1619b38-8768-55b9-a1a7-0b12594ff02c","nextBlogId":"84876745-cbfb-5c1d-9f6c-7c74338d5d28","categories":["news","guides-and-tutorials"]}}}