{"componentChunkName":"component---src-templates-best-practice-detail-tsx","path":"/best-practice/2020-12-25-serverless-koa","result":{"data":{"currentBlog":{"id":"68104300-1155-509a-8937-81f65ae71223","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/2059609cef4b84710bda1e917ab015d7.png","authors":["April"],"categories":["best-practice"],"date":"2020-12-25T00:00:00.000Z","title":"不改一行代码！快速迁移 Koa 应用上云","description":"手把手教你部署 Koa 应用，快来一起实践吧！","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","Koa"],"keywords":null,"outdated":null},"wordCount":{"words":249,"sentences":41,"paragraphs":41},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2020-12-25-serverless-koa.md","fields":{"slug":"/best-practice/2020-12-25-serverless-koa/","keywords":["serverless","ssr","Serverless","应用","部署","控制台","创建","tencent"]},"html":"<p>Koa 是现在最流行的基于 Node.js 平台的 Web 开发框架之一，由 Express 原班人马打造，利用 async 函数，Koa 丢弃了回调函数，并有力地增强错误处理，受到开发者普遍欢迎。</p>\n<p>基于 Serverless 低成本，免运维的已有优势，腾讯云提供了 Koa 框架快速迁移上 Serverless 的方案，通过 <a href=\"https://console.cloud.tencent.com/ssr\">Serverless 应用控制台</a>，仅需修改几行代码，即可完美迁移您的 Koa 应用到 Serverless，享受 Serverless 带来的无限便利。</p>\n<h2 id=\"功能优势\"><a href=\"#%E5%8A%9F%E8%83%BD%E4%BC%98%E5%8A%BF\" 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<ul>\n<li><strong>低改造成本：</strong> Serverless 组件自动帮助用户完成框架上云的适配转换，用户只需聚焦业务代码，仅仅几行改动，即可完成云端部署。</li>\n<li><strong>应用层级资源展示与管理:</strong> 部署成功后，用户可以方便地通过 Serverless 应用控制台将查看和管理创建的云端资源，无需多个页面切换，实现多资源的集中管理。</li>\n<li><strong>自动创建层部署:</strong> Serverless 应用控制台将自动为用户创建层，将项目里的 node_modules 依赖项自动打包上传至层，方便后续持续开发，优化部署时间。</li>\n<li><strong>基于代码托管持续构建：</strong> 支持持续构建，当从代码仓库导入的项目有更新时，可以自动触发重新部署。</li>\n<li><strong>应用层级监控图表:</strong> 提供了应用层级的监控能力，用户不仅可以看到每个资源的调用次数、错误次数等信息，还可以看到应用层级的监控指标，方便运维。</li>\n</ul>\n<p><strong>根据以下教程步骤，快速体验框架迁移：</strong></p>\n<blockquote>\n<p><strong>部署前提</strong>：您的账号已开通 <a href=\"https://console.cloud.tencent.com/sls\">Serverless Framework</a> 与 <a href=\"https://console.cloud.tencent.com/coding\">Coding DevOps</a> 服务。</p>\n<p>开通非常简单，只要您登陆到Serverless 控制台，系统会提示您按照指引步骤完成开通，开通过程不会产生何费用。</p>\n</blockquote>\n<p><strong>控制台链接：</strong> <a href=\"https://console.cloud.tencent.com/sls\">https://console.cloud.tencent.com/sls</a></p>\n<h2 id=\"创建应用\"><a href=\"#%E5%88%9B%E5%BB%BA%E5%BA%94%E7%94%A8\" 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<h3 id=\"基于模版创建\"><a href=\"#%E5%9F%BA%E4%BA%8E%E6%A8%A1%E7%89%88%E5%88%9B%E5%BB%BA\" 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<ol>\n<li>进入 <a href=\"https://console.cloud.tencent.com/ssr\">Serverless 应用控制台</a>，点击【新建应用】，进入应用创建页。\n<img src=\"https://img.serverlesscloud.cn/20201123/1606141064704-%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202020-11-22%2018.20.45.png\"></li>\n<li>填入您的应用名称，【创建方式】选择【应用模版创建】，选择 <strong>Koa 框架</strong>。\n<img src=\"https://main.qcloudimg.com/raw/d31b62a8b36acf412f65d4dc47894e7b.png\"></li>\n<li>点击【创建】，Serverless 控制台会自动开始为您部署应用，部署完成后，进入应用详情页，可以 <strong>查看创建的云上资源、监控日志、部署记录</strong> 等信息，也支持在“开发部署”页面修改配置，重新部署。</li>\n</ol>\n<h3 id=\"导入已有项目\"><a href=\"#%E5%AF%BC%E5%85%A5%E5%B7%B2%E6%9C%89%E9%A1%B9%E7%9B%AE\" 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<ol>\n<li>进入 <a href=\"https://console.cloud.tencent.com/ssr\">Serverless 应用控制台</a>，点击【新建应用】，进入应用创建页。</li>\n<li>\n<p>填入您的应用名称，【创建方式】选择【导入已有项目】，选择 <strong>Koa 应用</strong>，直接导入您的已有项目，Serverless 将自动为您完成适配转换。</p>\n<blockquote>\n<p> Koa 框架项目需要调整入口文件，才可以进行部署，详情请参考<a href=\"https://cloud.tencent.com/document/product/1242/50319\">项目改造文档</a></p>\n</blockquote>\n<p><img src=\"https://main.qcloudimg.com/raw/5b29c842ba57096a45946fd1a7f7ee21.png\"></p>\n</li>\n<li>\n<p>选择代码上传方式，Serverless 控制台支持您直接上传本地项目部署，也可以选择导入代码仓库。</p>\n<ul>\n<li>代码托管</li>\n</ul>\n<p> 目前支持 <strong>GitHub、GitLab、Gitee</strong> 的代码仓库地址，也支持公开的自定义代码库，您可以通过选择应用的触发方式，完成应用的自动更新。</p>\n<ul>\n<li>文件夹上传</li>\n</ul>\n<p> 您可以通过上传文件夹的方式直接导入本地项目，对于 Node.js 框架，Serverless Framework 将自动为您创建层，并将依赖包 node_modules 传入层中完成部署。</p>\n</li>\n<li>点击【创建】，Serverless 控制台会自动开始为您部署应用，部署完成后，进入应用详情页，可以查看创建的云上资源、监控日志、部署记录等信息，也支持在“开发部署”页面修改配置，重新部署。</li>\n</ol>\n<h2 id=\"管理应用\"><a href=\"#%E7%AE%A1%E7%90%86%E5%BA%94%E7%94%A8\" 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>应用创建完成后，可以在应用详情页，完成查看项目具体信息，主要支持以下几部分管理功能。</p>\n<h3 id=\"1-资源管理\"><a href=\"#1-%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86\" aria-label=\"1 资源管理 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>1. 资源管理</h3>\n<p>在【资源列表】页，支持查看当前应用为您创建的云资源，并查看基本配置信息。</p>\n<p><img src=\"https://main.qcloudimg.com/raw/47b45e7240d6a766526d97840a03013b.png\"></p>\n<h3 id=\"2-开发部署\"><a href=\"#2-%E5%BC%80%E5%8F%91%E9%83%A8%E7%BD%B2\" aria-label=\"2 开发部署 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>2. 开发部署</h3>\n<p>在应用详情页顶部，单击【开发部署】，您可以轻松地实现应用的配置修改与二次部署上传，支持<strong>本地上传、代码托管、CLI 开发</strong>三种方式。</p>\n<p>同时，您也可以在该页面修改应用配置信息，点击“保存”完成重新部署。</p>\n<img src=\"https://main.qcloudimg.com/raw/5b727ac0d6715f339574e37d3580ac89.png\" width=\"770px\">\n<h3 id=\"3-应用监控\"><a href=\"#3-%E5%BA%94%E7%94%A8%E7%9B%91%E6%8E%A7\" aria-label=\"3 应用监控 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>3. 应用监控</h3>\n<p>在【应用监控】页面，您可以查看项目部署后输出的基本信息、项目请求次数、项目报错统计等多项监控指标，方便您轻松实现项目的管理运维。</p>\n<img src=\"https://img.serverlesscloud.cn/20201126/1606384460049-%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202020-11-26%2016.22.43.png\" width=\"770px\">\n<h3 id=\"4-部署日志\"><a href=\"#4-%E9%83%A8%E7%BD%B2%E6%97%A5%E5%BF%97\" aria-label=\"4 部署日志 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>4. 部署日志</h3>\n<p>在【部署日志】页面，可以看到【通过控制台部署】或【自动触发】的部署日志，以及部署结果。</p>\n<p><img src=\"https://img.serverlesscloud.cn/20201123/1606143280152-%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202020-11-23%2022.53.44.png\"></p>\n<p>到这里，无需一行代码更改，就完成了将您的 Koa 应用迁移至 Serverless 的操作，并可以进行应用的监控管理，持续开发，享受 Serverless 带来的众多优势。</p>\n<p>想要了解 Serverless 应用控制台的更多功能，欢迎前往控制台体验：<a href=\"https://console.cloud.tencent.com/sls\">https://console.cloud.tencent.com/sls</a></p>\n<hr>\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=\"/best-practice/2020-12-25-serverless-koa/#%E5%8A%9F%E8%83%BD%E4%BC%98%E5%8A%BF\">功能优势</a></li>\n<li>\n<p><a href=\"/best-practice/2020-12-25-serverless-koa/#%E5%88%9B%E5%BB%BA%E5%BA%94%E7%94%A8\">创建应用</a></p>\n<ul>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#%E5%9F%BA%E4%BA%8E%E6%A8%A1%E7%89%88%E5%88%9B%E5%BB%BA\">基于模版创建</a></li>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#%E5%AF%BC%E5%85%A5%E5%B7%B2%E6%9C%89%E9%A1%B9%E7%9B%AE\">导入已有项目</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/best-practice/2020-12-25-serverless-koa/#%E7%AE%A1%E7%90%86%E5%BA%94%E7%94%A8\">管理应用</a></p>\n<ul>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#1-%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86\">1. 资源管理</a></li>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#2-%E5%BC%80%E5%8F%91%E9%83%A8%E7%BD%B2\">2. 开发部署</a></li>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#3-%E5%BA%94%E7%94%A8%E7%9B%91%E6%8E%A7\">3. 应用监控</a></li>\n<li><a href=\"/best-practice/2020-12-25-serverless-koa/#4-%E9%83%A8%E7%BD%B2%E6%97%A5%E5%BF%97\">4. 部署日志</a></li>\n</ul>\n</li>\n</ul>"},"previousBlog":{"id":"57be3d6e-1cba-5083-8dcf-647ede3ab15a","frontmatter":{"thumbnail":"https://main.qcloudimg.com/raw/f1c0252cbf776c2639c323348cced6f1.jpg","authors":["Alfred"],"categories":["best-practice"],"date":"2020-12-30T00:00:00.000Z","title":"腾讯云 Serverless 云函数并发管理能力解读","description":"提供多层次的并发配额管理能力，用户可获得更强的函数并发管理控制的权限，无需等待即可快速调整业务并发","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","并发管理"],"keywords":null,"outdated":null},"wordCount":{"words":270,"sentences":48,"paragraphs":48},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2020-12-30-scf-concurrency-control.md","fields":{"slug":"/best-practice/2020-12-30-scf-concurrency-control/","keywords":["serverless","云函数","并发","函数","额度","业务","账号","配额"]}},"nextBlog":{"id":"aa898126-7fdf-5d4c-914c-1190f92bcd59","frontmatter":{"thumbnail":"https://img.serverlesscloud.cn/2020512/1589274779819-flask.jpg","authors":["April"],"categories":["best-practice"],"date":"2020-12-24T00:00:00.000Z","title":"不改一行代码！快速迁移 Flask 应用上云","description":"手把手教你部署 Flask 应用，快来一起实践吧！","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","Flask"],"keywords":null,"outdated":null},"wordCount":{"words":222,"sentences":38,"paragraphs":38},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2020-12-24-serverless-flask.md","fields":{"slug":"/best-practice/2020-12-24-serverless-flask/","keywords":["python","serverless","ssr","应用","Serverless","部署","控制台","创建","代码"]}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"68104300-1155-509a-8937-81f65ae71223","previousBlogId":"57be3d6e-1cba-5083-8dcf-647ede3ab15a","nextBlogId":"aa898126-7fdf-5d4c-914c-1190f92bcd59"}}}