我建议你了解一点儿Serverless | IDCF

来源:码农翻身 作者:码农翻身刘欣
一个新技术的出现不是无中生有,从石头中凭空蹦出来的,而是在原有基础上的继承和发展。
Serverless也不例外,我们回顾下IT基础设施的发展,就会发现,Serverless自然就会浮现出来,你自己就可以发明它(但是却实现不了它)。
一、局域网时代
上世纪90年代,你是一家IT部门的负责人,公司需要建立一个信息管理系统,
这时候的系统都是局域网的, 是C/S模式的, 业务逻辑主要在客户端软件中, 需要被安装到各个电脑上去,然后访问同一个数据库。

在部署这个系统之前,你需要做很多的工作:
搭建局域网, 购买交换机,路由器。 买服务器,安装操作系统,比如Window NT。 安装数据库软件,例如Oracle。 然后再把那些Delphi/VB/PowerBuilder写的客户端安装到电脑上, 整个系统跑起来了。

二、数据中心

三、虚拟化
为什么要用物理服务器? 谁要是能提供虚拟机给我就好了! 用完了就可以“扔掉”!
物理服务器不用买了,申请虚拟机就可以了。什么样的CPU, 多少内存,多大的硬盘,对应的价格也不同。
操作系统会按照你的要求自动给你安装好。网络自然不用操心, 要多大带宽直接买就行。
四、理想模式
不要再考虑什么物理服务器/虚拟机了, 把代码上传到云端,直接运行。 按使用情况(如CPU时间、内存大小)来收费。

五、Serverless 的特点
程序员编写完成业务的函数代码。 上传到支持Serverless的平台,设定触发的规则。 请求到来,Serverless平台根据触发规则加载函数,创建函数实例,运行。 如果请求比较多,会进行实例的扩展,如果请求较少,就进行实例的收缩。 如果无人访问,卸载函数实例。


用户的会话状态肯定是无法保持的,像session sticky 这样的功能就别想了。函数无法做本地的持久化,没法访问本地硬盘的任何东西(服务器看不见了,怎么能看见硬盘呢?)。 所有想持久化的东西必须得保存到外部的系统或者存储中,例如Redis,MySQL等。很明显,这些东西也应该以“服务”的方式来呈现,即Backend as a Service (BaaS)。


评论

