Serverless如果从字面意思拆分可以拆成两个词Server+less,意思更少的服务器,这里的少不是传统意义上的数量的减少,而是应用开发的一种新颖的模式。
部署模式发展历程
部署模式分为几个阶段,自由定义阶段、虚拟化阶段、云阶段。
自由定义阶段是传统的系统集成商比较舒服的时代,如果客户有信息化的需求,一般会有集成商来完成机房的建设,包括机房的制冷、防雷、供电、服务器购置组装,大楼的综合布线等。这个阶段集成商通过设备的买卖和安装挣取差价。
但是好景不长,很快就进入了第二阶段,虚拟化阶段。一般由一些大型的企业承揽云的建设,我理解的意义就是把服务器整合起来提供虚拟机。这个阶段一般小的系统集成厂商就基本上拿不到啥单子了。虚拟化之后机构的信息化改造一般就是通过租赁虚拟机来进行。
然后随着技术的发展,如容器化部署等技术出现了云的阶段。这个阶段最大的特点是并不是提供虚拟机,而是提供了各种各样的服务,比如提供你在线的开发工具,存储的能力,数据库的能力。但是这些能力又经过统一的换算为按量付费,当然宣传是按量付费,按需扩容。
各种方案的特点
自建机房是可控能力最强的一种形式,因为机房一般是部署在机构的办公场所里,如果遇到重大的活动,可以由运维公司和安全公司共同完成活动的保障,一旦出现重大的情况无非就是断网比较直接。
云租赁的最大特点就是托管,托管的最大弊端就是服务的滞后的问题,出现故障一般云厂商内部也需要走流程,当然故障定位一般会涉及到扯皮的问题,好些问题都想推卸到客户身上。
容器化部署最大的问题是卡脖子的问题,如果只是租赁虚拟机那无非是环境的问题,而使用Severless最大的问题是要进行开发依赖,当云厂商调整了API规则时候,厂商就得被动适应,如果APP或者应用大规模引用了那调整起来也很麻烦。而Serverless另外一个问题是资费的问题,一旦欠费就会给你关服务,而且欠费期间还会有违约金,过了那个缓冲时间环境就都销毁了也是蛮让人担心的。除了资费的问题按量付费最怕被别人盯上一旦被恶意盗刷那真是心都在流血啊。
如何选择
不同的方案适合不同的业务场景,因为Serverless这种技术方案更适合公有云的方案,可以将面向公众的非核心业务比如问卷调查啦、信息采集啦,营销活动啦这类业务放到网上,对于核心业务还是掌握在自己手中比较靠谱。