写点什么

开源、SaaS、API,谁将成为最后的赢家?

  • 2016-04-28
  • 本文字数:1177 字

    阅读完需:约 4 分钟

如今软件开发已经达到了前所未有的高度,这得益于对已有创新模块的复用。开源、SaaS 和 API 在这一过程中都发挥了巨大作用,从此开发者不再需要每天重复造轮子,而是可以把更多的精力投入到产品创新中去。 近日,投资人 Rodrigo Martinez撰文谈了他对开源、SaaS 以及API 的发展趋势。

上图是目前三者的一个搜索趋势对比(来自 Google )。开源更多的是独立开发者们共同合作的成果。其产品具有独特的竞争优势,比如低风险、低付出、产品质量更可靠、行业适应能力更强、产品更透明。开源几乎成为每个科技公司基础设施建设的关键所在。因此,很多开源项目成为了这个市场上的赢家,从下面的统计图表中我们不难发现,风险投资商向开源投入巨资,并且在近两年呈膨胀趋势,来探索新的商业模式。但直到今天,也只有很少的几家公司能够赚到钱。结果,与其他商业模式相比,很少有大的业务构建在开源之上。

SaaS 正在解决开源所遇到的这些挑战。SaaS 和开源在很多场景下是相互排斥的,但二者也是相关的,因为大部分基础设施正在 SaaS 化。比如,一个公司的 CTO 可以花费一些工程资源在 Elasticsearch 基础上构建搜索解决方案,或者通过购买 Algolia 的 SaaS 服务来加速这个过程。像 contentful、keen.io 以及其他 API-first 公司都是如此。

SaaS 给客户带来的好处显而易见,它们有明确的使用指标,产品市场定位更清晰;收入可预测,资金规划变得更简单;公司人员更精简。无疑对初创公司和早期投资者来说,这些特点更具有吸引力。

上图是对阻碍用户更大限度的使用云服务的各种因素的分析,尽管从 2012 年开始已经产生了令人关注的数据,但 SaaS 领域也充满挑战。SaaS 有很强的锁定效应,很难在 SaaS 提供商之上构建一些东西,它正走向开放创新相反的方向;云服务的可靠性和隐私问题也会成为客户迁移数据和关键基础设施到 SaaS 中的障碍。

API 的出现似乎解决了这些问题。API 即应用程序编程接口,是一些预先定义的函数。在实践中,虽然大多数 API 是以 SaaS 的形式提供,但这两种模式却有着本质的不同。

一方面,API 正在构建预定义的软件模块,与 SaaS 相比,API 本质上是允许在其之上进行开发的平台。它具有“构建”的属性,它集成了开源的优势,规避了 SaaS 的弊端。另一方面,API 企业集中精力在解决“小”问题,而这又是非常专业的方向并且技术方面也很难被其他公司破解。客户在很大程度上愿意去相信 API 提供商,并用这些 API 去构建其核心基础设施。因为他们相信“这些人如果只做这些事,他们一定会做得更好更专业”。

显然,现在来讲 API 是否会打败 SaaS 或者是它的一种自然进化都为时尚早。但 Rodrigo 很乐观的认为下一代软件“构建”会以 API 的形式呈现。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-28 19:004286

评论

发布
暂无评论
发现更多内容

面试官:介绍一下 Redis 三种集群模式

程序员小毕

redis 程序员 后端 java面试 redis集群

企业网络“卫生”实用指南(上)

SEAL安全

网络安全 企业安全

String、StringBuffer、StringBuilder 有什么区别

共饮一杯无

Java string 11月月更

深入react源码看setState究竟做了什么?

flyzz177

React

千年荒漠变绿洲,看沙漠“卫士”携手昇腾AI植起绿色希望

华为云开发者联盟

人工智能 华为云 昇腾AI

公共大数据集群中如何配置 YARN 的公平调度器和容量调度器

明哥的IT随笔

hadoop YARN

React源码分析(二)渲染机制

goClient1992

React

FCOS论文复现:通用物体检测算法

华为云开发者联盟

人工智能 华为云 论文复现

MatrixOne从入门到实践07——MO-Tester

MatrixOrigin

数据库 分布式 测试工具 MatrixOrigin MatrixOne

无情!阿里技术专家手写《微服务架构笔记》,瞬间屠榜NO.1

程序知音

Java 微服务 java架构 后端技术

Java中的StringBuilder类

共饮一杯无

Java StringBuilder 11月月更

React源码分析(一)Fiber

goClient1992

React

React Context源码是怎么实现的呢

flyzz177

React

逻辑回归与评分卡-二元回归与多元回归:重要参数solver & multi_class & class_weight

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

一种基于 Apache Hive 的元数据智能发现方案

移动云大数据

hive

重构了一个服务的健康检查组件

Java永远的神

Java 程序员 面试 后端 架构师

探讨Morest在RESTful API测试的行业实践

华为云开发者联盟

开发 API测试 华为云

FastJSON2他来了,性能显著提升,还能再战十年

共饮一杯无

Java Fastjson 11月月更

DNS中有哪些值得学习的优秀设计

小小怪下士

Java 程序员 DNS

互联网大厂必问面试合集,助你跳槽拿高薪--Java篇

钟奕礼

Java java面试 java编程 程序员java

我与梅西粉丝们的世界杯观球日常

ZEGO即构

音视频开发

Baklib|知识库应用场景:制作员工培训手册

Baklib

团队管理 知识管理

Python: 你所不知道的星号 * 用法

eng八戒

Python 编程

信息论与编码:恒参信道特性

timerring

11月月更 信息论与编码

vivo大数据日志采集Agent设计实践

vivo互联网技术

大数据 数据采集 日志采集 agent

Python 项目工程化最佳实践指南

Andy

Python 项目管理 代码规范 代码风格

React源码分析(三):useState,useReducer

goClient1992

React

MySQL数据库 group by 语句怎么优化?

Java全栈架构师

Java MySQL 数据库 程序员 后端

降本增效的背后,谈谈阿里云存储数据湖3.0

云布道师

数据湖 云存储 云栖大会

细说react源码中的合成事件

flyzz177

React

Java中的拆箱与装箱

共饮一杯无

Java 11月月更 装箱与拆箱

开源、SaaS、API,谁将成为最后的赢家?_语言 & 开发_汪丽娜_InfoQ精选文章