以下是对云供应商(AWS,Azure,GCP)的论断:
- 云供应商将越来越关注软件栈中的最低层:通过API租赁其数据中心的算力。
- 其他纯软件提供商将在其上构建所有东西,包括数据库、运行代码等等。
文章图片
如果云供应商专注于最低层,而其他(纯软件)供应商专注于上面的层会怎么样呢?
文章图片
五年后,请提出这个问题,让我对自己被证明是错的感到尴尬。但是接下来通过Redshift的故事可以很好地表明我的想法。
Redshift是AWS提供的一个数据仓库(又称为OLAP数据库)。在Redshift之前是一个黑暗的时代, 这个时代主要的玩家是Teradata,它是一个线下部署的非云产品。
创业公司觉得用SQL来搞数据仓库不靠谱,而使用了Hadoop。SQL在当时是有点逊色的,原因在事后看来是很荒谬的。我很高兴我们已经走出了这个时代。
总之,有一个名为ParAccel的公司搞了一个数据仓库的软件,获得AWS授权,重新命名为Redshift,并在2012年在AWS推出。
Redshift在当时是第一个在云中运行的数据仓库。这是AWS的一个明智之举,因为它降低了小公司开始做数据分析的门槛。你不需要自己建立任何基础设施,也不需要整天写自定义mapreduce和重新加载jobtracker。
你可以在AWS中启动一个Redshift集群,给它提供大量的数据,然后它就会开始工作。
Snowflake 是一个1000亿美元以上的上市公司。该公司的整个产品是一个数据仓库,看起来与Redshift相当相似。
AWS拥有巨大的规模经济,控制着底层基础(EC2),并且可以在构建软件方面进行更大的投资。也许因为锁定的价值,他们甚至可以补贴 Redshift 的开发,并通过其他产品弥补资金。不过,事情起了一些变化,Snowflake 的发展已经超过了 Redshift。
文章图片
哪些力量有利于像Snowflake这样的公司?这对其他云产品意味着什么?
最底层的云服务是一种纯粹的商品服务。因此,为了赚钱, 云厂商至少需要做以下一项。
- 靠整个软件服务栈的上层服务赚钱。
- 用软件服务栈中上层服务来锁定客户,然后靠底层服务来赚钱。
上层软件的竞争正变得异常激烈。有这么多的初创公司在做,在廉价的风险投资资金的推动下,愿意在构建软件上花费数十亿美元。
云计算供应商可能很高兴只在最底层赚钱。利润率并不差,而且供应商的锁定度仍然很高。
初创企业正在向云计算进发
从来没有这么多公司追求属于云供应商的服务:
文章图片
这期间发生了什么?可能是很多事情的汇合。我至少看到了三个不同的因素:
1、大公司的激励措施导致很难提出新的疯狂想法。与此同时,风险投资家正在向该细分市场注入资金。如果你是一个有抱负的人,你会去AWS工作吗?还是你会加入早期初创公司,或者创建自己的初创公司?预计创新将从大公司转向初创企业。
2、软件供应商可以同时为所有云供应商构建。我认为这对Snowflake来说是一个真正的好处,因为他们的许多早期客户都是关心多云的银行,它也扩大了市场规模,提升了云供应商的影响力。
3、许多成功的云产品最初都是内部服务。这是一个令人惊叹的产品来源,亚马逊、谷歌和微软已经进行了大规模测试,这些工具非常适合他们的大企业客户。
但对规模、可靠性和可配置性的极度关注的另一面是,开发人员体验已成为攻击载体,特别是那些可能更关心提高开发人员生产力的中端市场和小客户。像优步、Netflix和Airbnb这样的稍大的公司有团队离开去将内部工具商业化的历史(通常通过开源的中间步骤)。在主观上讲,这些工具往往更注重开发人员体验。
也许拥有最低层没那么糟糕?
假设客户每年在Redshift上花费100万美元。在支付EC2运营成本和折旧后,毛利润额为50-70万美元。如果该客户将每年100万美元的预算转到Snowflake,那么大约40万美元回到AWS,使AWS的总利润约为20万美元。
这似乎对 AWS 有点不好?这个还不能确定。根据财报,Snowflake 预计 2022 年的研发成本将占公司收入的 20%,销售和营销成本则是 48%。
那么,以 100 万美元的收入来计算,Snowflake 的成本是 70 万美元。但也许 AWS 创造同样的收入只需要 30~40 万美元的成本。这样似乎是合理的。
现在我想通了。AWS 面临着同样的情况,但是实际上却将构建和销售软件的所有成本“转嫁”给了 Snowflake 等企业。这对他们来说是一笔不错的交易。
AWS 建立软件服务的另一个原因是可以增加用户粘性。Redshift 本身或许并不是一棵摇钱树,但它减少了 EC2 上的流失率。
在我担任CTO的六年中,我没有考虑过去做云迁移。与大多数公司一样,我的公司在工程师薪水上的花费比云计算本身要多得多。将宝贵的时间用在云计算迁移上是不值得的,除非云计算开支成为毛利的重要组成部分,而这只有少数公司可以做到。
企业不能随便选择一个云计算提供商买下最便宜的数据库,然后在上面运行。企业希望在相同的云计算提供商和同一个数据中心中运行。
Snowflake、Confluent 和 MongoDB(Atlas)的注册流程中问了两个问题:1. 你的云计算提供商是哪家?2. 在哪个地区?请注意,第一个问题的选项只有 AWS、GCP 和 Azure。
文章图片
更重要的问题的从一个云迁移到另外一个云企业到底可以节省多少钱?我认为是节省不了多少的,因为没有人想发起价格战。处于一个相当稳定的寡头垄断似乎非常好,如果我是云供应商,我并不会做这样的选择。
2030年的云
我们向云的转变已经大约10年了,尽管它改变了我们构建软件的方式,但我认为我们才刚刚开始。
重大变革通常分两个阶段发生。当一些新技术出现时,人们会用最简单的方法来使用,让它们保留现有世界的概念模型。当我们开始重新审视消费模式时,真正的转变才会发生,因为新世界为创造价值开辟了道路。
比如,苹果公司开始在网上销售音乐时,我们消费音乐的方式并未发生重大变化。但在像 Spotify 这样的提供商意识到所有权不再重要的时候,真正的改变发生了。
从这个角度来看,过去的 10~15 年看起来有点像一种愚蠢的“提升和转移”。我们只是把计算机放在云端,这远远不够。我认为新的更高级别的工具可以使我们把注意力集中在构建应用程序代码上,而不是担心底层的基础设施。
初创企业即将来获取您的代码
大多数开发者都不与云计算提供商进行交互,这一点我并不会感到意外。另外一个令人兴奋的领域是事务型数据库。但我认为即将到来的最大变化是,软件提供商将会越来越多地运行客户代码。
这个想法不新颖——2007 年 Heroku 发布,2014 年 AWS Lambda 发布。Kubernetes 在过去的几年中一直很有意思,这仍然是一种必然的趋势:走向一个完全“无服务器”的世界。
现在,云端中的计算机利用率低得离谱,我猜测 CPU 平均利用率大概只有 10%。有一种观点认为云计算提供商需要在云上运行软件,他们必须自己使用才能推进云的采用。不过,他们已经有了一堆内部的东西可以交付。市场成熟后,他们可以将精力集中在自己优势最大的领域。
【超强预测(云计算领域将如何重新洗牌())】关于云计算发展的预测
- 云计算市场的收入将增长到每年 10000 亿美元,这几乎完全没有争议。
- 大多数工程师并不直接与云计算提供商进行交互,而是通过这些提供商提供的服务进行交互。
- 数据库市场(OLAP,OLTP,任何你能想到的)将由云计算供应商顶部运行的供应商主导,并且在底层完全抽象。
- 将有一些惊人的方式来解决目前阻碍无服务器解决方案的开发者体验问题。
- 初创公司和云计算提供商之间会有很多合作。云计算提供商可能会让出一个领域,并试图成为初创公司的首选合作伙伴。
- Kubernetes 将成为被人们喜爱五年的奇怪事物,正如 Hadoop 在 2009~2013 年一样,但世界仍将继续前进。
- 云计算中的资源利用率将会大大提高,工程师们在资源分配和配置上所花费的时间会减少一个数量级。
- IBM 最终放弃“混合多云”。
- YAML 会成为那些老去的开发者们酒桌上的话题。这个话题开始时,也意味着聚会该结束了。
推荐阅读
- NeuVector 会是下一个爆款云原生安全神器吗()
- 笔记|如何在Windows11安装安卓子系统()
- html5|各行业工资单出炉 IT类连续多年霸占“榜首”位置
- 云迁移策略的现代方法(6R)
- JavaCV的摄像头实战之三(保存为mp4文件)
- JavaCV的摄像头实战之四(抓图)
- JavaCV的摄像头实战之二(本地窗口预览)
- 超详细的ARM架构适配介绍!
- 使用 GitLab 账号登陆 KubeSphere
- JavaCV的摄像头实战之一(基础)