0%

简单评价下几家云服务平台

先从坑的开始说。

Vultr

2.5美刀的机器没有了,最低一个月5刀,关机一样收费。现在不推荐使用,因为GFW已经盯上了这家机房的IP,只要通向这些IP出现大量的随机数据包就会秒速把端口封掉,断开服务后大概半分钟会把端口放出来,我今年2月试着开过一个新加坡和一个美国的小机,都是秒封。

这家去年还干了一件恶心人的操作,那就是在去年10月1号发送的上月账单邮件中用一小段字通知我他家的快照要开始收费了,但我10月20几号才看到要收费,多花了1块多美金。工单投诉后也没啥用,一怒之下就把博客迁移到谷歌云了。

就怕用户看到这段文字

腾讯云

轻量云服务器

腾讯云的轻量云服务器去年做了不少低价活动,最划算的是去年200块买3年。CPU不限速,今年免费升级4核心后速度很不错,拿来跑ffmpeg转码都够用了。缺点也很明显。第一,续费是非常贵的,不像阿里云可以原价续费3年,得找活动去续费,应该不会低于300一年,不太划算。第二个,网络真的比较菜,下行只有1M小水鬼,放视频看视频都有点卡。更麻烦的是,网络是墙内局域网,Github仓库拉不下来,apt要换源,maven和nodejs都要换源,docker镜像也要换源。总之墙内服务器不适合长期做开发使用,拿新手价尝鲜即可,今年我估计不会再续费了。

我试过两种合适的用法,一个是用来挂frp内网穿透,延迟比境外主机低很多;第二个就是传高清视频上去用ffmpeg压制,上行不算流量,下行流量用不完。

对象储存和CDN

老实说腾讯云的COS对象储存和CDN真的很便宜,对象储存送6个月50G空间,还有一点流量。开通CDN后还会送CDN流量,半年我一共就用了不到7分钱。对象储存腾讯云有WP插件,上传WP的图片会自动上传COS。如果挂CDN的话要把COS插件和WP的媒体路径地址都修改成CDN的地址。

对象储存还能有效降低WP的卡顿程度,节省流量费用(谷歌云流量真的很贵)。

22年5月开始不免费送CDN域名了,新储存桶只能自己提供域名开CDN加速,境内和全球加速都要备案域名。

云函数

强烈不推荐。抄的的AWS Lambda,但最新的定价模式严重违反了Serverless本身用多少付多少的理念。前三个月有免费额度,后面每月最低消费12.8,这一年的费用基本上和一台虚拟机没差了,还牺牲了虚拟机可以使用数据库和redis的灵活性。

AWS

绑定Visa卡可以免费用一年一个低端EC2实例,一个月免费15G流量。这个实例有一个缺点就是有CPU积分,CPU不占用的时候每小时可以额度会恢复,满额是120,支持100% CPU运行120分钟,后面速度将限制到10%。我OpenWRT编译一天还没编译完,最后还卡死了。挂挂一般网站的话还是够用的。

现在在用他家的S3对象储存,参考准备博客搬家

Google Cloud Platform

Compute Engine

谷歌云的免费福利在境外云中算是最多的,首先拿任意单标VISA/Master可以获得300美刀的增额(90天有效),除了GPU不能用其他都行。正常用估计是花不完的,可以开多核机器压视频,应该比自己的电脑还要快得多。他家还有一个长期有效的免费层级。每个月可以提供一个免费的小主机,1个G的免费出站流量(不包含中国),不收IP费用(不属于免费层级的机器GCP动态IP也要交IP费,挺贵的,这点和AWS不一样)。还有一些免费服务,比如云函数,Cloud Run,App Engine,Cloud Build,私有代码仓库等等。

但是GCP有一个缺点,就是通向中国大陆的流量费用是一般流量的两倍费用,这点和谷歌没有在大陆正常营业有关系,所以我用腾讯的COS和CDN来省钱。GCP的网络费用还没完,不仅仅有出站流量费(但基本上不会超过1G的免费层级),还有一个“Network Egress via Carrier Peering Network”,一个月大概是0.1美刀。

从Vultr迁移到GCP加腾讯云后账单一个月的账单从每月5刀节省到了一个月不到1人民币,一年可以节省几百块(如果不在乎墙内访问的话还是用Github Page最省心)。

Cloud Source Repositories

Cloud Source Repostories是谷歌家的私有代码仓库服务,仓库本身不收费,一个月送50G储存空间和50G出站流量。用这个必须要挂梯子,主要是方便Cloud Build的使用(Github仓库也能用,授权即可)。

Cloud Build

Cloud Build是谷歌的CI/CD服务,每天免费额度120分钟,可以用来部署Cloud Run,App Engine,删除Container Registry和Artifact Registry的镜像等等。

写法比较鬼畜,一个环境只能用args变量只能写一句命令,不像Github Action一个环境可以连续写命令。曲线救国方法就是用bash把多个命令组合到一起,参考链接。这主要是因为Cloud Build用的是Docker作为执行容器,而Github Action是分配虚拟机。

使用案例

