腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

Google 将如何挑战 AWS 的霸主地位

  • 2016-12-12
  • 本文字数:4801 字

    阅读完需:约 16 分钟

大公司总是因为没能“把握”好未来而饱受诟病。在当下舒服地等待未来是自然而然的事,但未来毕竟还是未来。Microsoft 也许就是一个很好的例子,它似乎并没有错过移动浪潮——Windows Mobile 在2000 年问世——但Microsoft 过度依赖它的模块许可业务模型,而且没能在它的核心产品(Windows)和移动业务之间开辟出一片新天地,从而阻碍了Windows Mobile 的发展。Windows Mobile 所有的设计都与人们期望的背道而驰。

Google 和企业之间似乎也经历了类似的尴尬。G Suite(一组 Google 应用)和 Google Docs 在 10 年前推向市场,并取得一定的成功,在商业和教育领域也小有成就。然而,跟 Google 的核心用户一样,这两个产品的用户也同样希望只花少量的钱使用他们需要的功能。吸引大企业不是一件容易的事情,而在过去几年,Office 365 远远赶超了G Suite,它不仅成长迅速,而且赢回了用户。

类似Microsoft 在Office 365 方面的成功,在被视为企业计算未来的云计算领域,真正的巨头往往以人们始料未及的方式到来:也就是在Google 决定向Microsoft 反击的同一年,Amazon 发布了 Amazon Web Services (AWS)。AWS 之所以这么强势,是因为它是 Amazon 自身的写照:它拥有极强的伸缩性和清晰定义的接口。AWS 的用户除了 Amazon 自己,还有来自世界各地的公司,他们访问 AWS 提供的“基本体”,通过组合这些“基本体”构建出更高效、伸缩性更强、更安全的后端服务,而几乎没有一家公司能够凭借自身的能力构建出如此强大的服务。

AWS 的基本体

在今年早些时候,我在“ The Amazon Tax ”这篇文章里解释了 AWS 的策略跟当初让 Amazon 走向成功的策略如出一辙:

公司由很多独立的团队组成,每个团队有自己的 P&L、职责和决策权。“ The Everything Store ”一书的作者 Stone 是这样介绍 Bezos 当初的创业动机的:

他说,整个公司被分成很多“双披萨团队”。员工被自主地分配到不同的团队里,每个团队不超过十个人,如果团队加班到很晚,他们可以一起吃掉两个披萨。这些团队需要独立解决 Amazon 面临的大难题……Bezos 在管理上应用了混沌理论,通过把组织拆分成基本单元以降低组织的复杂性,并期待出现令人惊喜的结果。

Stone 后来解释说,双披萨团队模式并非在所有地方都能产生效力。不过在后续的文章里,他写到,公司仍然保持着扁平化,每个人在公司里都要承担起职责。这些“基本单元”就是把 AWS 带向了规模发展的原始因素。请注意之前对 Bezos 和他的团队如何推出 AWS 服务的描述:

如果 Amazon 要在开发人员中间模拟创新,它不应该试图去猜测他们可能需要哪些服务,因为这些猜测是基于过去的经验,它应该去创建基本体——计算构建块——然后去解决更大的挑战。

Steven Sinofsky 总是说组织容易发展出自己的组织结构,在我认为 Amazon 是在复制一个 AWS 模型的时候,种种迹象表明 AWS 模型在很多方面就是 Amazon 自己的写照(就像 iPhone 在很多方面反映了 Apple 公司统一的组织结构一样):创建很多基本体,解决更大的挑战,成为一方霸主。

AWS 所能提供的服务远远不止那些虚拟基础设施,如处理器、硬盘和数据库,在更高层次的抽象(比如 Lambda“无服务”计算)和平台及软件服务发展方面,AWS 也同样在施展拳脚。而 Amazon 的平台战略仍然是这些成功的基石:为企业提供他们所需要的任何东西,帮助企业构建他们所需要的一切。

