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. linux命令行学习-dig(DNS查询器)

    在web开发中.总要熟悉的就是http协议.而发起一个http開始前最先要经历的一个过程就是DNS解析.简单说就是域名怎样终于解析到实际serverip的过程. 而在研究DNS解析和排除DNS解析类故 ...

  2. jquery05 继承

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. Vue v-if v-for v-bind v-on

    v-if <div v-if="type === 'A'"> A </div> <div v-else-if="type === 'B'&q ...

  4. Kinect 开发 —— 常见手势识别(上)

    悬浮按钮 (Hover Button) 悬浮按钮通过将鼠标点击换成悬浮然后等待(hover-and-wait)动作,解决了不小心点击的问题.当光标位于按钮之上时,意味着用户通过将光标悬浮在按钮上一段时 ...

  5. svg(1) path路径

    注: 笔记来自于http://www.jb51.net/html5/72250.html  以及http://blog.csdn.net/u013291076/article/details/2707 ...

  6. 内网使用 IPV6 之Teredo篇

    这篇转载自 http://bbs.pcbeta.com/viewthread-1580771-1-1.html 上IPv6站点之Teredo篇http://bbs.pcbeta.com/viewthr ...

  7. [NowCoder]牛客OI周赛1 题解

    A.分组 首先,认识的人不超过3个,因此不存在无解的方案 考虑直接构造,先把所有点设为1,顺序扫一遍把有问题的点加入队列 每次取队头,将其颜色取反,再更新有问题的点 复杂度:考虑到每个点不会操作2次, ...

  8. dump var_dump print print_r的区别

    dump var_dump print print_r的区别 一.总结 用dump()来打印就对了 1.echo和print:不能打印复合型和资源型数据: 2.var_dump()和print_r() ...

  9. Java学习笔记八

    IO流:就是input/output输入/输出流. 一.字节流操作文件的便捷类:FileWriter和FileReader import java.io.FileWriter; import java ...

  10. DG动态性能视图详解

    V$LOG 显示CONTROLFILE记录的LOG FILE信息. 列名          描述 GROUP#        日志组号 THREAD#       日志线程号 SEQUENCE#    ...