我把Github的**填报项目移到了Cloud Build,主要是怕Github账号被封号或者封Action功能,因为Github不支持Action用来签到服务和挖矿盈利。把仓库传上去就可以在仓库设置中转到Cloud Build触发器。下面是测试成功的cloudbuild.yaml,放在代码仓库根目录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## cloudbuild.yaml
## name是一个nodejs docker环境
## env里面的环境变量中学号和密码必填,不要写引号或者双引号。TG的ID和TOKEN如果没有可以删掉。
## timeout怕运行时间过长,6分钟还没结束就要强制停止。

steps:
- name: 'node'
entrypoint: 'bash'
env: ['BUPT_USERNAME=数字学号', 'BUPT_PASSWORD=密码', 'TG_CHAT_ID=数字ID','NTBA_FIX_319=1','TG_BOT_TOKEN=XXX']
args:
- '-c'
- |
npm install -g pnpm@next-7 \
&& pnpm i \
&& pnpm start
timeout: 360s

还需要设置一个定时调用这个构建的定时器。最简单的是用Cloud Scheduler定时执行。或者允许HTTP Webhook调用,然后在虚拟机的crontab中加入任务,定时用curl发送post命令调用。

Cloud Scheduler

定时服务,一个账户3个免费(暂时关闭一样收费)。如果有虚拟机,crontab也是够用的,因为Cloud Build是支持HTTP(Webhook)的。

Cloud Function

谷歌云把AWS Lambda拆分成了两个服务,函数部署在Cloud Function,容器在Cloud Run。我试了下部署Python程序,部署完之后会把Docker image储存到Artifact Registry,大小挺大的(400M多),而且部署完函数也不允许删除。最坑的是,这个image的Python环境缺少很多关键库,import也不会自动安装,我的评价是没卵用。

Cloud Run

谷歌云的无状态容器部署服务,一个月提供一定量的免费额度。根据定价表,如果在第一档计费的区域,CPU的免费额度为4.32美刀,内存的免费额度为0.9美刀,请求的免费额度为0.8美刀,一共是6.02美刀,差不多一台虚拟机的价格。

支持映射多个域名,但不支持自己上传证书,谷歌生成免费证书大概要半个小时到一个小时。

性能根据测试,部署Nginx的静态网页项目的冷启动延时大约100毫秒,启动后会更短,还不错。但Java Spring项目的冷启动时间可能会到15秒,并且得额外配置数据库和Redis服务器。谷歌云自己的数据库和Redis服务是非常贵的,如果想连虚拟机上的数据库和Redis的话要么走公网(很不安全),要么买无状态服务器的VPC连接器,一个月几十美刀😅。

App Engine

谷歌云类似Cloud Run无状态服务,但标准环境不支持直接部署Docker image,只支持几种特定语言写的后端程序,不适合部署前端静态网站。标准环境每天提供28小时的F(前端)实例和6小时B(后端)实例的免费额度,F2实例基本上够小型Spring Boot项目使用了(但数据库和Redis还是没有的)。柔性环境支持部署Docker,但没有免费额度,不如去用免费的Cloud Run。

只支持映射一个域名,支持写配置把子域名或者地址目录分到不同的服务上。

Maven部署插件对多module项目支持不好,只部署子module会报错,找不到父module的artifact(packaging都写成pom了,哪里有artifact)。

Firestore

谷歌云的NoSQL储存服务,以文档的形式储存文件,增删改查都用的HTTP,延时有点感人。最坑的是,只支持一张大表,想把测试和上线数据分开都难😅。官方的解决方案竟然是在谷歌云上开多个project(简直扯淡)。

一天5W次免费查询,2W次免费更改和删除,一开始用觉得还好,其实5W查询量非常少。数据库的设计不能像MySQL那样开很多张表,查询量太大,最好的办法是套娃,在文档里面用List或者Map套数据。但如果嵌套太深的话查询的压力又很大,比较尴尬。

开发上还有一个麻烦是Java库直连的谷歌的地址,在墙内无法访问。挂Socks5代理也没用,得用虚拟网卡的代理或者外挂路由器。

Cloud Storage

谷歌云的对象储存服务,没啥惊喜。一个月提供5G免费储存空间和1G的北美免费出站流量,不支持防盗链,只支持网址签名。本身不支持接入域名,可以用Cloudflare加入一个cname记录来映射域名。由于流量费用比较贵,没咋用,暂时只拿来储存Wordpress的备份数据。

今年10月开始每月免费出站流量从1G增加到100G,毕竟Amazon S3去年12月开始就每月提供100G免费出站流量。免费流量目的地都不包括中国,可以通过在Cloudflare加入CNAME记录走CDN省钱。

Container Registry

谷歌云之前的Docker私有容器储存平台,基于Cloud Storage储存桶。App Engine部署之后就会生成一个image,储存到Container Registry的多区域储存桶中。

Artifact Registry

谷歌云最新的软件包储存平台,支持Docker,apt和maven,储存价格会比Container Registry稍贵,但出站流量费用会便宜点。

小结

Vultr不要碰,性价比极低,服务水平糟糕。腾讯云适合尝鲜,服务有缩水和涨价的趋势。谷歌云总体来说性价比还行,比国内的服务商有诚意一些,未来会补充使用教程。