mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
PRF:20170811 UP – deploy serverless apps in seconds.md
部分
This commit is contained in:
parent
f4e4d25112
commit
cb0f8ec766
@ -1,19 +1,19 @@
|
||||
UP - 在几秒钟内部署无服务器应用程序
|
||||
Up - 在几秒钟内部署无服务器应用程序
|
||||
============================================================
|
||||
|
||||
![](https://cdn-images-1.medium.com/max/2000/1*8KijrYCm1j0_XvrACQD_fQ.png)
|
||||
|
||||
去年,我[为 Up 写了一份蓝图][1],其中描述了大多数构建块是如何以最小的成本在 AWS 上创建一个很棒的无服务器体验。这篇文章谈到了 [Up][2] 的初始 alpha 版本。
|
||||
去年,我[为 Up 写了一份蓝图][1],其中描述了大多数构建块是如何以最小的成本在 AWS 上创建一个很棒的无服务器环境。这篇文章则是讨论了 [Up][2] 的初始 alpha 版本。
|
||||
|
||||
为什么专注于无服务器?对于初学者来说,它可以节省成本,因为你可以按需付费,且只为你使用的付费。无服务器选项是自我修复的,因为每个请求被隔离并被认为是“无状态的”。最后,它可以无限轻松扩展 - 没有机器或集群要管理。部署你的代码就完成了。
|
||||
为什么专注于<ruby>无服务器<rt>serverless</rt></ruby>?对于初学者来说,它可以节省成本,因为你可以按需付费,且只为你使用的付费。无服务器选项是自我修复的,因为每个请求被隔离并被视作“无状态的”。最后,它可以无限轻松地扩展 —— 没有机器或集群要管理。部署你的代码就完成了。
|
||||
|
||||
大约一个月前,我决定使用 [apex/up][3],并为在线 SVG GitHub 用户调查写了第一个小型无服务器示例程序 [tj/gh-polls][4]。它运行良好,成本低于每月 1 美元,为数百万调查服务,因此我会继续这个项目,看看我是否可以提供开源和商业的变体。
|
||||
大约一个月前,我决定开始在 [apex/up][3] 上开发它,并为动态 SVG 版本的 GitHub 用户投票功能写了第一个小型无服务器示例程序 [tj/gh-polls][4]。它运行良好,成本低于每月 1 美元即可为数百万次投票服务,因此我会继续这个项目,看看我是否可以提供开源版本及商业的变体版本。
|
||||
|
||||
长期的目标是提供“你自己即 Heroku” 的版本,支持许多平台。虽然平台即服务并不新鲜,但无服务器生态系统正在使这种方案日益微不足道。据说,AWS 和其他的经常因为 UX 提供的灵活性而被人诟病。Up 将复杂性抽象出来,同时为你提供一个几乎无需操作的解决方案。
|
||||
其长期的目标是提供“你自己的 Heroku” 的版本,支持许多平台。虽然平台即服务(PaaS)并不新鲜,但无服务器生态系统正在使这种方案日益萎缩。据说,AWS 和其他的经常因为 UX 提供的灵活性而被人诟病。Up 将复杂性抽象出来,同时为你提供一个几乎无需运维的解决方案。
|
||||
|
||||
### 安装
|
||||
|
||||
你可以使用以下命令安装 Up,查看[临时文档][5]开始使用。或者如果你使用安装脚本,请下载[二进制版本][6]。(请记住,这个项目还在早期。)
|
||||
你可以使用以下命令安装 Up,查看这篇[临时文档][5]开始使用。或者如果你使用安装脚本,请下载[二进制版本][6]。(请记住,这个项目还在早期。)
|
||||
|
||||
```
|
||||
curl -sfL https://raw.githubusercontent.com/apex/up/master/install.sh | sh
|
||||
@ -33,13 +33,13 @@ npm install -g up
|
||||
|
||||
### 功能
|
||||
|
||||
早期 alpha 提供什么功能?让我们来看看!请记住,Up 不是托管服务,因此你需要一个 AWS 帐户和[ AWS 凭证][8]。如果你对 AWS 不熟悉,你可能需要先停下直到熟悉流程。
|
||||
这个早期 alpha 版本提供什么功能?让我们来看看!请记住,Up 不是托管服务,因此你需要一个 AWS 帐户和 [AWS 凭证][8]。如果你对 AWS 不熟悉,你可能需要先停下来,直到熟悉流程。
|
||||
|
||||
我的第一个问题是:up(1) 与 [apex(1)][9] 有何不同?Apex 专注于部署功能,用于管道和事件处理,而 Up 则侧重于应用程序、apis 和静态站点,也就是单个可部署单元。Apex 不为你提供 API 网关、SSL 证书或 DNS,也不提供 URL 重写,脚本注入等。
|
||||
|
||||
#### 单命令无服务器应用程序
|
||||
|
||||
Up 可以让你使用单条命令部署应用程序、apis 和静态站点。要创建一个应用程序,你需要的是一个文件,在 Node.js 的情况下,`./app.js` 监听由 Up 提供的 `PORT'。请注意,如果你使用的是 `package.json` ,则会检测并使用 `start`和 `build` 脚本。
|
||||
Up 可以让你使用单条命令部署应用程序、API 和静态站点。要创建一个应用程序,你需要的是一个文件,在 Node.js 的情况下,`./app.js` 监听由 Up 提供的 `PORT'。请注意,如果你使用的是 `package.json` ,则会检测并使用 `start`和 `build` 脚本。
|
||||
|
||||
```
|
||||
const http = require('http')
|
||||
@ -52,7 +52,7 @@ http.createServer((req, res) => {
|
||||
}).listen(PORT)
|
||||
```
|
||||
|
||||
额外的[运行时][10]支持开箱即用,例如 Golang 的“main.go”,所以你可以在几秒钟内部署 Golang、Python、Crystal 或 Node.js 应用程序。
|
||||
额外的[运行时][10]支持也立即可用,例如 Golang 的“main.go”,所以你可以在几秒钟内部署 Golang、Python、Crystal 或 Node.js 应用程序。
|
||||
|
||||
```
|
||||
package main
|
||||
@ -81,7 +81,7 @@ func hello(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
```
|
||||
|
||||
要部署应用程序输入 `up` 来创建所需的资源,并部署应用程序本身。这里没有迷雾,一旦它说“完成”了,你就完成了,该应用程序立即可用 - 没有远程构建过程。
|
||||
要部署应用程序输入 `up` 来创建所需的资源,并部署应用程序本身。这里没有模糊不清的地方,一旦它说“完成”了,你就完成了,该应用程序立即可用 —— 没有远程构建过程。
|
||||
|
||||
** 此处有Canvas,请手动处理 **
|
||||
|
||||
@ -100,10 +100,9 @@ curl `up url`
|
||||
Hello World
|
||||
```
|
||||
|
||||
To delete the app and its resources just type `up stack delete`:
|
||||
要删除应用程序及其资源,只需输入 `up stack delete`:
|
||||
|
||||
** 此处有Canvas,请手动处理 **
|
||||
** 此处有Canvas,请手动处理 **
|
||||
|
||||
![](https://cdn-images-1.medium.com/max/2000/1*FUdhBTtDHaZ2CEPHR7PGqg.png)
|
||||
|
||||
@ -506,7 +505,7 @@ AWS 每月免费提供 1,000,000 个请求,但你可以使用 [http://serverle
|
||||
|
||||
via: https://medium.freecodecamp.org/up-b3db1ca930ee
|
||||
|
||||
作者:[TJ Holowaychuk ][a]
|
||||
作者:[TJ Holowaychuk][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user