Serverless历史
Serverless 架构是云的自然延伸,为了理解 Serverless,我们有必要回顾一下云计算的发展。
IaaS
2006 年AWS 推出 EC2(Elastic Compute Cloud),也是目前公认的第一代 IaaS(Infrastructure as a Service),用户可以通过 AWS 快速的申请到计算资源,并在上面部署自己的互联网服务。IaaS 从本质上讲,是服务器租赁并提供基础设施外包服务,就比如我们用的水和电一样,我们不会自己去引入自来水和发电,而是直接从自来水公司和电网公司购入,并根据实际使用付费。
EC2 真正对 IT 行业带来的改变是硬件的虚拟化,并且 EC2 给用户和行业带来了以下五个好处。 - 降低劳动力成本:减少了企业本身雇佣IT人员的成本。 - 降低风险:不用再像自己运维物理机那样,担心各种意外风险,EC2 有主机损坏,再申请一个就好了。 - 降低基础设施成本:可以按小时、周、月或者年为周期租用 EC2。 - 扩展性:不必过早的预期基础设施采购,因为通过云厂商可以很快的获取。 - 节约时间成本:快速的获取资源开展业务实验。
Pass
相信很多人都听说过Paas,那什么是Paas呢?PaaS(Platform as a Service)是构建在 IaaS 之上的一种平台服务,提供操作系统安装、监控和服务发现等功能,用户只需要部署自己的应用即可,最早实现商业PaaS的是Heroko ,以及开源的 PaaS——Cloud Foundry,用户可以基于它来构建私有 PaaS,如果同时使用公有云和私有云,如果能在两者之间构建一个统一的 PaaS,那就是“混合云”了。
在 PaaS 上最广泛使用的技术就要数 Docker 了,因为使用容器可以很清晰的描述应用程序,并保证环境一致性。管理云上的容器,可以称为是 CaaS(Container as a Service),如 GCE(Google Container Engine),也可以基于 Kubernetes、Mesos 这类开源软件构件自己的 CaaS。
PaaS 是对软件的一个更高的抽象层次,已经接触到应用程序的运行环境本身,可以由开发者自定义,而不必接触更底层的操作系统。