Bmob FaaS 或“函数即服务” 介绍
函数即服务是一种新的软件基础设施术语,它比容器颗粒更小。
FaaS与Baas很类似,都是为了提高开发效率,解决微服务中所遇到的问题,先对而言Faas灵活度更高。大家一般把 Faas+Baas=Serverless.
Bmob在国内最早做这个的企业之一,当时还完全未有借鉴,在走这条路的过程中也遇到了许许多多困难。
什么是函数服务有人举了个很好的例子.
图侵权删
Serverless是一种基于互联网的技术架构理念,它具有
1、低运营成本;
2、简化设备运维;
3、提升可维护性;
4、简单易用,更快的开发速度;
5、相对小企业可靠性更好好
面临的问题
1.用户无数的Function 如何处理?
2.如何实现弹性部署?
3.如何集成日志、监控等工具?
4.服务问题?
5.安全问题?
第一个问题:用户无数的Function 如何处理?
1.我们可以给每个用户Function建立一个文件夹
2.我们可以每个用户一个容器
第二个问题:如何实现弹性部署?
1.如果要实现这一秒1K QPS,下一秒1W QPS。负载均衡有限的弹性部署中小云厂家是可以做到,并且你有活动还可以手动给你账户定制QPS。
2.如果要实现这一秒1K QPS,下一秒10W QPS、100W QPS,这种目前只能自有机房的厂家玩(像目前腾讯、阿里云都支持,他们今年也都推出了Faas,目前都在公测阶段),费用也不会低。不过流量到这一级别很多企业早已经用自己系统了,至少目前国情是这样。
第三个问题:如何集成日志、监控等工具?
1.这个主要分2种,一种提供给用户,一种提供内部使用。
2.提供给用户的有函数回调结果日志,定时任务日志。监控QPS流量等。
第四个问题:服务问题?
1.Faas服务问题是个人认为最难解决的问题,由于各个厂家对Faas的封装没有一个统一的标准,大家代码也互不兼容。并且都封装了一些自己内部的函数,由于发展初期用户很难子啊各大网站找到答案,导致部分用户遇到问题需要人工技术支持才能走入正轨,这是Faas普及的一大难点。
第五个问题:安全问题?
1.目前市场做防攻击的上市企业防攻击技术是比较成熟的,只要你攻击很快很准确的监控并定位攻击流量,大多数恶意行为都能被监测隔离,被清洗掉。虽然不能吹嘘的像个别企业说能做到:到达服务器的攻击流量也能很快的被隔离,关进小黑屋,不过换个ip 还是可以的,相比一些中小企业直接暴露ip还是安全很多。
有些人说Baas 厂家提供的云函数、云逻辑之类不能称之为Faas,主要说出2点。
- 像亚马逊的Lambda,每 100 万个请求 0.20 美元,他们是按照单个请求计费的
- 说Baas的云逻辑没有自动伸缩功能。据我了解虽然没法跟有机房的厂家比,做到类似无限伸缩,不过Bmob、与AV的Faas产品都是可以根据业务定制的。
有些人说Baas 随着serverless的发展,以后小公司就不需要运维工程师了
- 个人觉得这天还早,除非国内各大平台的Faas 都能统一标准。
- 这种新型产品,由于需要对外界暴露函数访问域名,目前政策也还不太明朗,如果手动绑定自己域名就加重了使用成本。
对于初创团队或者企业新业务来说使用这种服务是最合适的,因为Serverless能做到快、好、省。不过对于Serverless的普及,个人觉得国内难度还是很大,由于完全由第三方管理目前最大的挑战还是信任与服务问题。不过在国内,已经超过10W+开发者已经接受这种模式。