何为Serverless?
常用的翻译是无服务器计算,我觉得这个翻译有点让人产生歧义,可能是因为咱们汉语讲究精简,越精简越有气势。这个无服务器计算不是不需要服务器,而是指的是在开发、部署时不需要依赖于服务器操作系统、服务器应用运行时环境的配置操作和日常维护。
不是咱们读书少,只是套路深。
为什么需要使用Serverless?
过去我们想要通过web为用户提供信息是怎么做的呢?我把技术的进展过程分为几个时代:
1.0时代 web网站
我们先在本地基于php、asp、jsp等技术搭建一个动态网站,然后租用服务器或者虚拟主机,并在服务器上部署好文件上传工具FTP、数据库软件Mysql,Web服务器等,然后再把网站程序上传到服务器上。这里所有的操作系统、服务端软件都需要自己去管理和维护。
2.0时代 web应用程序
慢慢的,我们的web网站业务越来越多,需要的开发人员也逐渐多起来了,然后,团队里的开发人员开始干架,“我靠,谁他们改代码不获取最新的代码,我把刚刚的功能给覆盖掉了?”。。。。。。网站改动的速度越来越慢,老板越来越不满意了,有没有办法解决呢?web应用程序英姿飒爽的飘飘而来。
3.0时代 软件即服务(SAAS)
随着移动应用从天而降,大有取代传统互联网之势,公司的决策层们,心里焦虑啊,咱们也上App吧。怎么上呢?重构服务器后端代码,重新组织业务模块,HTTP REST,向前冲啊。把公司的每个服务通过Rest api向App用户提供服务。
4.0时代 微服务时代
大家热火朝天的干着,正当祖国的春天一片好的时候,老板突然发现,不对劲啊,怎么成本越来越高,改个错别字都要一天,看着忙碌的员工,老板急了,赶紧召集中层管理开会,咋回事啊,测试部门老大说,“没办法啊,我要等大家所有的代码提交上来后,才能做测试发布啊”。开发1部门老大,“没办法啊,我这边的任务要等开发2部门向我提供依赖的服务才能继续往下开发啊”。。。。。。。正当大家你一句,我一句,吵得不可开交的时候,“嘭”的一声,从天而降一位金甲大神,原来新来的技术总监踩着五彩祥云而来,“你丫的各个业务小组不会自己单独开个服务吗?以后听我指挥”。。。。。。就这样,技术总监为每个小组分配了独立的服务接口,每个接口都责任到小组长甚至每个人。
5.0时代 ServerLess
在新总监的指挥下,一切都是那么的和谐,那么的美。但是,运维部门同事脸色越来越难看,身体也越来越差,终于引起了运维部门的同事集体罢工,“你们爱怎么玩,就怎么玩,老子不伺候了”。原来,运维部的就2个同事,不是端着电脑在路上,就是在端着电脑在车上,就差端着电脑在床上了。
有需求的地方就有商机,云服务商应声而起,跑过来跟老板说,“我有技术你有钱,都是小事,来,用我们的Serverlesse服务架构,从此再也不用加班熬夜调配置看日志了,好用还不贵哦,解放你的运维部吧”。然后,老板就把运维部解散了。。。。。。