作为Google Cloud对标Amazon AWS重要的一环,Firebase能改变什么?
雷锋网 2016-05-25 12:18:49 查看源网址
阅读数:12

按:本文作者刘之,野狗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的解释比较清楚)的更多相关文章

  1. [转]云计算:SaaS、PaaS、IaaS、CaaS

    http://blog.csdn.net/it_man/article/details/8441902 近两年来,随着云计算技术的飞速发展,越来越多的厂商意识到了它巨大的潜在价值.随着微软.IBM.G ...

  2. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

    云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什 ...

  3. 浅谈云计算SPI(SaaS、PaaS、IaaS)

    The other day, I arrived at the SAP LABS CHINA for interview with my pleasure. That gave me a chance ...

  4. 云计算SPI(SaaS、PaaS、IaaS)

    云计算SPI(SaaS.PaaS.IaaS) The other day, I arrived at the SAP LABS CHINA for interview with my pleasure ...

  5. 云计算之概念——IaaS、SaaS、PaaS、Daas

    云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计算设备,计算设备一般是指CPU.内存和硬盘,输入/输出设备一般是指键盘.鼠标.显示器.耳机.音响.话筒等外设.而我们的个人计算机是使用主板 ...

  6. 云计算服务模式(SaaS/PaaS/IaaS)

    为什么是云计算,为什么是现在 商用云:商用云的设计初衷是将基础设施商品化,并以较低的成本对外提供,是用户能够获得高扩展性和自服务能力. 企业云:企业级云的目的,则是达到或超过它所要替代的本地基础设施的 ...

  7. SaaS,PaaS,IaaS都是什么鬼?

    IaaS Infrastructure as a Service,基础设施即服务. 假如你现在要做一个网站,你肯定要有一台服务器或者虚拟机,要么自己搭建,要么买服务器运营商的.说白了,IaaS就是解决 ...

  8. SaaS|PaaS|iaas|

    生物医疗大数据:云物移大智 云计算的三种模式:SaaS|PaaS|iaas 互联网:计算机之间的网络 物联网:物品之间的网络 移动:5G的三个特点:快:密:稳 大数据:4v:volume数据量大:ve ...

  9. SaaS、PaaS、IaaS的含义与区别

    先上个图,直观的了解一下 云计算有SPI,即SaaS.PaaS和IaaS三大服务模式. PaaS和IaaS源于SaaS SaaS Software as a Service 软件即服务,提供给客户的服 ...

随机推荐

  1. 系统调用和中断处理的异同(以Linux MIPS为例)

    在Linux下写一个驱动时候遇到的读操作性能问题,让我想一窥系统调用的处理流程,以查出问题的root cause.很多书把它和中断处理放在一起讲,但是又没有哪本书说清楚了,看来只有代码才能说明一切.以 ...

  2. [Angular 2] Keynote: Lazy Routing -- NGCONF

    So How to do lazy loading for router in Angular 2. The nomarl way to write a router in Angular 2: Yo ...

  3. Java读取WEB-INF目录下的properties配置文件

    如何在Java代码中读取WEB-INF目录下的properties配置文件,下文给出了一个解决方案. 我们习惯将一些配置信息写在配置文件中,比如将数据库的配置信息URL.User和Password写在 ...

  4. AndroidStudio工程文件导入Jar包和So第三方库

    AndroidStudio 导入Jar包和第三方So库 在android开发中,需要导入许多第三方的jar包和so库来支持,包括像许多第三方的支持平台--友盟,环信.融云.极光推送.微博.腾讯等第三方 ...

  5. Linux yum命令重装mysql

    如果是 rpm 安装的话,可以用 rpm -e mysql-server 如果是yum安装的,可以用 yum remove mysql* 删除MySQL安装文件夹 然后使用yum安装mysql: 1. ...

  6. gulp的点点滴滴

    去年用gulp,但一直没有写篇博客,今天有时间无聊写一篇.... 什么是gulp?gulp的官网title上对这个工具有一个比较准确的定义,叫做:基于流的自动化构建工具.如果你查看它的网页源代码,还会 ...

  7. 用GitHub Pages免费空间搭建Blog

    前言   其实之前就知道可以用GitHub Pages搭建静态博客,不过之前一直忙着爬手册撸代码==,昨天终于把前端各种手册里的入门教程撸的差不多了(CSS布局撸的我要吐了好嘛),于是把代码什么的放一 ...

  8. try{}catch(){}//根据异常信息使用不同的方法要怎么实现

    try{ }catch(Exception e){ if(e.getMessage().contains("123456798")) //使用e.getMessage().cont ...

  9. SGU 123.The sum

    #include <iostream> using namespace std; int f[50]={0,1,1}; int main(){ int n,s=0; cin>> ...

  10. 记一个问题的AC

    今天突然做一道LCT的染色问题的时候突然想到一个两个月前一道没有AC的题目. 链接 大意是,给一个长度为10^4的序列,最多有255个不同的数字,有最多10^5次方个询问,对于每个询问 l,r 输出[ ...