今天,我们从软件行业的一个段子说起。
甲方想要做个电商网站,作为乙方的程序员问:“你要做个什么样的呢?”甲方说:“像淘宝那样就好。”程序员问:“那你打算出多少钱?”甲方想了想,“5 万块钱差不多了吧!”
这当然是个调侃客户不懂需求的段子,但你有没有想过,为什么在甲方看来并不复杂的系统,你却觉得困难重重呢?
因为你们想的根本不是一个东西。
在客户看来,我要的不就是一个能买东西的网站吗?只要能上线商品,用户能看到能购买不就好了,5 万块钱差不多了。
而你脑中想的却是,“淘宝啊,那得是多大的技术挑战啊,每年一到‘双 11’,那就得考虑各种并发抢购。淘宝得有多少程序员,5 万块你就想做一个,门都没有。”
如果放在前面“沟通反馈”的模块,我可能会讲双方要怎么协调,把想法统一了。但到了“自动化”的模块,我想换个角度讨论这个问题:系统是怎么变复杂的。【相关推荐:淘宝开放平台开发文档】
淘宝的发展历程
既然说到了淘宝,我们就以一些公开资料来看看淘宝的技术变迁过程。2013 年,子柳出版了一本《淘宝技术这十年》,这本书里讲述了淘宝是怎么一步步变化的。
按照书中的说法,第一个淘宝是“买来的”,买的是一个叫做 PHPAuction
的系统,即便选择了最高配,也才花了 2000 美元左右。这是一个采用 LAMP
架构的系统,也就是 Linux + Apache + MySQL + PHP
,这在当年可是典型的开源架构。说到LAMP
,就顺便给大家推荐一个免费视频《在阿里云服务上搭建生产环境的Web服务器》,该教程里面介绍了LAMP的出现及工作原理等内容,感兴趣的朋友可以学习了解一下。
后来淘宝的发展遇到了性能瓶颈问题,他们就通过新语言新工具重构来解决。
这里给大家拓展一个小知识,脸书(facebook)的创始人用php花了两周时间就搞出了facebook(不得不说,PHP的开发效率是真的高!),后来,脸书也遇到了性能问题,此时有个叫赵海平的华人工程师亲自开发了HipHop来解决性能问题,也就是现在著名的php虚拟机hhvm
的雏形(即使现在已经完全不参与hhvm的研发,但是基础代码还是在用赵海平的)。
许多公司发展的时候,会遭遇性能瓶颈问题,这时要么就是达到性能要求的新语言新工具重构,要么就像脸书阿里重新做个虚拟机。但是重新做个虚拟机,技术储备人才要求不小,也就脸书阿里这种体量的,大部分公司技术储备不到这个水平,这样考虑还是砸钱重构来的实际。那位在脸书做出php虚拟机的赵海平,现在在阿里开发taobaojvm。
话说回来,阿里淘宝这些年的发展之路,都是在不断地创造技术,不断地补充细节,一个电子商务平台的成功运作,离不开背后努力钻研的技术人才;那些业界大佬遇到问题,也是在努力找出解决办法,不停的学习,更何况我们普通的互联网人。
正如阿里圆桌会议HR所说的“在座的各位都是爱折腾的人”,我承认自己受之有愧,自己的身体一直不能保证毫无顾忌的拼斗,自己虽然每天坚持都去跑步,底子还是不行,想要成为一名武林中人,更漫长的路需要我坚持的走下去,意志力,我可以有。
“坚持学习,钻研学习,实践学习”
希望大家都能坚持这三点信条。