为什么会有无服务(Serverless)构架
经过最近几年容器化和Devops的发展,程序员已经变得越来越“懒惰”了——对于部署环境,开发能不管理尽量不管理。于是乎,Docker,Kubenetes等等一系列部署环境应运而生。但是,无论容器化再怎么对环境进行封装,开发和运维人员始终无法摆脱对服务器的管理工作,即便使用了可视化的容器管理平台,背后的端口映射、文件挂载仍然全让人不胜其烦。
在这样的背景下,无服务架构逐渐被提出和实现。
什么是无服务(Serverless)构架
其实大家应该都可以理解,无服务并不是说服务器从此就不存在了,自从进入了互联网时代,服务器的重要性只会越来越高。无服务架构实际上是让软件开发者在开发和部署软件的过程中感觉不到服务器的存在。开发人员只需要关注在自己的代码(或函数)实现上,也就是所谓的函数即服务(FaaS)。我们常用的几种服务形式,从低层到高级分别为IaaS,PaaS,SaaS。IaaS和PaaS对于用户而言,依然有一定的运维能力要求,而PaaS虽然免去了运维工作,但其灵活度又比前两者低了很多,FaaS则正好抛弃了三者的缺点,保留了三者的优点
平台 | IaaS | PaaS | FaaS | Saas |
---|---|---|---|---|
定义 | 基础设施即服务 | 平台即服务 | 函数即服务 | 软件即服务 |