前言

提起云主机,作为开发者的你一定不会陌生。

甚至你自己也已经拥有或者正在考虑租一套属于自己的云主机环境。

但随着互联网基础设施的高度发展,云主机还是最佳选择么?

今天,就让我们来一探究竟。

为什么需要一个属于自己的云主机?

首先,我们来拆解一下,当我们在云服务平台中采购了一台云主机,我们都买到了哪些东西:

  1. 一台虚拟主机,包括了 CPU 、内存、硬盘、网络等虚拟的硬件配置,云主机的价格主要也由不同的硬件配置决定。
  2. 一套基于虚拟机的操作系统,通常是 Linux 的某种发行版。
  3. 一个可以被访问的公网 IP,通过该 IP,我们可以远程登录云主机,也可以通过云主机在互联网提供对外访问的服务。

简单来说,就是我们在无需添置任何硬件,且对个人电脑毫无占用的情况下,租赁了一台可以在互联网上被访问到的主机。

为什么开发者会热衷于租用云主机呢,主要还是以下几个目的:

1. 学习服务器知识

对于开发者来说,Linux 始终是个绕不过去的坎。

作为一套开源操作系统,Linux 的各种发行版本如今已经是事实上的 IT 基础架构平台,大量的互联网服务使用其作为服务器系统,并运行其中。 与此同时,全世界数以千万计的开发者仍然在基于它来开发自己的程序。

如果换做以前,想要学习和使用 Linux,门槛还是很高的。要么单独购置一台电脑来运行 Linux,要么在自己的电脑中安装双系统,或是虚拟机软件,再者,就只能寄希望于自己学习、工作的环境里,有现成的 Linux 环境可以使用了。

而云主机的出现,则为大大降低了这个门槛。无需对自己的电脑进行更改,无需添置任何硬件,在任意一台电脑上都可以进行操作,按月进行付费,单次的金钱投入也会更少。

同时,国内各大云服务还专门提供了学生专用版云主机,套餐价格较之普通云主机更为实惠。当然了,需要要有相应的学生认证才可以购买。

对于想要了解 Linux 、学习 Linux 使用方式的开发者而言,这确实是个不错的方式。

2. 一套可以挥霍的隔离环境

如果说对于开发者新手,购置云主机可能是为了学习,那么对于有经验的开发者,买云主机就是各种折腾,玩儿。

在开发者的世界里,永远有值得尝试的新玩意儿。可能是一份特别的代码,一个开源的项目,也可能是一段需要跑很久的程序,一些有趣的定时任务,甚至是一份特别的电脑病毒。 在这些充满了实验性质的事情里,我们最不希望的事情,就是因为这些实验,对我们自己的电脑产生影响。

在以前,开发者会选择在电脑中安装虚拟机做这些事,无论这些程序如何运行,都不会影响电脑本身的操作系统,而且非常容易恢复。但这只是软件层面的隔离,当程序开始消耗电脑性能时,对硬件的损耗依然存在且不可恢复。相信很多人在听到自己电脑的风扇开始疯狂运转时,都会忍不住心疼:”如果这些程序不是在自己的电脑上运行就好了。”

而现在,云主机就是这样一台不属于自己,但却为自己所用的电脑。不用担心性能消耗,不用担心风扇嗡嗡作响,哪怕真的弄坏了操作系统,也只需要销毁重新分配一次就好。

同时,云主机和自己手边的电脑有一个很大的不一样,那就是 24 小时在线。所以,有了云主机之后,很多需要长时间等待的开发工作,定时运行的任务,乃至你希望随时在线的服务,也都可以搬到云主机上。

笔者还记得当时在开发过程中,每当开始在自己的电脑上进行打包编译时,CPU 被跑满,连打字都会卡顿的无奈。如果整个编译过程都可以放在云主机中,那么即便等待编译结束的时间会长一些,至少我还可以用自己的电脑做些别的事情,而不是想着怎么给电脑降温。

3. 面向互联网提供服务

无论是学习服务器知识,还是拥有一套独立的开发、测试环境,对于一个开发者来说,可能都还不是云主机最大的吸引力。

那什么是呢?是那个可以被互联网所访问的公网 IP。

在互联网时代,有几个关键词不得不提:

首先,是在线。在线意味着无论你在哪里,使用什么样的设备,都能够随时随地的访问和使用对应的服务。你的个人电脑不是在线的,因为你只有带着它,才能使用它。而云主机是,通过公网 IP,无论你在何地,使用哪种设备,只要你可以访问互联网,你就可以使用它。

而且,这并不是指你可以随时随地地通过命令操作电脑,而是你可以在云主机上运行各种 Web 服务,并在你的电脑、手机以及其它智能设备上进行访问和使用。

