Firebase能改变什么(对SaaS,BaaS,PaaS,IaaS的解释比较清楚)
按:本文作者刘之,野狗CEO。野狗是一家做实时后端云的创业公司。
Google I/O大会推出了全新的Firebase平台,开发者反响强烈。Google一年半前收购Firebase时后者团队仅26人,按照Google的作风,收购后的公司品牌就要关掉。至今收购而保留下来的品牌并不多,除非收购前品牌影响力很大,比如Nest、Android,都是特别大体量的产品。Firebase能够保留下品牌,足见这个产品的影响力。
那一家由26人组成的公司做出了怎样的产品?又怎样成为Google Cloud战略中重要的一环?因为野狗和Firebase的API完全兼容,所以由我来写这篇文章还是很有发言权。

|Firebase究竟好在哪?
1、本地副本,弱中心化的架构
Firebase的实现原理可以理解为是一个客户端分布式实时数据库。在每个客户端上都有一个云端数据库的副本。当客户端被更改的时候,每个设备上的数据库副本都会相应的进行同步。
当实现本地副本、弱中心化以后,有很多好处。比如可以提供离线处理,在网络不好的情况下可以无需中断。只要网络一好,立刻进行同步。还有可以很简化开发模型,因为数据在每个客户端的SDK里都有缓存,执行速度非常的快。
PS:这样的特性对使用者特别友好,但是对系统开发来说特别考验架构和编程能力,因为要在每个端上要实现一个内存数据库。更别提还有事务处理等复杂功能。
2、前端化思维
Firebase的产品和Facebook的Parse不一样的地方是,Firebase对前端工程师特别友好。
Web工程师逐渐正在崛起,不再只是写个代码,做个页面这么简单。
有人说Firebase平均每月2万的净增是从Google导入的新用户,但实际情况是产品优秀。
Firebase是一个BaaS ( Backend as a Service ) 服务。Firebase的应用场景非常丰富,比如多人互动、游戏、物联网等。

|传统云服务体验怎么样?
先说下传统云服务公司的定义:SaaS、PaaS、IaaS。越往下自由度越高,越往上使用起来越简单。
SaaS解决的是开箱即用的问题,不用写代码,直接用。PaaS解决的是运维的问题,写完代码往云端一扔,搞定。而IaaS解决的是硬件资源弹性扩容的问题,像个水龙头,用多少拧多少。
目前PaaS代表的产品比如HeroKu,Google App Engine、国内SAE等,几乎全线已挂或半死不活。PaaS挂掉的原因是没有解决根本问题,半吊子。又不简单,又不自由。

广义BaaS是指用户需要通过远程API获得服务的云服务产品。比如类似统计服务MixPanel、友盟等。狭义的BaaS是指通过远程API提供计算和存储资源的产品,比如Parse、Firebase、Twilio、Pusher,Apple Cloud Kit这样的产品。
|新版Firebase能为Google带来什么?
BaaS接近SaaS,但是提供更多的自由度。用户使用Firebase API可以很方便的开发出实时通信功能,而无需后端云服务。苹果、AWS、Paypal等很多公司都有自己的BaaS平台。不同于传统的PaaS服务还需要上传到容器,BaaS服务仅需要API接口就可以进行编程。
比如新版Firebase与分析服务实现了深度集成,它可以向Firebase反馈基础的用户信息,与Google Analytics一样,开发者也可以指定特定的细节,例如追踪按钮的按压或者购买的操作。
借助这些数据Firebase能够给出一个直观的分析报告,以便开发者深入了解用户的行为或者广告的投放效果。
本次更新后,Firebase可以远程变更应用配置,开发者可以借此进行某些A/B测试。同时Firebase开放了全新的通知系统,此功能基于Google Cloud Messaging。