Google 是一个产品公司

Google 从来都不是一个平台公司。事实上,Google 经常被视为 Apple 的对立面。如果你认为硬件才算得上产品,那么 Apple 就是一个产品公司,而 Google 是一个服务公司。不过根据“产品”的另一种广义定义,也就是说如果产品是指完整呈现给终端用户的解决方案,那么这两家公司其实是同一类型的公司。

不犯错:在云服务和硬件服务之间存在巨大差别(我从 Apple 的组织转变中得出的结论),而成为一个产品公司和成为一个平台公司之间也是如此。理想的产品,不管它是智能手机也好,还是搜索框也好,都要做到简单,并在设计和工程方面投入大量精力来提升用户体验,尽管工程方面的东西用户可能是看不到的。这也就是为什么一体化产品总能赢得市场,而且不会犯错。Google 的亲用户服务已经跟iPhone 一样跟后端紧紧集成

而Amazon 和Microsoft 采用的却是相反的模式。作为 IT 时代杰出的平台公司,Amazon 并没有把各个组件集成起来作为一体产品来销售,而是对这些组件进行拆分,构建出模块化的后端服务。Microsoft 在 Win32 API 上也采用了相同的策略。

所以说,从设计上看,Windows 的用户体验比不上 Mac OS,不过它比 Mac OS 更强大,扩展性更强,Windows 平台数以百万计的应用程序让它至今保持着市场的领先地位。AWS 的后端服务走的是一样的路线,AWS 的灵活性和模块化是它击败 Google 最初的云平台和 Google App Engine 的主要因素,尽管 Google 的这些产品早在 2008 年就已推向市场。在使用 Google App Engine 的时候,Google 会为你做很多事情,而 AWS 则让你自己构建你所需要的一切。

Google 的平台化法宝

Google 在策略上的转变,可以从 Windows 身上找到答案:基于 Microsoft API 建立起来的大型生态系统牢牢地将用户锁定。很显然,为 Windows 构建的应用很难被移植到其它操作系统上,不过更重要的是,大量合作者和增值服务提供商让 Windows 成为企业的不二选择。Amazon 正在努力构建类似的生态系统。

离不开 Windows 的首先是个人用户,然后是企业用户,其背后的原因是 Web:Web 运行时虽然运行在 Windows 之上,但它并不依赖 Windows,

而在个人用户方面,Google 是个大赢家。事实上,浏览器的崛起也就是对 AWS 最好的解释:所有的应用程序都建立在 Web 之上(包括那些使用了 Web API 的应用),它们可以被任何一种设备访问。

事实证明,在过去的几年,Google 试图在把一种以浏览器为基础的模式带入企业计算领域。在 2014 年,Google 开源了 Kubernetes,Kubernetes 是一款基于 Google Borg 的容器集群管理器。Borg 对 Google 的基础设施进行了抽象,借助这个平台,Google 所有的服务都可以立即访问到它们所需要的计算资源,而无需关心底层的细节。容器是这一切的根本,我在2014 年曾经这样写道:工程师可以基于一组灵活的标准接口构建应用程序,而无需知道底层硬件或操作系统的细节(相比虚拟机,这是一个进步)。

Kubernetes 跟 Borg 不同的地方在于它是完全可移植的,它可以运行在 AWS、Azure 和 Google Cloud Platform 上,也可以运行在本地的基础设施上。而这正是 Google 能够动摇 AWS 在基础设施即服务领域十年领先地位的法宝:Google 已经在基础设施方面取得长足的进步,Kubernetes 潜在的影响力和基于容器开发趋势的爆发式增长让基础设施的选择变得无关键要。毫无以为,Kubernetes 是一直以来发展最快的开源项目,而且它不会强制锁定任何东西。

不过这对 Google 来说有什么好处呢?就算 Kubernetes 会成为企业云的标准,但 Amazon 的生态系统仍然存在(而且 Amazon 有自己的容器策略可以把客户长久地锁定在 AWS 上),所以 Google 需要其它杀手锏。

