面向云设计软件

By 答治茜@腾讯云

大家都知道,最早程序员用机器码编程序,后来用汇编语言,然后是高级语言,随着编程语言的发展,我们能解决的问题越来越复杂,但是程序也被goto语句搅的越来越难以理解。

于是后来出现了结构化编程,软件开发突然有了一个全新的模式,大家一下子可以编写更加复杂的程序了。再后来,程序又复杂的看不懂了,于是出现了面向对象编程,大家再次能够驾驭复杂度了。

那为什么会有这样的发展过程呢?驱动编程模式发展的动力是什么,它会把我们驱动到哪里去呢?本质上的原因是,人类的大脑不能够思考太复杂的东西。这也同时可以部分解释为什么我们最近围棋下输给了电脑。因此我们思考复杂问题的时候要把问题做分解、分层,一次只考虑有限的几个实体之间的相互关系。放到编程的世界里,我们需要把逻辑分解成一个个的“高内聚低耦合”的组件,然后用它们来组合成复杂的程序。最早,我们把问题模块化,因此产生了结构化编程模式,大大提升了编程效率。后来我们把问题对象化,于是产生了面向对象编程模式,进一步提升了编程效率。在未来,我们需要更加快速的构建更加复杂的系统的时候,会需要更新一代的组件化技术,我们认为其中最有前途的一个方向是现在技术界非常热的技术:Cloud Native。这个词现在没有规范的翻译,你可以简单的理解为面向云设计软件。

为什么我们敢对未来做这么肯定的猜测,因为有一批走上这个方向的先行者已经从中收益,我们来看两个例子:

Instagram,这家公司被宣布以十亿美金(最终成交价七亿)收购的时候,只成立了551天,用13个人服务了5000万人。我们公司也有很多这个量级的产品,我们可以评估一下自己的业务在这个量级上的人员需求。收购前Instagram的业务全部是是建设在亚马逊AWS之上的。

WhatsApp,这家公司被以190亿美金收购的时候,用32个工程师服务了全球4.5亿人。

一样我们也可以对比一下我们的人员用户比例。WhatApp是运行在一个托管即服务(MHaaS)的云SoftLayer上的。

类似这样的例子不胜枚举,我们不继续举例。从这些例子我们可以看到,不但面向云做富有弹性的软件架构设计已经成为一个软件开发的潮流,基于云做低成本试错,借力云轻装上阵,快速捕捉市场机会疯狂成长,也已经成为互联网产品的成功模式了。

面向云开发的时代已经来了,我们相比很多竞争对手更加幸运的是,我们坐拥中国最先进的云产品,大家都在腾讯云上享有最优先的所有内部特权,我们做新产品的时候,有什么理由不面向云去做设计,获得发展的动力,我们改造旧产品的时候,有什么理由不让它在云上吸取能力焕发新生呢?

最后,在云时代中,我们不但可以是云的享用者,还可以是云的缔造者。在过去的十多年里面,我们的产品建设了非常多优秀的能力,这其中已经有很多通过腾讯云的窗口正在对外提供服务,帮助无数项目获得竞争优势,比如我们的TDS数据库、对象存储系统、CDN、云通信,视频直播。

过去我们说成为互联网的水和电的时候,我们想到的可能是我们去创造产品满足用户的每一个网络生存的基本需求。但是今天我们再说成为互联网的水和电,更多的指的是我们成为互联网的基础设施,让不管是我们的产品还是客户的产品,都运行在我们的技术能力之上。

results matching ""

    No results matching ""