写点什么

焦点:Apple 应该构建自己的云吗?

2016 年 5 月 12 日

一直以来,这都是最有趣的“自建还是购买”问题之一:Apple 应该构建自己的云吗?还是应该专注于自己最擅长的事情,并从诸如 Amazon、Microsoft,以及 Google 等公司处购买云服务?

这是很多企业必然要做的决定,只不过 Apple 规模更大,并且因为它是 Apple,对这种基本需求有更多顾虑,所以显得有些小题大做。

Exponent 的两期播客节目 Low Hanging Fruit Pickaxe Retailers 中,曾经就“自建还是购买”问题进行过透彻的讨论。节目主持人 Ben Thompson James Allworth 经常会从偏重于技术的角度谈及企业的经营战略。这个播客节目很不错,有时很风趣,充满智慧,强烈推荐收听。

乌云笼罩下的 Apple 基础设施建设工作

Ben Thompson 反复提到过一个话题:Apple 在根据需求进行扩展的过程中遇到了问题。根据 Inside Apple’s Cloud Infrastructure Troubles (paywall) 这篇报道所述,Apple 多年来一直在试图构建自己的云基础设施。这篇文章的重点在于:

尽管经过多年努力,Apple 依然没能构建出足以处理自己互联网服务(包括 iTunes、Apple Maps、iMessage,以及 iPhone 中存储的照片和视频的备份服务)流量所需的基础设施。这意味着 Apple 需要借助其主要的商业竞争对手才能运营自己的服务,并且无法向为 Apple 生态系统开发应用的开发者提供必要的基础设施服务。

以 Apple 的规模来说,一个包含 400,000 个交换机和路由器等网络设备的系统,(Cisco、Cummulus、H-P、NetApp 等公司)市售的系统完全无法满足要求。

很容易想象这样的过程需要耗费多长时间。需要筹备人手,建设数据中心,淘汰数十个竞争对手,召开无穷无尽的会议,充分测试最终选用的产品,挑选一两家入围者,甚至可能还要进行评比,就交易进行谈判,完成部署,花费大量精力把软件全部转移至新系统,运行一段时间,疯狂修复 Bug 并解决各种问题,其中很多问题可能是你的供应商闻所未闻的,其他问题可能他们也束手无策。直到最后,才发现这些举措并不能如你所想满足预期需求。接下来,干脆换几家别的供应商,通过不同方法重试几次吧。

当你意识到这一切后,已经过去了好几年时间,通往设想中解决方案的道路上,你一直在原地踏步。所以 Apple 选择通过 AWS 弥补自己的不足,据报道 Apple 对 AWS 并不满意,因为用户在 iOS 设备上加载照片和视频的速度还是不够快。Apple 也用过 Azure,但 Azure 的容量不足,Microsoft 希望 Apple 能够支付自己最新数据中心扩展计划的大部分成本。Apple 貌似并不愿意这样做,因此现在转为使用 Google 云。私底下,Apple 也有自己的 Project McQueen ,但这个方案只有构建在自己的数据中心基础设施上,并降低对公有云的依赖才能变得更为可靠。

据我猜测,Apple 的工程师很可能已经足够胜任这样的任务,而至今尚未着手的主要原因在于,还没有意识到他们是 Apple。他们解决这个问题时采取了与普通企业相同的方法:联系供应商,寻找市售的现成解决方案。这种做法其实并不可行。Apple 的运营规模与 Facebook、Microsoft、Google,以及 Amazon 差不多,其他几家巨头都构建了自己的基础设施。如果 Apple 已经制定过自行构建一切的相关规划,现在很可能已经取得了不错的进展。可他们为什么至今还没有行动呢?

Apple 在云计算方面的问题与企业文化有关吗?

