2011年大学毕业时,我执意要去一家云计算的公司工作。对于我这样一个化学专业、只做过两年 ACM 的小伙子,我的 ACM 教练问我知道云计算是什么吗?这个问题我确实懵了,四年前的我只觉得云计算高大上,要说云计算是啥真是毫无概念。今天,我就给父老乡亲们,老少爷们,同学朋友们聊一聊我这四年来所从事的这个事业——“云计算”。
先举个例子吧:在陕北农村,大部分家里都有一口水窖,注意,是水窖不是水井。下雨的时候呢,把院子里的水、屋顶的水收集起来放在水窖里。平时就从水窖里取水供日常所需。后来大家觉得这种方式费工费力,而且雨水的收集效率也不高。于是村子里面的人就想大家一起建一个水库吧,然后给各家装上水管。水库里的水不光能灌溉农田,而且统一处理后还能供各家生活所用。于是大家就过上了不再缺水的生活……
母亲水窖这就是一个典型的云计算的例子,大家把资源统一管理,按需使用。简单地说,水库就是“云”,水就是“计算”。用水库这种方式供水就是“云计算”。水库是一种基础建设,同时更是一种模式。它和水窖一样都能为老百姓提供储水和供水的基本功能,但是水库还能提供许多水窖所不能提供的东西,例如更为广阔的储水渠道,你在山上建的水库肯定比在家里的水窖更容易收集雨水;更为统一的管理方案,村里成立一个水库管理委员会,村民们轮流参与即可实现管理;更为广阔的使用用途,水库可以养鱼、灌溉、甚至可以发展旅游业;更为安全的使用环境,统一管理,统一做污水处理总比自个家里的处理方式要好得多。
好的,我们再把概念扯回云计算,云计算其实就是把计算这种资源统一收集到云端,让需要计算的用户按需获取。所以云计算是一种思想,一种模式,它并不是一种技术。
很多人对计算是一种资源这种说法不是很理解,我来简单的说说。我们习惯于把电脑也叫计算机,计算机就是用来计算的机器。在这个时代,我们所获取的绝大多数信息都是计算得到的结果。举例来说,我们看到的电子照片、视频,那是手机的摄像头对光感数据的计算结果;我们看到的微博、朋友圈那是手机对网络数据的计算结果;我们玩的游戏更是游戏机对我们的操作以及游戏规则的计算结果;我们每天听到的,看到的天气预报则更是超级计算机对海量气象数据的计算结果。所以我们的生活中现在充斥着各种计算资源,计算这种东西就像水、电、煤气一样在我们生活中不可或缺。
那么你就会问了,既然计算这种东西充斥在我们生活中,而且我们也没有感觉到有什么问题,我们为什么还需要云计算呢?
我的回答是:吃水不忘挖“窖”人,你在使用计算结果的时候可否想过那些为你提供计算能力的人呢?
你是否想过以前你要建一个网站就必须自己买服务器,开发页面,申请IP、域名,没个专业人士是搞不定的。以前玩个游戏没个主机、没个强大的PC是很难体验到顶尖的3A游戏的。那么我聊聊云计算的几种典型应用吧!
其实但凡计算讲求的都是input和output,这个做ACM的最有体会了,也就是说输入的是什么,通过什么方式去计算,计算之后的结果是什么。那么后面这几种典型应用都是以input和output为基线的。
第一种,在云端的网站。
以前很多企业、机关单位、学校为了有一个自己的门户网站,都是自己建机房、利用各种框架开发站点并自己维护。这样的成本其实是很高的,无论是人力、物力资源还是站点维护、安全性等各方面都是比较昂贵的。而他们所开发和维护的站点却往往有很大的共性,无非就是展示团队风采、更新新闻通知什么的。于是就有很多云服务商例如阿里云,提出了网站的云端解决方案。他们能够提供网站设计的各种框架,例如社区类的、门户类的,他们已经做好服务器搭建,他们也考虑好了安全、性能等各方面问题,用户只需要考虑他所最关心的网站内容问题就好。对于网站来说,input就是我们对社区或者门户的浏览需求,output就是社区或者门户网站给我们的多媒体呈现结果。那显然,计算过程对我们来说可能不重要,但是对于企业、机关单位等这样的网站服务提供者来说是需要解决的一个大难题。
云应用第二种,在云端的软件。
这里的软件有点抽象,具体的说比如数据处理,图形建模等。再具体一点呢,比如你有一大堆数据,你想从中分析出几个关键指标来,但是你又不知道怎么去计算,或者说你的电脑处理起来需要很久,那么你可以使用云端的软件服务。再比如,你要剪辑一段视频,或者做一些特效,但是这些都是需要比较好的电脑硬件以及比较专业的电脑软件的,那么你可以使用云端的专业软件服务。还有你需要做一个3DSMax、Maya模型,你可以也可以使用云端的这些软件。你只需要提供素材和你的想象力就可以了。这类云计算服务有点类似于早期大家拿着卡带去“大型计算机”那里去排队计算一样,input就是你手中的数据,output就是你要的结果,或许是一个数据,或许是一段音视频,或许是一种特定的文件。
云渲染第三种,在云端的游戏。
游戏是一类特殊的软件。这类软件定义了某种特别的运算方法,接收特定的输入,以视频为主要输出来反馈用户,让用户去达到某个目标(注:这里参考游戏的四大决定性特征)。现在的电子游戏主要是以各类外设为input,以音视频为output。现在的游戏软件为了提升用户体验,在运算方法和音视频渲染方面在不断做提升,以致于硬件去满足软件而非软件将就硬件。那么一个很明显的问题就出现了,大部分普通游戏玩家手里的硬件是无法体验到游戏的最高效果的。于是很多游戏厂商(例如EA)、云游戏厂商(如视博云)开始将游戏的input和output中间的计算过程放到云端。实际做法就是将游戏在云端的各类高端服务器上运行,然后把玩家的input(各类外设的操控数据)送给游戏,把游戏的output(音视频数据)通过网络传输到用户的显示终端。这种做法完全解放了玩家对硬件的依赖。
云游戏另外,围绕游戏周边还有很多的云计算典型应用,如外设的适配,终端的适配,游戏后台的搭建和维护,游戏运行数据的采集和分析、游戏的分发等都是可以通过云的方式去实现的。而目前有很多厂商在这方面也都有尝试!
通过以上几种典型的应用模型,我们就可以发现云计算可以帮我们做很多事情。简单的总结呢就是让我们手中的各种终端变得更加强大。非智能终端变成智能终端,智能终端变的更加智能。想象一下,有一天我们身边就只剩下屏幕和传感器。传感器负责input,屏幕负责output。传感器负责采集你所有的数据,并交付云端计算,显示器负责显示所有的计算结果。例如,你早上在洗漱的时候你就可以在前面的镜子上查看前一天别人给你的邮件——文字或者音视频。打开冰箱,它会告诉你你的食物质量和采购建议;开动汽车,它会告诉你今天的路况并做好线路规划;打开电视机,你可以看电视也可以体验最酷最炫的视频游戏。
是的,云计算就在我们身边,云计算这种模式已经在无形的改变着我们的生活。它正在让我们的生活更加便捷,更加智能。
网友评论