比如你的个人博客,你的个人云盘,你的数据库,都可以运行在云主机中,而你只需要任意一个可以上网的设备,通过浏览器或是客户端,就可以进行编辑、上传和读写了。

而在你个人电脑上的文章、图片、数据,自始至终,都只存在于你电脑的硬盘里。

第二个关键词,是连接。当你拥有了一个云主机之后,这意味着你具备了向整个互联网中任意一个用户提供服务的可能性,比如,你的个人博客有机会被任意一个能够联网的人看到,你假设的游戏服务器可以与朋友们一起玩耍,你自己编写的程序,也可以向其他人提供在线的服务了。

诚然,在互联网空前发达的现在,无论是博客、云盘,又或者是视频、游戏,都已经有成熟的企业提供服务,在这样的环境中,即便没有云主机,我们依旧能够享受到在线和连接所带来的便利。但在这里,我们还有第三个关键词:控制。

这里的控制有两层意思,对服务的控制,和对数据的控制。在微博,你无法控制其他人看到的内容,但在你自己架设的个人博客里,你可以。在云盘中,你无法控制你上传的视频会不会因为什么样的原因无法下载和播放,但在你自己的云主机里,你可以。甚至当你找不到满足你需求的互联网服务时,如果你是开发者,自己搭,甚至自己写,相信我,你也可以的。

4. 优化网络环境

如果你尝试寻找或购买过国外的云主机,你大概猜到了我要说什么,没错,这确实也是国内开发者采购云主机的一大原因。在这里我不展开聊,但是,我懂你。

有没有比云主机更好的替代方案?

对于以上需求来说,云主机确实不失为一份优质的解决方案。但在使用云主机的过程中,也并不是没有缺点的:

首先,云主机始终还是一套虚拟的操作系统。当你在云主机上运行越来越多的程序时,程序间就会相互抢占计算资源,导致整体使用性能的下降。同时,向网络端口这样的资源,也会逐渐面临分配困难,为了解决这些问题,又需要引入额外的技术手段,整个维护过程会随着使用时间日趋繁琐。

其次,虽然云主机支持销毁和创建,但并不适宜频繁地做类似操作。这会带来额外的开销,以及重新搭建环境的成本,如果你希望通过定期对操作系统进行备份来减少这部分成本,也会引入新的付费服务。

再者,虽然云主机提供了公网 IP,但在实际使用过程中,如果你真的想使用云主机提供公开的互联网服务,你至少还需要一个备案的域名,一个 DNS 服务,或许还有 HTTPS 加密证书,CDN 服务等大量周边设施,云主机虽然是不可缺少的一环,但并不是全部。

最后,是云主机的定价。截止目前,国内主流的云服务厂商,依然采用以月为单位的租用费用,这意味着,即便你只是临时的使用,也需要支付至少一个月的费用。同时,云主机在定价过程中实际上是在超售计算资源,如 CPU、内存、硬盘等。即便你在使用过程中,CPU 和内存从来都没有跑满,硬盘也还闲置了大半,你也依然要为此付费。

所以,是时候试试 StarOS 了,一款全新的一站式云原生在线开发平台。

如果你也有上述需求,且正面临着这些问题,那么比起采购一台云主机,StarOS 或许是你更好的选择。

首先,StarOS 基于容器技术,你可以一次性获取多个相互独立的虚拟操作系统,对于一套环境的定义能力,大大超过了单个云主机。无论是纯净的 Linux 发行版,还是个人博客、数据库等网络服务,都可以通过 StarOS 同时获取。

其次,StarOS 对频繁的环境创建、销毁天然友好,且开销极小。你可以同时使用多个 Linux 的发行版,也可以频繁地创建和销毁同一套环境来验证某个漏洞。同时,得益于容器镜像机制,你可以根据自己的需求来订制初始环境,而不是从一套纯净的 Linux 开始配置。而这些服务,都是免费的。

再者,如果你希望将自己的服务发布至互联网中,StarOS 会为你提供域名,以及提供公开服务所需要的其它设施,这一切,都是自动的。

最后,StarOS 完全摒弃了传统云服务的超售模式,仅根据用户实际消耗的计算资源进行分钟级定价,比如你只使用了 10 分钟,且内存平均消耗为 300M,那你就真的只需要为这些消耗付费。同时,环境运行过程中,你可以直接观测到所有算力资源的实时消耗数据,整个计费过程是完全透明的。

在 StarOS 中可以做什么?

为了更好地介绍如何使用 StarOS 来替代云主机,我们这里节选了一位用户的使用分享:

 


 

大家好,我叫 Mars,学过一段时间的 Python,目前的主要工作是给一家房地产企业做数据分析,偶尔也写写爬虫,勉强算是一个开发者吧。

