写点什么

Amazon、Facebook 和 Google 的平台优势

2016 年 6 月 05 日

神奇之处到底在哪?[Amazon] 赖以生存的数据库、流媒体以及同步基础结构做的都很不错,但这些早已不是秘密。我们使用的管理工具也很巧妙,可原因也不在这里。重点在于我们的部落文化:如何在这个容易犯错误、杂乱、变化莫测的世界中构建云基础结构。

Tim Bray,Amazon 首席高级工程师,在 Cloud Eventing 活动中如是说

Ben Thompson 在 Apple 组织结构的十字路口和最新一集 Exponent 中通过几个例子证明 Apple 在提供服务的过程中遇到了问题。随着 iPhone 销量逐渐达到顶峰,Apple 自然希望通过服务的方式实现增收。问题在于,Apple 在大规模服务交付方面有着毁誉参半的历史,Ben 认为,职能机构方面的优势会在 Apple 转型为服务供应商之后成为该公司的劣势。打造优秀设备与构建完美服务所需的技能截然不同。他建议:“Apple 的服务需要与该公司的核心设备业务保持独立,负责这些服务的管理者需要为自己花出去的每分钱负责。”

并不只有 Apple 面临这样的问题。貌似只有少数公司能够跨越鸿沟在全球范围内提供源源不断的新功能:Amazon、Facebook,以及 Google。其中 Amazon 无疑是真正的冠军。

下图是 Amazon Web Services 控制台,其中列出了 Amazon 所提供的大量服务,而其中甚至并未包含 Echo 等全新平台:

(点击放大图像)

Apple 无疑也能提供大规模服务:iMessage 每秒发送 20 万条消息;App Store 和 iTunes Store 每周处理 7.5 亿笔交易;Apple Music 订户数 1100 万;Apple Pay 用户数 1200 万,此外每周新增 Apple Pay 新用户 1 百万。

然而这些服务相对来说往往是自成一派的,并 / 或为一些大型合作伙伴提供接口。个人开发者无法借助这些服务与个体消费者取得联系。例如 iCloud 虽然是一个可编程的服务,长期以来存在着各种问题,不过正在逐渐完善。

Siri 也许是证明 Apple 不擅长提供可编程服务的一个绝佳范例。哪个 iOS 开发者不想把自己的产品与 Siri 集成呢?集成的效果肯定很酷,只可惜目前依然无法实现。

与之相反,Amazon 提供的 Echo 包括 API 和完整的编程和分发模型,可以顺利融入任何第三方系统中。该服务还能与 Amazon 平台以整体的形式协同工作。这也是 Amazon、Facebook 和 Google 的一个共同特征:打造一个让服务的开发工作变得更容易的内部平台。

例如,我可以使用 Lamba 快速开发一个名为 _ 魔镜魔镜告诉我 _ 的简单的 Alexa 应用,随后开发一个名为 _ 爆发 _,用于实施电话网(Phone Tree)的应用。军队中有一种说法认为,紧急时刻可以通过电话网传递消息,这就形成了某种形式的八卦传输协议。一传十、十传百,最终成了众所周知的消息。

借助这些现成的服务,我独自一人就可以用 S3 构建一个静态网站,并使用 Amazon 的 API 网关、Lambda、DynamoDB、SQS、SNS、SES 以及其他服务构建一个包含单一页面的应用,从我家里的 Echo 设备传输一条语音命令,将其转换为文字,随后通过电子邮件、手机短信,或者电话通话发送给尽可能广泛的人际网络。这样的服务还可以大规模扩展,但这就导致一个问题。我至今还没有把这个应用公开发布,因为还没有考虑好盈利模式,如果现在就发布,并且实现大范围运用,很快我就会破产了。说这件事的重点在于希望你能明白,在开发复杂的应用程序过程中,完整的生态系统可以提供多强大的威力。

那么我不禁好奇:怎样才能借助 Siri 做到这些?