除此之外,Google还将Firebase与Cloud Test Lab深度结合了起来,以便开发者在真实设备上测试移动应用,并重命名为Firebase Test Lab。
在美国的市场,IaaS亚马逊已经是绝对的老大,Google没有机会。Google希望通过Firebase这个产品能够连接它的底层Google Cloud和上层的SaaS业务:Nest、Google Works、Admob、分析等。甚至Nest的API也是使用的Firebase。
在这次Google推出的包括分析、Push、Storage等功能,看起来没有新意,但恰是透露了Google通过以Firebase为中心,以应用为切入口去和亚马逊AWS竞争的战略。
雷锋网注:本文为雷锋网(搜索“雷锋网”公众号关注)原创约稿,转载请联系授权并保留完整信息,不得修改、删减文章。
http://www.weibo.com/ttarticle/p/show?id=2309351000223978995556350045
Firebase能改变什么(对SaaS,BaaS,PaaS,IaaS的解释比较清楚)的更多相关文章
- [转]云计算:SaaS、PaaS、IaaS、CaaS
http://blog.csdn.net/it_man/article/details/8441902 近两年来,随着云计算技术的飞速发展,越来越多的厂商意识到了它巨大的潜在价值.随着微软.IBM.G ...
- 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)
云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什 ...
- 浅谈云计算SPI(SaaS、PaaS、IaaS)
The other day, I arrived at the SAP LABS CHINA for interview with my pleasure. That gave me a chance ...
- 云计算SPI(SaaS、PaaS、IaaS)
云计算SPI(SaaS.PaaS.IaaS) The other day, I arrived at the SAP LABS CHINA for interview with my pleasure ...
- 云计算之概念——IaaS、SaaS、PaaS、Daas
云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计算设备,计算设备一般是指CPU.内存和硬盘,输入/输出设备一般是指键盘.鼠标.显示器.耳机.音响.话筒等外设.而我们的个人计算机是使用主板 ...
- 云计算服务模式(SaaS/PaaS/IaaS)
为什么是云计算,为什么是现在 商用云:商用云的设计初衷是将基础设施商品化,并以较低的成本对外提供,是用户能够获得高扩展性和自服务能力. 企业云:企业级云的目的,则是达到或超过它所要替代的本地基础设施的 ...
- SaaS,PaaS,IaaS都是什么鬼?
IaaS Infrastructure as a Service,基础设施即服务. 假如你现在要做一个网站,你肯定要有一台服务器或者虚拟机,要么自己搭建,要么买服务器运营商的.说白了,IaaS就是解决 ...
- SaaS|PaaS|iaas|
生物医疗大数据:云物移大智 云计算的三种模式:SaaS|PaaS|iaas 互联网:计算机之间的网络 物联网:物品之间的网络 移动:5G的三个特点:快:密:稳 大数据:4v:volume数据量大:ve ...
- SaaS、PaaS、IaaS的含义与区别
先上个图,直观的了解一下 云计算有SPI,即SaaS.PaaS和IaaS三大服务模式. PaaS和IaaS源于SaaS SaaS Software as a Service 软件即服务,提供给客户的服 ...
随机推荐
- CHAR 详解
CHAR(20):20指的是表中的a字段能存储的最大字符个数 CREATE TABLE `a` ( `a` char(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT C ...
- Qt 读写XML文件
1.读操作: QDomDocument doc( “mydocument " ); QFile file( "ccc.xml" ); if ( !file.open( I ...
- 为什么objc_msgSend必须用汇编实现
译者前言 总是看到有人说用汇编实现objc_msgSend是为了速度快,当然这个不可否认.但是难道没有别的原因?于是就看到了这篇文章,遂翻译之!=.= 我自己的理解就是,用汇编实现,是为了应对不同的“ ...
- 理解JavaScript的定时器与回调机制
定时器方法 JavaScript是单线程的.虽然HTML5已经开始支持异步js了. JavaScript的setTimeout与setInterval看起来就像已经是多线程的了.但实际上setTime ...
- angularjs-ngModel 控制页面的宽度
js NiDialog.open({ windowClass: '', size:'elements', backdrop: 'static', keyboard: false, templateUr ...
- Tomcat- java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
在MyEclipse中启动Tomcat的时候报错: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServ ...
- method=“post/get”
Form表单中method="post/get'的区别 Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据 ...
- 借用Toad 生成表空间的使用量图示
图示产生方法 图示(tablespace uage)如下
- 分享一个nodejs写的小论坛
引言:作为一个前端小菜鸟,最近迷上了node,于是乎空闲时间,为了练练手写了一个node的小社区,关于微信小程序的,欢迎大家批评指导. 项目架构部分 一.前端架构 作为一个写样式也得无聊的前端狮,我偷 ...
- sqlserver-事务处理
事务的概念:简单说就访问并可能更新数据库中各种数据项的一个程序执行单元,一旦开启事务,所有对数据的操作要么全部执行,要么全部都不执行.单条sql语句本身就是一个事务. 事务的属性: 事务是作为单个逻辑 ...