成本与体验

桌面系统仍然很有用,Web 运行在与平台无关的浏览器上,但这本身并不能帮助 Google 取得成功,Google 的成功需要借助 Web 的开放性为科技带来的各种可能性。

Google 拥有最好的搜索引擎,而比这个更重要的是,它信赖的是超链接而不是简单的网页内容,所以当 Web 变得越来越大,Google 就会从中受益。

我认为可以从中总结出一套可以被广泛应用的理论,事实上,这就是“聚合理论”的核心概念:当发行(切换)成本降低时,用户体验的重要性就会增加。换句话说,当你可以访问所有的服务时,不管是新闻、汽车、旅馆、视频或者搜索,最好的那个服务不仅仅可以赢得先机,而且可以保持各方面的优势。

Google 在进军企业云时就是以此作为赌注:Google 把 Kubernetes 开源,试图在云基础设施上建立一个浏览器窗口,并以此降低切换成本;Google 的机器学习在这里就相当于搜索引擎。

机器学习和数据

毫无疑问,云服务将会促进机器学习的发展:这种发展同时体现在处理规模和海量数据两方面,并且只有少数几个巨兽公司才有经济实力来构建符合要求的基础设施,并雇佣世界顶级的机器学习专家。这意味着,对大多数企业来说,他们在机器学习领域能否异军突起首先取决于他们的数据是否存在云端(虽然可以存放在本地,但我认为那样只会拖他们的后腿),其次是他们选择的是哪个云服务供应商。

对云服务供应商来说机遇与风险并存。提供优秀的机器学习服务不仅仅要有差异化,而且必须足够强壮:这样才能吸引到更多的客户,从而得到更多的数据,而数据是机器学习不断发展的动力。数据也让 Google 成为 AWS 在云领域的最大威胁。

我在上面提到,Google 因为专注于个人用户业务而限制了企业业务的发展,不过 Google 最大的优势在于它已经基于海量数据运作了将近二十年,而且在过去的几年一直在开发强大的机器学习算法。不过数据仍然是最重要的,去年 Google 开源了 TensorFlow 就是一个最好的证明。TensorFlow 为机器学习提供了蓝图,就如我在“ TensorFlow and Monetizing Intellectual Property ”一文中所写的那样,Google 此举正暗示着它的超级数据和基础设施是一个绝对的优势。

我们现在开始看到这个优势在 Google 云服务方面的应用。在感恩节前,Google 发布了一些列产品,而这些产品正是利用了它在数据方面的优势:

  • Cloud Natural Language API,它使用机器学习来分析文本,已经基本可用
  • Cloud Translation API 高级版本,它使用机器学习来改进八种语言的翻译准确性(标准版支持超过 100 种语言)
  • Cloud Vision API 降价,这套 API 使用机器学习来分析图像
  • 一套新的 Cloud Jobs API,使用机器学习为职位匹配潜在的候选人

以上四种 API 都结合使用了 Cloud Prediction API。Cloud Prediction API 使用机器学习来作预测,它和上述前三种 API 都是来自 Google 的个人用户产品,而 Jobs API 是基于 Google 内部的一个工具和整个 Web 的数据建立起来的。

对于每一种 API,Google 都花费了数年时间来研究算法。在把这些 API 应用在公司数据上可以得到令人满意的结果,至少比训练漏斗要好得多。我希望这个优势可以保持下去,并变得更有意义。

Google 还有很多事情要做,于是它成立了由李飞飞和李佳领导的 Google Cloud Machine Learning Group。这个小组将负责构建商用的机器学习 API,换句话说,他们的任务是把 Google 的机器学习进行产品化。

