今年8月得知了Heroku将要在今年11月彻底下线免费服务,我只有少量服务放在Heroku上,所以没有太在意,直到10月感觉到不得不开始做迁移相关的工作了,于是开始着手准备,并有了这篇文章。
这篇文章纯属是事后记录的一些流水账,可能缺少截图和代码片段,全当是作为一个故事看,可能不具备参考性。
为什么选择PaaS服务
从很久以前开始接触“虚拟主机”这个行业开始,我经历了虚拟主机、VPS、云主机、PaaS、容器等时代——从最早我不需要有任何运维成本的虚拟主机,需要完全自己运维的VPS主机,又回归到不太需要自己运维的PaaS服务,就像兜了一个圈。
PaaS全名平台即服务(Platform as a Service),意思是云平台提供了一套部署“框架”,可以将你编写的代码通过它的方式一键部署在云上,并且给你提供网络、存储、日志等常用的服务,解决了开发人员的运维问题,我们只需要写好代码提交,后期所有的自动化部署、发布、运维、扩展、备份等逻辑都可以让云平台帮我完成。
其实容器与k8s的思想也是脱胎于此,现在看来,容器就是将这样的需求标准化成为了一套规范。相对来说,容器的可定制化程度更高,也算是PaaS服务在2015年以后的逐步进化。
其实我一直认为,早期的虚拟主机发展到后面就是PaaS,PaaS继续发展就是现在的容器即服务(CaaS)。所以,本文所谓的PaaS的概念,并不局限在一两个名词之中,而是泛指这一类基于某种特定的框架来自动化部署的平台。
早期著名的PaaS平台有谷歌的GAE、新浪的SAE、Heroku等,PaaS这个概念能很快打入开发群体之中的关键原因之一是免费。在2015年左右,正是GAE、SAE等平台最火的时候, 我记得曾经有不少教程教大家如何部署应用到GAE,甚至有的翻墙工具也直接部署在GAE上。
发展到今天,新浪的SAE早已半入土,谷歌Cloud SAE因为高昂的学习成本与产品设计,也被我抛弃了。
我记得之前部署过服务在GAE上,但因为用错了环境导致没有满足Free Tier资格仍然被扣费。其后台管理与付费逻辑十分难懂,在账单出来前你很难知道自己在用的服务价格,我开始抵触这类收费标准不明确的后付费产品,就怕哪天早上起床突然发现房子被人收走了。