Ben 和 James 多次谈到Apple 在云计算方面的问题与企业文化有关。这个想法认为,Apple 的企业文化主要以构建伟大的成品为中心。优势决定弱点。在云环境中构建服务所需的技能和流程完全不同于构建设备所需的技能和流程。前者类似于向着终点线冲刺,后者更像是一种需要努力实现的过程,这种过程是可以自我修正的,迭代式的,从来不完美的,而且也不可能完美。与 Facebook 和 Google 尽一切努力完善自己服务器的做法不同,Apple 从来不需要将服务器基础设施的部署作为自己的核心能力。

Ben 在多年前曾经提出过一个建议:Apple 应该把自己的服务托付给 Microsoft 运行。Microsoft 在这一领域更在行。这两家公司在战略是一致的,而非竞争对手。Apple 应该从自己的现金储备中拿出一部分支付给 Azure,让更能胜任,更愿意做这件事,具有最适宜企业文化的人来运行自己的服务。

James 建议Apple 应该收购 Dropbox,因为 Dropbox在云计算方面很在行,Dropbox 放弃使用 AWS 并自行构建了自己的存储云,这些举措已经证明了这一点。通过收购,Apple 可以更专注于自己的业务模式。但也有一种顾虑认为,Dropbox 的规模远远达不到Apple 的需求。他们觉得Dropbox 无法完成这一挑战,毕竟Dropbox 只是一家存储公司,不是计算和服务公司。Apple 无疑有着非常巨大的存储需求,随着发展,他们还会有越来越高的计算和服务需求,甚至会真正达到全球化规模。在这方面,Dropbox 能否以及如何提供帮助还不可知。

那么,Apple 到底该自建还是购买?

如果购买

Ben 说过一些有趣的事情:不能高估专注所带来的回报。那么还是找一家巨头来做这事吧。Apple 对设备设计工作的专注所蕴含的优势和力量才是他们最擅长的。他们并不需要事事在行。毕竟你也无法同时在两个不同的方向上狂奔。

最佳措施可能是与一家合作伙伴建立长期合作关系。而合作伙伴的最佳选择恰好是 Microsoft,因为他们与 Apple 不再是竞争关系。从长远的角度来看,与 Microsoft 合作是风险最低的解决方案。

如果自建

[Tim] [Cook 信条] 12

我们 [Apple] 认为,我们必须拥有并控制自己所生产产品蕴含的主要技术,并且只应投身于我们能做出重大贡献的市场。

Ben 并不认可这一点。他认为 Apple 的伟大之处在于跟随大环境随之而变的活力。如果你是一家唱片公司,你需要改变。如果你是一家 iPhone 公司,你也需要改变。大环境很重要,类似 Cook 信条这样的规则永远不能在新兴和不断变化的环境下取得成功。

James 则认为,需要拥有并控制核心技术,但收购 Dropbox 依然是最佳做法。

Ben 认为,只有拥有并控制主要技术,才能提供最出色的用户体验。Apple 对主要技术的坚持,以及提供最出色的用户体验,这两件事什么时候开始冲突了?

同时 Ben 也觉得,云计算是一种通用型技术,因此 Apple 才能在不同的云之间切换。你可以争辩说不同的云中实际运行的服务器,与现实中组装出一部手机,这两件事并无本质差异,但问题是这部‘手机’并非 Apple 所有。

在 Ben 看来,风险最高的计划是 Apple 自行构建自己的云。虽然看似这样做的风险并不高,但实际上确是风险最高的做法。无论理论上或是实际来看,Apple 对云计算都不在行,那又为何什么要尝试呢?

Ben 认为云是一种商品,对此我不能苟同。如果 Apple 的目的在于更快速地为 iOS 设备提供内容,那么 Google 就是个不错的合作伙伴。毋庸置疑,他们已经组建出这个星球上最好最先进的全球化 网络。并且Apple 也是 Mesos 的主要用户,这些技术应该能在 Google 的云基础设施上顺利运行。如果说有任何公司能满足 Apple 对规模的要求,那一定是 Google。此外 Google 也有大量机器学习资源,Apple 可能会希望将其用在自己未来的项目中。如果Apple 自己的努力无法获得成果,Google 也许是个不错的后备计划。