我也是被大可推荐来试用 StarOS 的。之前为了搭建自己的个人博客,买过域名,还买了 DigitalOcean 的 VPS,那时充 100$ 送 100$。当时在各种博客系统里挑来挑去,觉得还是 WordPress 靠谱,能在线编辑,还有草稿上架啥的,所以就在网上也是搜教程,才知道的 VPS。后来试着用 LAMP 的一键安装包,然后再装 WordPress,结果被一大堆配置搞蒙了,才发现折腾服务器这么麻烦,最后还是拜托大可帮我装的。

后来可能是手里有个锤子,看啥都像钉子。心想着有个服务器,总不能浪费,这才慢慢玩起来的,这几年倒也零零碎碎部署了一堆东西。

大可一直都知道我爱折腾服务器,所以看见 StarOS 之后,就把 StarOS 的链接发我了。

刚开始我也觉得这就是个开发平台,和服务器八竿子打不着,但摸着摸着,突然发现如果我把我服务器上的东西分别弄进来,这一个应用不就相当于我的服务器嘛!

然后,我的应用就变成这个样子了:

你别说,单看这张图,我就觉得比我在笔记里挨个记服务器里每个进程分别是干啥的要强。

稍微介绍下这些东西都是干嘛的:

WordPress + MySQL

WordPress 就不提了,搭博客的基本都知道。我是想着把服务器里的服务都先在这部一套试试,所以也把 WordPress 和 MySQL 弄了一套。因为 StarOS 当前还没发用自己的域名,所以我博客还是在用 VPS,这边就是个架子,没啥内容。

Scrapy + Metabase + Mongo

这个就真的是在 StarOS 里跑了。Scrapy 是我自己写的爬虫,定期扒一些租房信息啥的,扒完扔 mongoDB 里,再用 Metabase 看。因为 Scrapy 的代码我时不时就改一下,所以经常要重新发,在 StarOS 里升级,还是要方便一些。

RSSHub + Tiny Tiny RSS

RSSHub 是一个可以把各种网站、公众号之类的文章转化成 RSS 订阅的服务,ttrss 既是个 RSS 在线阅读器,也是个中转工具,可以提供 API ,在其它客户端上连,我主要是用手机客户端连。我自己是 RSS 重度患者,所以发现了 RSSHub 之后,就立即给自己弄了一套。目前在 StarOS 上也只是测试,实际订阅还是在用 VPS。

FRP Server

frp 主要是用来内网穿透的,我在家里的台式机上装了套 Linux,有时候想在公司远程操作下,就在 VPS 上搭了套 frp,把 22 端口放出来了。刚开始在 StarOS 上弄的时候,默认就开了个 7000,结果改客户端配置的时候才反应过来还要额外加个端口,好在也不麻烦。现在已经把 VPS 上的下掉了。

RocketChat

RocketChat 是个可以自己部署的类似于 Slack 的服务,还提供了手机客户端。之前本来想在服务器上部一套试试来着,但实在太吃配置了,直接劝退。还是这次有了 StarOS,才部署起来尝了个鲜。本来想着部署起来和朋友们当内部微信用的,可惜后面才发现,我好像没什么朋友。目前也就是放着。

MineCraft

这个绝对是惊喜!我玩 MC 有几年了,一直想和朋友一起搞个服务器,但一方面游戏太吃配置,另一方面我也不熟悉 Java,所以一直没搞起来。这次抱着试一试的心情,没想到真的可以搞。这几天刚和两个朋友开完荒,目前一切正常,后面要开始搞科技了,希望 StarOS 的服务器能挺得住…

用了一段时间 StarOS,总结下来,还是挺多惊喜的。目前主要还是要解决域名的问题,毕竟我用自己的域名开博客这么久,让我突然使用 StarOS 的二级域名,肯定是不可能的。不过相对于 VPS 来说,确实方便了不少。至少在尝鲜新服务上,StarOS 肯定要比 VPS 方便的多。我在 VPS 上每启动一个新服务都要先确认下依赖啊、版本啊会不会有冲突啥的,在 StarOS 完全不用管这些。之前试一个 node 的项目,版本冲突给我蛋疼坏了。

另外,就是担心 StarOS 未来会咋收费,只要不比我自己的 VPS 贵太多,我还是能接受的。但一想到我的 MC,我就觉得有张天价账单正在等着我… 如果后面除了宣称的按量付费,也能买断,就好了。(我可能是受 VPS 荼毒太深,如果按量计费比买断还便宜,请忽略这句)

希望 StarOS 越来越好用~ (免费时间能再长一点就更好啦

版权声明:本文为staros原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/staros/p/15090136.html