SaaS(软件即服务:Software as a Service)、IaaS(基础设施即服务:Infrastructure as a Service)和PaaS(平台即服务:Platform as a Service)早已为业界人士所熟悉 ,BaaS生态系统正从一个小众垂直领域迅速成为非常重要的行业环节。BAAS为应用开发提供后台的云服务,在当前的移动互联网+云计算热潮中,尤其为这2类应用提供了大量的技术支持。包括提供存储、托管环境,也包括提供推送等通行后端技术能力。有单独的mBAAS的说法,但大多数人习惯将BAAS等同于为移动互联网应用开发而提供的云服务。BAAS作为应用开发的新模型,进一步实现专业分工,有助于应用的成本下降和市场的进一步繁荣。

  从技术上讲,BaaS关键问题是要保持REST Web服务模型接口的优势。这些接口呈现出一个简单的PUT或GET事务处理模式,但并不会一直保持在调用的处理状态中。多数PUT/GET方法显示出了他们自己的服务API,作为RESTful 接口,这些接口使用XML数据结构来接收和响应。XML处理是一件琐碎的事情,然而,在每个目标移动设备中,接受一个简单的数据结构或者提供编程逻辑来重复使用该界面都会有所帮助。
  创建一个BaaS服务,拥有正确功能级别的粒度,也同样重要。移动用户通常希望设备能够快速响应一个请求,而且有一些接口时间问题:将具有较长执行时间的复杂功能转移到一个单独的服务上是不合适的。因为RESTful接口预计是无状态的,因此在把复杂功能转化为一系列可以单独使用的元素时要高度注意,但是当需要时这些功能又可以聚集到一起。每个请求必须是独立的,并且可以将数据反馈给特定的需求。如果稍后还会需求,就必须将其存储到设备中,或者通过设备返回、维护并更新。

  Baas是对前端开发人员的利好,更是创业团队的春天,Baas意味着更小的创业成本:

1)人力成本:后端开发人员不再是初创团队的compulsory option.

2)时间成本:Baas对初创企业最大的吸引力在于原型快速的验证阶段。在刚有产品雏形的时候,用户数大都不多,这时候性能和稳定性并不是最主要的目标,把产品放到市场上去验证想法,快速试错才是这时候最主要的目标。Bass意味着更快速的产品迭代,更小的试错成本,更有利的抢占市场时机。

  Baas也有自己的劣势,后端逻辑变成了一个黑盒,出了问题只能等待服务提供商解决。而且现在的大部分Baas服务提供者都是初创团队,在服务的稳定性和性能方面还有很大的成长空间。

  在DevOps越来越盛行的今天,其实我们早已很难界定“后端”的边界在哪里了。甚至在很多前端开发人员的眼中,所有前端以外的工作都是后端,包括测试,运维。这其中的痛点,也诞生了一批创业公司。比如专注于做移动app真机测试的testin,专注于android应用市场渠道接入的酷传,专注于手游SDK渠道接入的棱镜等等。它们从广义上很难说是纯正的Baas,但是它们都在移动开发的生命周期的某个环节切切实实的解决了某个痛点问题,提高了效率,而且它们只专注于做这一件事,虽然这可能只是一个很小的不起眼的工具。

  Baas兴起的意义在于更好的基于软件工程角度的分工和对服务的抽象,让最专业的人做最专业的事,更专业的人做更专业的事。

BaaS简介的更多相关文章

  1. BaaS API 设计规范

    上个月写了一个团队中的 BaaS API 的设计规范,给大家分享下: 目录 1. 引言... 4 1.1. 概要... 4 1.2. 参考资料... 4 1.3. 阅读对象... 4 1.4. 术语解 ...

  2. 如何用Baas快速在腾讯云上开发小程序-系列4:实现客户侧商品列表、商品详情页程序

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/431172001487671163 来源:腾云阁 h ...

  3. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  4. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  5. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  6. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  7. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  8. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  9. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

随机推荐

  1. mysql_jdbc

    package com.lovo.day18_jdbc1; import java.sql.Connection; import java.sql.DriverManager; import java ...

  2. Http协议简介【转】

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  3. 66.app.use(express.static)

    转自:https://blog.csdn.net/u010977147/article/details/60956502

  4. POJ 1988 带偏移量的并查集

    题意: 思路: 数据范围很大 貌似只能用并查集了-- //By SiriusRen #include <cstdio> using namespace std; int p,f[33333 ...

  5. Android 如何获取Android RecyclerView滑动的距离

    如何获取 RecyclerView 的滑动距离? RecyclerView 虽然有getScrollX() 和 getScrollY(), 但是测试发现这两个函数总是返回0,太无语了.因此想到了下面几 ...

  6. javap 命令 反编译代码

    javap 命令 javap -c classname 一个好的分析class二进制文件的 链接 http://blog.csdn.net/pwlazy/article/details/7954169

  7. php课程 18-60 cookie和session的最主要区别是什么

    php课程 18-60 cookie和session的最主要区别是什么 一.总结 一句话总结:存储位置不同:cookie存储在客户端:session存储在服务端. 1.cookie和session在p ...

  8. 9.使用 npm 命令安装模块

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html npm 安装 Node.js 模块语法格式如下: $ npm install <Modu ...

  9. 洛谷 P3386 【模板】二分图匹配 Dinic版

    题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 ...

  10. F的ACM暑期集训计划

    暑假的知识计划(补充中...) 1.数论相关 (7days) 待完成 多项式同余方程/高次同余方程/欧拉函数/克莱姆法则/高斯消元/莫比乌斯反演/伪素数判定/baby-step-gaint-step ...