云服务

曾几何时,为了向别人提供服务,我们要买一台主机放在办公室里,日夜不停地跑。有时候,老板催大家下班,员工就是不愿意走,拳脚相向之时一不小心踹到了主机,于是整个业务系统就瘫痪了,造成很大的经济损失。

当然,现在这种问题已经比较少了,因为不存在员工不想下班因为大部分公司要么有自己的专属机房,要么租用了别人的专属机房里的机器。把自己的机房,包括网络、监控系统、维护等等基础设施和服务租给别人用,这基本上就是云服务的内容了(所以这个词其实一点也不高大上)。

不过,云服务是真的好用,中小型项目基本绕不开它。所以我们有必要学习一下。

云服务的内容

IaaS

云服务最基础的内容,就是为用户提供一台虚拟机。它的系统可以由用户任选,硬件配置(内存、硬盘、带宽甚至 GPU)也可以由用户任选。你可以通过 ssh 或远程桌面远程操控那台电脑,想干啥就能干啥,和自己的电脑一样。简单来说,就是你买了一台可以远程操控的电脑以及一堆基础设施,也就是 Infrastructure as a ServiceIaaS。使用这种服务,你就完全不需要去维护硬件(不需要组装电脑、装宽带、维修等等)。

PaaS

有的云服务不直接把它的机器开放给你使用,而是只开放机器上搭建好的一个应用环境。比方说,大家之前部署网页用的 GitHub Pages,就是这样的。GitHub 在自己的机器上,搭建好了一套发布网页用的环境;你不能直接使用 GitHub 的机器,但是你可以使用它的环境:只要把网页源文件放到 GitHub 上,就可以轻松展示出来。

这种服务,和 IaaS 一样,免去了维护硬件的成本;同时,还帮我们省去了环境搭建的成本(比如安装 node.js 啊,编译 nginx 啊,配置路径等等)。这就是 Platform as a Service,或 PaaS

SaaS

还有的云服务,甚至不需要你自己去开发,打开盒子就能用,比如 Google Drive 和网页版的 Office 全家桶等等。这就是 Software as a Service,或 SaaS

建立

首先,我们需要拥有一台机器,即 IaaS 服务。没有的话,要先向提供商购买。

大家可以根据需要自行选择。推荐每两个人共用一个服务器,这样可以模拟合作的场景(比如为另一个人创建子帐号,设置权限等等)。

注意务必看清楚服务的类型!有的是 应用服务器,即 PaaS,是不能让我们直接操作机器的,这类服务我们暂时不需要。

另外,如果选择购买腾讯云,我们可以凭发票为各位报销 27 元的费用!请填写发票信息(一般只填前两行就够了):

发票抬头:零下五度(宁波)信息科技有限公司
税号:91330212MA2J4DYNXG
开户行:中国建设银行股份有限公司浙江自贸区支行
户名:零下五度(宁波)信息科技有限公司


一些常用的东西

云服务提供商会提供操作界面、数据后台等,方便用户管理租来的机器。云服务的提供商有很多,每个提供商的管理界面会略有不同,但逻辑基本都是一致的。以下基础内容希望各位了解:

机器的配置

只是实验的话,硬盘、CPU、存储等等选最小的就可以。流量计费和固定带宽都可以,看价格。等到上线的时候,升级配置不会特别困难的。

系统务必选择 Linux (尽量选 Ubuntu,也可以用 CentOS)。在没有图形界面的情况下,它比 Windows 好用太多太多了。

控制台

可以从控制台查看所有服务的运行情况、查看账单之类的信息。

安全组

每一个实例(主机)都需要被分配一个安全组。要部署服务,必须先编辑安全组,把端口打开!

域名

云服务提供商一般会提供域名申请服务。申请成功后,域名可以在控制台中查看。可以在域名控制页面,把域名绑定到指定的 ip 地址。绑定域名后,可以从域名访问主机;没绑定的话,只能从 ip 地址访问主机。

由于国情,国内提供商代为申请的域名绑定 ip 后,若想从域名访问 ip,必须先要对域名进行备案,提供商会有超级详细的备案教程。

登录远程主机

你需要通过 ssh 登录你买的机器。

ssh 在你的电脑和目标电脑之间建立一个加密的隧道,允许你的电脑通过网络向目标电脑发送命令、与之互相传输文件。

在命令行操作的话,你可以使用 ssh <用户名>@<ip地址>。例如 ssh paul@icewould.com 可以用 paul 的身份登录我们公司的电脑(当然,要输入密码)。成功之后,你会进入目标电脑的命令行(就像你在目标电脑上打开了一个 terminal 一样)。

Windows 用户可以考虑下载 bitvise 这个工具。它可以可视化地管理 ssh 连接,并管理文件。

你也可以在你的服务器上配置一个远程桌面服务,这样你就可以使用 X2Go 远程操作电脑桌面了。可以搜索 Linux 远程桌面自行学习。