本篇文章3327字,读完约8分钟
随着互联网技术的发展,互联网行业的分工将会像其他行业一样逐步细化,后端服务也将以这种方式抽象出来,即baas(后端即服务)。在移动后端服务系统(mbaas)中,云服务公司为移动应用和智能设备开发商提供集成云后端的边界服务,包括文件数据存储、实时推送、即时通讯等难点功能,帮助开发商快速开发应用。
为什么facebook、苹果和谷歌都在关注后端云服务?在物联网时代,baas服务受到了国外巨头的重视。facebook收购parse,苹果发布cloudkit,谷歌收购firebase:parse,cloudkit和filrebase都是国外知名的baas产品。巨人都希望通过baas服务改善生态。在今年3月举行的谷歌全球云用户大会上,谷歌云服务高级副总裁黛安格林(diane greene)表示:“这将是一项长期而持久的业务。”
除了外国巨头,还有几家国内初创公司瞄准了后端服务市场。云巴就是这样一种后端云服务产品,主要为智能硬件提供跨平台、跨设备的实时消息交换服务。
云巴首席执行官胡璋表示,有了后端服务,开发者只需要关注具体业务和逻辑的实现,而不需要关心后端基础设施建设、运营和维护、服务器托管、网络和性能调整。对于巨人来说,每个都有自己的布局:
对于脸书来说,
收购parse后,公司创始人iiya sukhar成为了仅次于马克扎克伯格的第二人。在这次会议上,facebook希望结束应用程序之间的信息孤岛状态,以便不同应用程序之间的内容可以无缝地通信和跳转,因此它发布了一个名为applinks的“协议”,但在这个协议背后,需要像parse这样的后端服务来提供一系列技术支持,如数据存储、计算能力和推送通知。
不幸的是,在云服务的激烈竞争中,parse的处境很糟糕,facebook在今年年初关闭了这项服务。
对于苹果来说,
Cloudkit可以提供一个完美而灵活的后端解决方案,帮助开发人员减少编写服务器代码和维护服务器的需求。显然,苹果此举也是为了降低开发ios应用的成本,维护ios生态系统的繁荣。
除了收购firebase,谷歌还在去年10月收购了应用开发平台pshot,并将其整合到firebase中,使应用开发变得更加容易。
正如firebase创始人james tamplin在博客中所说,firebase和谷歌云平台可以很好地互补。或许,就像苹果公司为ios开发者提供cloudkit一样,谷歌可以使用类似的服务为安卓生态系统中的开发者提供便利。
归根结底,这是生态系统建设的问题。
后端服务解决了初创企业数千万美元的成本问题。例如,很难找到第三方来制作视频拦截应用程序吗?
在后端服务出现之前,应用和智能硬件的发展需要为其消息传输、数据统计、存储和实时通信等功能建立自己的服务器架构,包括建立数据库和服务器集群。但是,产品本身与互联网的基础工作关系不大,互联网属于产品企业的非主流业务,不仅复杂繁重,而且消耗了太多的经验和资源,会延长产品最终走向市场的开发周期。胡璋透露,如果一个不熟悉后端服务的应用或智能硬件启动团队想要构建自己的后端服务,需要花费两到三年的时间来投入大约30人,而效果可能并不专业,比如通信延迟和消息发送成功率低。例如,一些通过蓝牙传输的智能手表在实时显示中有大约两秒钟的延迟。这些投资,包括租用服务器,甚至花费了数千万人民币,这使得非主流业务的成本高于主流产品。
因此,除了安排后端建设外,后端服务更重要的是解决效率问题——双向通信、数据收集和统计的速度和稳定性。以实时通信功能为例,胡璋解释说,在一个家庭智能水网系统中,后端服务可以实时采集感知水流的各个传感器的数据,然后分析每一段管道的水流量和流量,从而达到监控水流是否泄漏的目的,同时将结果发送给pc机和手机。如果水流速度和流量数据异常,系统可以定位并找出泄漏位置。根据传感器的密度,它可以位于最高米的范围内。另一个例子是智能儿童手表的内部通话功能,其中用户在一端发送的音频首先由服务器转录,然后由另一端的设备接收,等等。
在这些场景中,信息传输的速度和稳定性成为决定设备服务性能的关键因素。胡璋说,如今,智能硬件早已不局限于手机、平板电脑和可穿戴设备,还加入了机器人、智能家居等。面对越来越多的场景和海量数据,减少通信延迟、保证稳定推送已经成为后端云服务提高通信效率的主要任务。目前,国外的最高标准是pubnub公司创建的全球网络内的最大延迟为250毫秒。相对而言,云巴在面对国内网络(关注国内网络)时已经实现了60毫秒以内的延迟。
智能硬件和移动应用后端云服务有什么区别?过去,后端云服务主要关注应用。在胡璋创建云巴之前,他领导创建了极光推送,专注于为移动应用提供后端服务。随着物联网和智能硬件的兴起,胡璋第二家合资企业云霸瞄准了智能硬件的实时通信领域。
胡璋表示,与移动应用相比,智能设备开发对消息延迟更加敏感,并且需要更高的流量功耗。在云巴的客户中,更多主动申请付费服务的人来自智能硬件用户。“移动应用的使用门槛低,损失成本低,消费者和开发商对它们的期望也低。不同的智能硬件,每种产品都需要一定的价格或成本来生产和购买。如果功能性服务的表现不好,更容易引起消费者的投诉。为了确保产品体验,智能硬件供应商更愿意付费。两者的区别是由互联网的产品特性决定的。“对于那些选择付费的客户,云巴将为他们提供一个独特的沟通渠道。
接下来的问题是:60毫秒的通信延迟是如何实现的?胡璋说,目前两个终端之间的通信需要经过由网关和路由组成的二三十跳,因此为了保证消息的准确快速传输,有必要减少网关的跳数,突破单机限制。胡璋表示,除了为付费用户提供单一频道的一般模式之外,云巴正在做更多的“精细工作”并调整其架构。
将服务器分成多个集群。“也许我们都发现了一个有趣的现象。一般来说,游戏室,聊天室等。一般能容纳300或500人。这个特殊的数字主要来自:对于一台服务器来说,300人的数据量是一个可以维持更好体验的水平。”胡璋说,架构的设计,即物理基因,决定了服务器的最佳容量。“但我们可以找到突破单机限制的方法,将数据分发给不同的服务器,让通信终端突破300人的限制。”
那为什么我们不能让服务器更强大呢?“事实上,最理想的方法是将通信减少到一跳,也就是说,所有任务都在一台服务器上完成并发送,但是存在一个矛盾:当一台服务器功能强大时,一旦这台服务器出现问题,那么所有服务都将无效。”为此,云巴根据业务逻辑将服务器分成几个集群。当一个集群由于压力或其他因素而出现服务问题时,另一个对等集群可以替换顶层集群并稳定服务。
据报道,云巴目前使用的缓存集群是couchbase集群和redis集群。Couchbase允许在多个节点自动备份数据,只需一个小节点,不会影响业务,并支持业务的自动共享。所谓的自动分段意味着相同类型的服务被自动分配给不同的机器。
Erlang语言支持大量并发。除了技术上的完美,每一个优秀的产品都需要润色业务场景的细节,并根据细节做出一些取舍。例如,在语言方面,云巴选择了非常不受欢迎的二郎语言。
Erlang是一种用于并发和消息的函数式编程语言。二郎设立了一个竞争性的合作程序。在erlang编程语言中,erlang进程是并发和独立执行的,轻量级的,并且有自己的堆栈空.也就是说,每个erlang进程都是完全私有的,两个erlang进程之间的堆栈空不会被共享。这就像一个高架桥和平行车道,彼此独立,无法逃脱,从而大大提高了运输的效率和速度。
与c++和java相比,erlang只在小圈子里流行。然而,将线程放在用户空空间中进行自我调度(协调)是为了获得尽可能大规模的并发性。与go \u nodejs的合作不同,竞争决策为大规模多人开发提供了保证,避免了协作的死亡。同时,erlang维护和开发了一套中间层工具otp(一次性可编程),这些工具和框架也是开发分布式服务器、错误处理和数据库等应用程序的利器。Erlang不提倡防御性编程。它认为,如果一个程序遇到错误,就应该崩溃,这样一旦出现错误,就可以立即发现,并采取补救措施将损失降到最低。
标题:创业公司解密谷歌、FB和苹果都盯上的后端云服务:能省几千万创业成本
地址:http://www.j4f2.com/ydbxw/12121.html