Exponent 播客中提到了一个有趣的观点,Amazon 若要给自己的服务添加语音识别功能,具体做法会比 Apple 提供这样的服务更简单。这就是 Amazon 的老本行:构建可编程,可大规模扩展的后端服务。实际上,Alexa 现在也已经可以用于 Echo 之外的其他设备上。

这个博客还有一个观点认为,规模是你能获得的最大的竞争优势之一。规模使得你可以做到他人无法想象的事情,但代价是你必须能在最短时间内做到尽可能大。这正是 Apple 需要的,但他们需要通过平台的方式实现这一切。

为什么 Amazon 那么擅长以如此快的节奏和规模提供大量新服务?再次引用 Tim Bray 的观点:

重点在于我们的部落文化:如何在这个容易犯错误、杂乱、变化莫测的世界中构建云基础结构。

Apple 需要将自己的组织机构与产品保持对齐吗?不知道,但他们真的需要开始创建自己的“部落文化”。实现这一点往往比重组艰难的多。

阅读英文原文 The Platform Advantage Of Amazon, Facebook, And Google


感谢陈兴璐对本文的审校。

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

2016 年 6 月 05 日 17:302107
用户头像

发布了 283 篇内容, 共 84.6 次阅读, 收获喜欢 34 次。

关注

评论

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

Java 8 中的函数式接口

陈皮

简易web性能工具

王鹏飞

LeetCode题解: 206. 反转链表,JavaScript,容易理解的递归解释,详细注释

Lee Chen

LeetCode 前端进阶训练营

JDK1.8新特性(六):Stream的终极操作,轻松解决集合分组、汇总等复杂操作

xcbeyond

stream 集合 新特性 JDK1.8 Collections

架构师训练营第八周课后总结

Cloud.

ARTS打卡 第9周

引花眠

ARTS 打卡计划

第8周-作业2

seng man

C++编译过程 宏 内联和静态变量

大规模数据处理学习者

Jenkins 多分支项目过滤及 when 的高级用法

jerry.mei

DevOps 运维 自动化 jenkins CI/CD

云图说|“真人?机器?傻傻分不清!” WAF Bot管理,带你慧眼辨“精”!

华为云开发者社区

bootstrap 搜索引擎 安全 防火墙 华为云

轻松应对并发问题,Newbe.Claptrap 框架中 State 和 Event 应该如何理解?

newbe36524

分布式 微服务 架构设计 .net core ASP.NET Core

门面效应 - 拒绝别人会产生愧疚吗?

石云升

心理学 门面效应 留面子效应

百万并发「零拷贝」技术系列之Linux实现

码农神说

Java 架构 零拷贝

Flink 使用大状态时的一点优化

Apache Flink

flink RocksDB

MySQL 百万级数据量分页查询方法及其优化

xcbeyond

SQL优化 数据库优化

第8周-作业1

seng man

封装element-ui表格,我是这样做的

前端有的玩

Java Vue Element 封装

5万字长文:Stream和Lambda表达式最佳实践-附PDF下载

程序那些事

Java jdk Lambda stream

初识进程coredump(以中间件为例)异常宕机

清康

从零开始写一个迷你版的Tomcat

简爱W

应用程序研发之网络-分层模型

superman

应用程序研发之网络 - Http

superman

计算机的时钟(二):Lamport逻辑时钟

ElvinYang

应用程序研发之网络-网络编程模型

superman

安全系列之——手写JAVA加密、解密

诸葛小猿

对称加密 加密解密 非对称加密 rsa AES

程序的机器级表示-访问数据

引花眠

ARTS 06 - Jenkins 多分支项目过滤及 when 的高级用法

jerry.mei

学习 算法 ARTS 打卡计划 CI/CD ARTS活动

MySQL主从复制详解

Simon

MySQL 主从复制

周末在家加班开发代扣支付网关!

诸葛小猿

加班

第8周作业

小胖子

读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)

郭旭东

Kubernetes 云原生 OMA

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Amazon、Facebook和Google的平台优势-InfoQ