鉴于我们已经看到很多企业试图筹划能够帮助自己继续发展的云战略,在这场讨论中,Apple 完全可以成为这些企业的一个象征。

惯性思维认为,Apple 应当拥有自己的基础设施。只有这样他们才能绝对保证继续提供愉快的用户体验。Ben 和James 做出了一些有力的争论,你怎么想呢?

阅读英文原文 Should Apple Build Their Own Cloud?


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

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

2016 年 5 月 12 日 17:23938
用户头像

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

关注

评论

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

Spring 源码学习 09:refresh 大概流程

程序员小航

spring 源码 源码阅读

OLAP计算引擎怎么选?

数据社

OLAP 七日更

我敢说这是全网最详细的基础讲解,附源码实例,没人学不明白

小Q

Java 学习 架构 面试 基础

执法办案信息化建设,情报研判管控分析平台搭建解决方案

t13823115967

智慧公安

向我看齐!京东智联云成 2020 TOP100 Summit“技术标兵”

京东智联云开发者

DevOps 云原生 数字化

Windows安装MySQL5.7教程

Simon

MySQL windows 安装 七日更

智慧警务大数据可视化平台搭建,警情分析研判系统

135深圳3055源中瑞8032

为什么现代系统需要一个新的编程模型?

华为云开发者社区

编程 模型 语言

提升awk技能的两个教程【译】

程序员架构进阶

Linux Shell awk

一场由fork引发的超时,让我们重新探讨了Redis的抖动问题

华为云开发者社区

redis fork 时延抖动

快递员出售用户信息被判刑:如何防止快递行业信息泄露

石头IT视角

智慧社区综合信息服务平台搭建,智能社区建设解决方案

t13823115967

智慧社区系统开发

做音视频最好用的几款跨平台框架

anyRTC开发者

flutter uni-app ios android WebRTC

区块链食品溯源--为食品安全保驾护航

135深圳3055源中瑞8032

AWS云上安全最佳实践

雪雷

安全 AWS 云安全

差点跳起来了!全靠这份“Java核心知识笔记”我成功拿到美团offer

比伯

Java 程序员 架构 计算机 编写

突破程序员基本功的16课

田维常

程序员

堪称完美!阿里架构师用60个实战案例讲明白了Spring Boot

Java架构追梦

Java 架构 面试 微服务 springboot

发布会直播技术及业务实践

vivo互联网技术

分布式 服务器 直播技术

Polkadot系列(三)——如何实现共享安全性

QTech

区块链 polkadot 跨链

Gridea+GitHub搭建个人博客

Simon

GitHub Pages 博客 七日更

数字货币交易所系统开发功能方案

系统开发咨询:I76-883I-5I52 邓森

四币连发交易所系统开发技术

系统开发咨询:I76-883I-5I52 邓森

智慧公安重点人员管控系统开发,预警研判系统搭建

135深圳3055源中瑞8032

合成游戏app系统开发软件技术

系统开发咨询:I76-883I-5I52 邓森

模糊匹配、相似度查询怎么破?看PG亿级检索毫秒响应

PostgreSQLChina

数据库 postgresql 开源

惊艳!阿里自爆用480页讲清楚了44种微服务架构设计模式

996小迁

程序员 面试 微服务 设计模式 架构设计

盘点 2020 | 鲜衣怒马少年时,不负韶华行且知!

程序员的时光

程序员 成长 编程之路 计算机 盘点2020

养猫了!

小林coding

生活

【经验分享】遵循10步法,应用系统发布效率大不同!

嘉为蓝鲸

敏捷 运维自动化 部署 发布流程 应用发布

dForce挖矿APP系统开发|dForce挖矿软件开发

开發I852946OIIO

系统开发

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

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

焦点:Apple应该构建自己的云吗?-InfoQ