此文已由作者刘超授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
互联网这个词目前已经普遍化,这大概也归功于罗振宇的罗辑思维对于互联网概念的极力宣扬,似乎不加上互联网三个字,企业宣传都张不开嘴。于是互联网+这个名词就随处可见了。
支撑互联网化的一个重要的力量就是云计算。但现在的云已经外延被扩大的不知道到哪里去了,什么财务云,发票云等等,让我们这些做计算、网络、存储、中间件、大数据的,都没办法和这些外延清晰的区分出来。
现在人工智能火了,也加入到了云计算的范畴中来,因而各种智慧云都出来了,智慧教育、智慧医疗、智慧交通等。
传统行业中干辛苦活的,眼睁睁的看着互联网公司双十一一天赚了一年的钱,于是红着眼睛也想纷纷上船,踏上互联网化、云化、智慧化的浪潮。
我们来盘点一下当前的现状,展望一下未来。
一、回望那些火过的互联网应用,发现历史竟如此相似
互联网都火过啥,从最早兴起的三大门户网站,Google退出后大家争相追逐的搜索引擎、社交网站、电商、微博、团购、互金、视频网站、O2O、直播、单车等等,一波接着一波,长江后浪推前浪,前浪死在沙滩上。
他们都经历着下面的这个循环。
首先要有个人有个创意,做一个没有的产品或发明一种没有的商业模式,当创意得到市场认可的时候,就迎来了市场的爆发,大家纷纷涌入,做同质化的产品,将一个新兴的市场变成一个红海,在红海中进行生死较量,有的退出了,有的倒闭了,有的被兼并,最终只能剩下两三家,或者成为巨头,或者被巨头收购。
前面所说的这样浪潮,都没有逃脱这个循环,唯一不同的是,这个循环越来越快,门户网站的角逐持续了好多年,而最近的这些浪潮一般十八个月就会见分晓。创业公司越来越发现,融的资看起来一轮比一轮大,但是都花不了太久时间。
市场没有耐心,你不采取激进的市场策略,竞争对手会的,你便宜,对手更便宜,你免费,就有人敢补贴。
投资人没有耐心,不在短期内拿出傲人的成绩,你就不会有下一轮,所以不花钱,被对手的声势碾压了,没有下一轮,是个死,使劲花钱,把对手碾压了,在胜出之前,没有下一轮,还是个死。
核心员工没有耐心,如果想公司有较快的发展,必须要找到牛的人,牛的人往往很贵,会让你融的钱花的很快,当然有一部分创业者可以通过愿景和期权留住牛人,但是这是有实效的,牛人往往社交面广,有独立的思维,不是那么容易被忽悠住的,牛人往往身怀绝技,容易被挖,所以除了画饼,你还需要不断的兑现一些饼,例如你的生意要在较短的期限内有一个起色,或者到另外一个高度。
所以随着这个循环越来越快,留给互联网公司的时间越来越少,能胜出的互联网公司往往具备快速的迭代速度,对传统行业进行冲击。而传统行业的老板们也想通过加上互联网能力,获取相同的竞争优势。那到底什么才叫互联网化呢?
二、什么才是互联网公司,什么才是AI公司
吴恩达在AI Conference的讲座中,提到了他对什么是互联网公司,什么是AI公司的理解,我觉得非常的深刻。
(1) 商场 + 网站 ≠ 互联网公司
如果你是一个传统的商场,仅仅是做了一个网站,那不叫互联网化。
真正标识一个互联网公司的,有以下几点:
A/B测试,让数据说话:当你有一个页面需要改进,你的网站设计成什么样,你的APP设计成什么样,是你们一层层的回报,然后让老大决策的么?大老板往往很危险,因为他不一定了解客户的偏好,而主观认为的偏好,在实际测试的时候,往往结果大相径庭,所以不要让老板拍板,而是让数据说话,通过在线测试两种方案的结果,得出最后的结论,虽然做不到迅猛提升,但是可以保证每一次的修改,都是正向的。
更短的周期:你的应用的迭代速度必须足够的快,而且迭代是基于数据的,根据数据的反馈,不断的小步快跑,这需要组织和流程有很强的适应能力。和传统公司几个月升一次级不同,互联网公司几乎每天都升级,当你打开各种APP的时候,你会发现界面动不动就改了。
工程师和PM做决策:如何才能快速上线呢?如果每次上线都要一百多人开大会,让老大做决定,那肯定快不了,应该让工程师和PM做决策,他们才是真正听得到炮火的人,你需要让他们独立负责一块内容,独立决策,独立上线,独立负责,所有的PM并行工作,才使得更新速度飞快。
(2) 传统科技公司 + 机器学习/神经网络 ≠ AI公司
如果你是一家传统公司,只是其中的一个部门用上了机器学习和神经网络技术,那你不是一家AI公司。
一家真正的AI公司,应该有如下的特点:
AI公司倾向于战略性地获取数据:数据是一家AI公司的基石,所以如果想让您的公司智慧化,获取数据要放到战略高度。其实很多公司已经这样做了,那些所谓的一切都要电子化,一切都要APP化,不接受现金和线下购买和支付,通过各种终端渗透到你的生活中,你觉得很方便,一会儿打开一个APP干这个,一会儿打开另一个APP干别的,你的整个画像就被勾勒的一清二楚了。所以你会经常受到各种广告,这说明他们已经大数据化了,但是还没智慧化,做到了精准的画像,但是没有做到智慧的推送,还是算法有点愣,但是战略,你是能够感受到的。
AI公司通常有统一的数据仓库:数据是应该打通的,如果在你的公司里面获取全量的数据,需要和50个部门沟通,那说明还没有大数据化,更别提智慧化。你们公司应该有统一的用户中心,统一的商品中心,统一的大数据平台,你的用户无论是用你的哪一款产品,应该感觉到产品之间是互通的,而非孤立的,这对组织的架构,系统的架构,数据的架构都有要求。
在AI公司里,产品经理在和工程师沟通的时候,需要学会运用数据,要求精确的反馈。产品经理除了有客户思维,应该有数据思维,就像吴恩达说的一样,做一个人工对话机器人,产品经理画一个框,里面一个小人,是没有意义的,要知道数据从哪里来,如何获取这些数据,如何利用这些数据,如何定量的评估人工对话机器人的效果是否有提升,这不能感性的来,也是要有数据。
三、传统公司互联网化所应该考虑的三大架构
要想让你的公司尽快的实现互联网化,需要从三大架构考虑。
第一个是IT架构,如何降低CAPEX和OPEX,如何减轻运维的负担。IT架构越来越复杂,能够把一个IT架构玩的很好,团队需要越来越大,招聘的人会越来越贵,如果你不是一个搞IT行业的,而是一个做金融的,制造的,医疗的,你会发现这一块成本越来越大。云化就是一个必然的趋势,所谓让专业的人干专业的事情。
第二个是应用架构,如何实现快速迭代,如何抗住互联网化后的高并发的流量。服务化是必须的趋势。每个小团队负责一个独立的服务,迭代速度就快了。每个模块一个独立的服务,可以独立扩展,就能够抗住来自互联网上的高并发。例如传统的金融支付遇到互联网支付,频率突然高了N倍,不服务化就搞不定。
第三个是数据架构,如何形成统一的数据平台,并给予数据进行数字化运营。服务化另一个有利的方面是可以将类似的数据集中,而有了数据后,如何进行运营,向客户提供精准的推荐,实现大数据化,进一步实现智慧化,是必须要考虑的。
四、IT架构趋势一:从资源弹性向架构弹性转变,互联网公司和传统公司差距越来越大
当前云化已经成为业内的共识,但是云计算的目前的状态还处于云计算1.0时期,也即仅仅实现了资源层面的弹性。
什么叫弹性呢?
说的通俗一点就是灵活性,主要包含两个方面的灵活性,一个是时间灵活性,也即想什么时候要就什么时候要,一个是空间灵活性,也即想要多少,就要多少。
人们之所以云化,是因为物理机是无法实现这种灵活性的。物理机有四个方面的不灵活,一是采购不灵活,采购期短则一两周,长则一两个月,二是粒度不灵活,无法采购一个1核1G1M带宽的机器,三是复用不灵活,同样一台物理机,一个人用过了,很难复原成原样,让另外一个人使用,除非重装系统,四是运维不灵活,很多事情要去机房才能搞定,而机房往往在最偏的地方。
虚拟化技术解决了这个问题,点即可得解决采购灵活性问题,可大可小解决粒度灵活性问题,即创即销解决复用灵活性问题,界面运维解决运维灵活性问题。唯一没有解决的问题是调度灵活性,需要手动运维,因而规模有限。
云计算的调度技术使得集群规模非常的大,并且可以自动调度,从而从客户的角度,真正实现资源弹性。
但如果云计算不管应用,则会是什么样呢?例如平时我们只需要十台虚拟机,但是双11的秒杀场景,我们需要一百台虚拟机,有了云计算资源层面的弹性,我们只要在云平台上一点,很快90台虚拟机就创建出来了,但是里面的应用呢?
还是需要我们的运维人员一台一台去安装,实在是太复杂了,无法实现真正的弹性。
于是我们开始想云计算如何来管理应用。
我们把应用分成两种,一种叫做通用的应用,例如这里面写的Spark,Mysql,Hadoop,这些应用的特点是通用,谁安装都一样,但是运维起来又相对比较复杂,应该交给云平台去运维和扩容。另一种叫自己的应用,这些应用的安装云平台无法帮到你,因为你自己的应用只有你自己知道怎么安装,所以云平台往往提供了一些基于脚本的工具来做这些事情,例如Chef、Puppet、Ansible等。但是脚本有一个最大的弱点,一旦环境有差异,脚本就很难顺利运行成功,所以导致基于脚本的安装工具,实现跨云迁移非常困难。
于是容器应运而生。
容器的英文是Container,Container另一个意思是集装箱,其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是打包,二是标准。
在没有集装箱的时代,假设将货物从A运到B,中间要经过三个码头、换三次船。每次都要将货物卸下船来,摆的七零八落,然后搬上船重新整齐摆好。因此在没有集装箱的时候,每次换船,船员们都要在岸上待几天才能走。
有了集装箱以后,所有的货物都打包在一起了,并且集装箱的尺寸全部一致,所以每次换船的时候,一个箱子整体搬过去就行了,小时级别就能完成,船员再也不能上岸长时间耽搁了。
这是集装箱“打包”、“标准”两大特点在生活中的应用。
部署任何一个应用,也包含很多零零散散的东西,权限,用户,路径,配置,应用环境等!这就像很多零碎地货物,如果不打包,就需要在开发、测试、生产的每个环境上重新查看以保证环境的一致,有时甚至要将这些环境重新搭建一遍,就像每次将货物卸载、重装一样麻烦。中间稍有差池,都可能导致程序的运行失败。
那么容器如何对应用打包呢?还是要学习集装箱,首先要有个封闭的环境,将货物封装起来,让货物之间互不干扰,互相隔离,这样装货卸货才方便。
另外就是如何将这个集装箱标准化,从而在哪艘船上都能运输。这里的标准一个是镜像,一个是容器的运行环境。
所谓的镜像,就是将你焊好集装箱的那个时刻,将集装箱的状态保存下来,就像孙悟空说定,集装箱里面就定在了那一刻,然后将这一刻的状态保存成一系列文件。这些文件的格式是标准的,谁看到这些文件,都能还原当时定住的那个时刻。将镜像还原成运行时的过程(就是读取镜像文件,还原那个时刻的过程)就是容器的运行的过程。
有了容器,云计算才真正实现了应用层和资源层的完全弹性。
在这里暂时总结一下,虽然从技术角度来讲,容器已经成为一个趋势,然而在真正的实施过程中,云计算1.0时代,将应用云化的过程,很多传统公司尚未完成。然而,在大型的互联网公司,基于容器的云计算2.0技术实现架构的全弹性伸缩,已经在大规模使用。容器的三大平台战役已经落下帷幕,Kubernetes已经全面胜出,现在在互联网公司的论坛中,再讲容器技术,已经感觉是很老套的技术了,然而在很多传统企业,云化却尚未完成,这中间鸿沟巨大,利用容器技术的快速迭代,将是对还未进行云化的公司的降维打击。
五、IT架构趋势二:云化容器化不可逆转,IT人员越来越贵,只有规模大才能降低成本,通过自动化和智能化,让少数的高薪IT人员管理大规模集群
也有人会说,你老说云化,云化怎么好,能够降低成本,可真正实践下来,云的技术虽然在不断的进行迭代,然而我的运维成本,还越来越高。
原来用物理机的时候,其实我只需要懂基本的Linux知识就可以运维了,后来你们忽悠我上虚拟化软件,虚拟化软件非常非常的贵,能够会使用虚拟化软件证书的人更贵。后来虚拟化软件存在绑定的问题,于是你们忽悠我用开源的虚拟化软件OpenStack,谁知道开源并没有免费,如果不进行适配和定制,基本上没办法在生产环境中使用,但如果一旦定制,又变成了一个私有化的软件,这时候我的运维人员,不但要会用虚拟化软件,还需要去开发虚拟化软件,能开发虚拟化软件的实在是非常贵,而且如果自己运维OpenStack没有五十甚至一百人的团队,根本搞不定,后来你们说应该用容器,可是用了容器以后,计算网络存储的技术一样不能少,而且还要懂应用,全栈工程师就更加贵了。
云计算真的能够降低成本吗?难道我用了假的云计算?
接下来我们详细分析一下云计算的使用方式。
最简单的使用方式,当然是使用公有云,公有云就相当于你买了一个公寓房,成本非常的低廉,同时隔离也是逻辑的,在高峰期的时候,不免有争抢资源的现象。
如果你想不被争抢资源,可以使用专属主机,就相当于买了一整栋单元楼,这台物理机上的所有的虚拟机都是你的,然而很多PaaS服务如数据库还是在公用集群上的。
于是有很多公司就想建设自己的私有云,把这比喻成为住别墅,其实这顶多是农村自建房,因为你可能需要去别人的数据中心里面租一块地,然后或者自建云平台,或者招标云平台。没有人会去想住别墅的时候,自己拿地自己去盖,自己出了问题自己去修,这样部署运维更新,成本非常的高,你需要自己养一个专业的运维团队来做这件事情。
这种方式往往只能解决心理上的安全问题,真的安全吗?不一定。就像农村自建房,没有完善的物业,也没有完善的保安一样,托管在别人数据中心中的云平台,很难保证不被邻居机架上不专业的运维行为威胁你的安全。你搭建了云平台,你的邻居机架上直接用物理机,我们经常见到有的小公司在公司里面一个VPN,将办公网络和机房的物理机连通起来,办公网的wifi非常不安全,如果有黑客能够到达邻居的物理机,很可能就能黑到你的物理机上面来。
除非你是大土豪,例如电信银行电力,自己拿地,自己建数据中心,自己,有成百上千人的运维团队,有非常完善的机房运维流程,就相当于特朗普自己拿块地自己盖别墅,自己招聘物业,自己雇保安,当然是最最安全的。可能大部分的传统企业,都不能享受这样的待遇。
网易云专属云服务,商业别墅型云服务。地网易来拿,房子网易来盖,物业网易来管,保安网易来招。相当于在网易的机房里面,划出一块地方来,这个地方上面部署的云平台资源全是你自己的,但是硬件、网络、安全、安装、升级、修复,你都不用来管,有非常专业的运维团队来做这件事情,这些运维操作保证安全合规,你只需要关注自己的应用就可以了。
网易为什么要推出专属云呢?因为我们认为云化容器化的趋势是一定的,前面所叙述的道路本身没有错误,能懂OpenStack和Docker的技术牛人越来越贵是必然的,只有规模越来越大,才能体现云的成本优势。例如谷歌,谷歌里面的运维工程师相当相当贵,有几十万,甚至上百万美金的年薪,他们掌握这些最先进的技术是没有任何问题的,但是他们会通过各种自动化,甚至智能化的技术,管理全球的几百万台机器,这样成本摊下来就不是很高了,所以谷歌完全养得起。如果你只是运维一个几十个节点,最多几百个节点的云平台,同样需要招一些这么贵的人,一般的企业肯定受不了,所以对于大部分企业来说,应该将IT架构交给最专业的牛人。
我个人甚至认为,将来只有两种云平台,一个是大规模公有云平台,一个是土豪的自建云平台,其他的形式都会随着技术的越来越先进,运维人员的要求越来越高,运维人员的年薪越来越贵,而消失。
免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 dubbo事件通知机制(1)
【推荐】 Lily-一个埋点管理工具