Google 策略的精明之处在于:在第一波云计算潮流中,它被 Amazon 赶超,因为成功取决于平台战略;而通过开源 Kubernetes,它试图把整个行业引向与厂商无关的容器领域,它正尝试把筹码压在它的产品上面。毕竟改变竞争规则要比改变公司的基因要容易得多。

不过可以肯定地说,Google 能够成功并非板上钉钉的事:它仍然需要在另一个新的商业模型上付出努力——销售与广告,并让自己成长为一个不仅可以销售还能为企业提供支持的公司。Amazon 是这两个领域的领头羊,它拥有广阔的合作者生态系统和一组庞大的特性集。

AWS 也有自己的机器学习 API,IBM 和 Microsoft 也不例外。Microsoft 似乎想在这方面表现得夺人眼球,它不仅花费了数年时间在机器学习研究上,而且还有把技术应用于商业的经验,而 Google 长时间对个人用户的关注有时候会成为一种弱势。而随着 Kubernetes 可能越来越受欢迎,人们更关心的是 Google还没有开始使用自己的平台

不过Google 仍然是一个令人敬畏的竞争者:它的策略是明智的,而且更重要的是,在今天找到新的商业模式要比在2006 紧迫得多。Google 向云计算转型还处在初始阶段,Amazon 似乎会在未来占有长足的一席之地,不过未来还没有到来。Google 将如何在未来扭转乾坤,让我们拭目以待!

查看英文原文: How Google Is Challenging AWS


感谢郭蕾对本文的审校。

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

2016-12-12 18:002483
用户头像

发布了 321 篇内容, 共 123.6 次阅读, 收获喜欢 132 次。

关注

评论

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

Android 图像处理

android 程序员 移动开发

android 图表基本属性方法设置

android 程序员 移动开发

android 定位到输入的地址

android 程序员 移动开发

Android 开发艺术探索笔记(1)

android 程序员 移动开发

Android 开发艺术探索笔记(21)

android 程序员 移动开发

Android 自定义软键盘实现 数字九宫格(1)

android 程序员 移动开发

Android 开发规范(完结版)

android 程序员 移动开发

Android 性能监控系列一(原理篇)

android 程序员 移动开发

Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架

android 程序员 移动开发

Android 程序员不得不收藏的 90+ 个人博客(持续更新

android 程序员 移动开发

Android 开发者想咸鱼翻身并不是难事,只要你掌握这些……

android 程序员 移动开发

android 实现 搜索保存历史记录功能

android 程序员 移动开发

Android 性能优化:手把手带你全面了解内存泄露

android 程序员 移动开发

Android 主流通用常用框架汇总(持续更新)

android 程序员 移动开发

Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply)

android 程序员 移动开发

Android 横向ListView实现

android 程序员 移动开发

android 五大应用开发框架

android 程序员 移动开发

Android 多渠道打包配置

android 程序员 移动开发

Android 开发,你遇上 Emoji 头疼吗?

android 程序员 移动开发

Android 抖音爆红的口红挑战爬坑总结

android 程序员 移动开发

android 方式实现imageview圆角

android 程序员 移动开发

Android 使用讯飞语音SDK

android 程序员 移动开发

Android 原生控件ViewFlipper实现淘宝头条垂直滚动广告条

android 程序员 移动开发

Android 序列化(Serializable和Parcelable)

android 程序员 移动开发

Android 开发面试中,面试过最喜欢问那些问题?

android 程序员 移动开发

Android 获取设备信息

android 程序员 移动开发

Android 中高级核心复习面试题整理,备战年后金三银四!

android 程序员 移动开发

Android 实现系统深度休眠笔记

android 程序员 移动开发

Android 开发中,与屏幕有关的三个小众知识

android 程序员 移动开发

基于 KubeVela 的 GitOps 交付

阿里巴巴云原生

阿里云 Kubernetes 云原生 gitops KubeVela

Android 自定义软键盘实现 数字九宫格

android 程序员 移动开发

Google将如何挑战AWS的霸主地位_Google_薛命灯_InfoQ精选文章