技术真正的推动力来自市场,需求规模决定技术走向。这由经济规律决定,不以个人意志为转移。哪怕一个头部大厂,也不能完全决定技术的未来,而是市场规模和成本结构决定技术发展的走势。
细分到我们关心的软件架构,它的发展来自市场的三个核心推动力,自底向上分别是:硬件技术发展、软件行业的竞争格局,以及垂直行业的商业模式的进化。越往上,距离我们越近,迭代得也越快。
看技术趋势,甚至看任何发展趋势,都要先找前置量(Leading indicator)。对于软件发展而言,硬件的革新往往是前置量。
首先,硬件技术进化的驱动力是需求规模。随着市场需求规模越来越大,就会有越来越多的技术创新参与到规模效应中来。这种有规模效应的技术创新几乎是赢家通吃。而市场中最后剩下的玩家,很少会超过两个。一般是领先的玩家开发主流技术,来服务主流用户和主流场景。而略小的那个玩家,则去服务主流技术覆盖得不够好的边缘场景和小众用户。
其次,硬件技术的进化来自驱动用户侧的体验变革,再传递到软件的变革。从商用小型机到个人电脑,从 Mac 到 PC,从 iPhone 到 Android Mobile,都是某个硬件厂商先做大,然后硬件厂商对市场份额的争夺决定软件的走势。
计算设备的出货量决定软件架构!因为单个计算设备的定价基本是由出货量决定的。计算设备的价格决定软件的计算成本,而软件架构必须建立在合理的计算成本之上。在硬件行业的竞争上几乎永远是出货量为王,尤其是产品价格远远高于原材料价格的半导体行业。
系统规模越大,采购量越大,单位硬件成本越低,高可用带来的增量价值对比硬件成本也越大,而开发成本分摊到每个计算单元上就越小。所以他们的生意越大,自己的竞争壁垒越高。
软硬件都具备规模效应,最终出货量最大的玩家会以更低的价格和更好的质量赢得市场,而硬件的发展往往会左右软件架构的走向。最终软件架构必须要利用好规模效应。
一般来说,开放生态在长时间竞争的过程中,会胜过封闭的单个公司。这是打群架的一帮人前仆后继和一个独行侠作战的过程。过去这种竞争往往是开放的一方最终胜出,而且胜出者不一定是最开始挑战独行侠的那位。
技术的真正推动力来自于市场,而市场的一个重要变革因素就是商业模式。所以商业模式也决定技术的最终走向,是个前置量。
互联网生鲜从纯线上加中央仓储的模式、线上线下模式、前置仓的模式、社区团购模式的商业模式变化,作为一个技术人,尤其是这个行业内的技术人,那么关注商业模式的进化就至关重要了。因为这几种商业模式背后所需要的软硬件与运营技术之间的差异,实在是太大了。这也是为什么一个行业内的老玩家,很难迅速转身去追逐另一个商业模式的原因。
之后我们可以运用这些规律去选择我们的职业,选择我们的架构。把自己和团队的未来赌在哪个方向上,决定了我们在某个商业模式上要投入多少时间去学习和研究。
你要更早地从硬件发展、软件技术竞争格局和商业模式进化的角度,去看未来的技术趋势和架构机会。
当你评审别人的架构选型时,一定要关注他是否采用了一个已经有规模优势,或者是即将具有规模优势的技术。
任何一个新技术,你进入的时间就决定了你的未来。可以这么说,萌芽期赌命,增长期圈钱,至捧期交学费,灵感期拿价值,产出期养老,衰老期做死,退出期刨腹。
对于个人而言,技术的初期充满风险,但值得进入。在这个赌命的过程中,你不但可以学习设计思路,看到一个技术的成长与发展过程,而你自己也能获得先发优势。如果精力允许,那么多看些萌芽期的技术,对于你的成长而言会非常有价值。这个时候,勇气很重要,投入到一个萌芽期的技术的确意味着更大的风险。而当你听到某个大词已经满世界流行,到处有人写书开课时,其实它已经过了至捧期。晚了!
技术的生命周期对于一个架构师而言,有一层很重要含义:架构师需要不断监控自身能力的有效性和增量价值,不断提升自身能力的稀缺性和价值创造的空间。而这个不断监控当下技术发展的过程,就会让你在更大尺度上的思考变得更准确了。
此文章为6月Day10学习笔记,内容来源于极客时间《郭东白的架构课》,推荐该课程。