从零开始理解云计算 Vol.1:什么是云计算

导语

这个系列其实是写给自己的云计算知识学习笔记——作为一个没有专业背景的小白,从零开始理解云计算的过程。王良明的《云计算通俗讲义》是一本入门的好书,本文根据书中的内容进行了思考提炼,尝试从通俗易懂的角度理解云计算的分类。

云计算从字面上可以拆成“云”和“计算”两个部分,要理解它的概念,需要从IT的传统技术讲起,了解什么“软件”、什么是“网络”。

一、什么是软件

软件也叫程序,要理解软件的概念,不妨先看下面这个例子——老李想画一个三角形并计算出面积,他找了小李帮忙,交给他一张纸,上面写着这些步骤:

小李收到了这张纸后,询问了老李三角形三个顶点的坐标,然后在书桌上摊开纸开始工作,他画出三角形并计算面积后把纸交给了老李,任务完成。

如果我们将老李比喻成程序员,小李比喻成计算机的CPU(中央处理器),那么书桌就是内存,三角形三个顶点的坐标是三条输入语句,绘制三角形并计算面积的步骤就是软件,一个步骤就是一条指令(也叫语句),画了三角形并标注了面积的纸就相当于软件的输出,“画一个三角形并计算面积”就如软件要完成的任务(也叫程序要处理的数据)。

通俗地来说,软件就是由程序员写的需要让CPU来完成某项任务的步骤,只不过这些步骤是用计算机语言来描述的(常见的计算机语言有C、C++、Java、PHP、Go等)。

为了能够更加直观地理解软件的运行原理,我们用下面这张图表示一个软件:

一个软件以文件的形式保存在硬盘上,当我们用鼠标双击它时,这个软件就被读到内存,此后CPU按照里面的步骤一步步执行。执行到输入步骤时需要从输入设备上获取信息(键盘和鼠标是最常见的输入设备),然后执行一些计算步骤(CPU、内存和硬盘一起组成计算设备),最后执行输出步骤,把计算的结果通过输出设备输出(显示器和音箱是最常见的输出设备)。对于一些较大的软件,在软件执行的过程中,随时可能要输入,也随时可能会输出,计算步骤也可能安排在任何时候。

计算设备和输入/输出设备的分离是云计算的核心特征。要明白他们是如何分离的,我们需要了解下一个概念 —— 网络。

二、什么是网络

我们平常使用QQ发信息的时候,为什么发的信息能准确无误的发给特定的对象,而不会错发给别人呢?如何把一台计算机发出的信息准确无误地送到另外一台计算机,这就是计算机网络所要解决的问题

写过信的人都知道,如果要把信送到对方手中,我们需要在信封上写上收件人的详细地址,且保证收信地址是唯一的。计算机也是一样,与外界通信的计算机也必须拥有一个唯一的地址。计算机的地址称为IP地址,格式是“xxx.xxx.xxx.xxx”(xxx的范围为0-255)。

如果我在深圳,想把信息发送给北京的朋友,在我点击发送按钮后,消息、我的计算机的IP地址、朋友的计算机的IP地址被打包在一起通过宽带发送给深圳电信,然后电信内部传递,最后到达北京海淀区电信局后由海淀区电信局通过对方的宽带发给对方的计算机。消息的打包和传递都是由计算机网络自动完成的,以电或光的速度传播,非常快。

计算机网络的两个重要指标分别是 带宽 和 时延。

带宽定义为每秒钟能传递的数据量,带宽越大则每秒钟传递的数据量就越大。如果把计算机网络比喻成一条高速公路,带宽就好比是车道数,车道数越多,每秒能通行的车辆越多。

网络路径上转发机构的多少决定了一条信息到达对方计算机所消耗的时间,术语称时延。如果再将计算机网络比喻成一条高速公路,时延就好比是路途经过的所有收费站交钱所耗时间的总和。一个云计算中心的时延半径通常为100毫秒,即一个数据包从云中心出发,50毫秒所能到达的范围(返回也要50毫秒),时延和地理位置上的远近无关,只和网络路径上的转发机构和数目有关,比如在深圳的超算中心50毫秒的时延半径可能包括了美国的洛杉矶,但没有包括广东省的梅州市,因为深圳与梅州之间要经过很多性能低下的转发设备,而到达美国洛杉矶只经过几台高速路由器。实时输入/输出的软件对计算机网络的时延要求高,尤其是实时强交互软件,比如我们日常使用的QQ。

带宽和时延是部署云计算时不可忽视的两大重要因素。了解了软件和网络的概念后,理解云计算的本质就不远了。

三、什么是云计算

我们已经知道软件就是程序员写的需要CPU执行以完成某项任务的步骤,这些步骤包括输入/输出步骤和计算步骤,CPU在执行输入/输出步骤时需要使用输入/输出设备,在执行计算步骤时需要使用计算设备。对于普通的计算机而言,计算设备指的是CPU、内存和硬盘,输入/输出设备指键盘、鼠标、显示器、话筒和音箱

对于传统的个人计算机,计算设备和输入/输出设备通过主板连接在一起,计算设备和输入/输出设备通过主板这个纽带实现协同工作。

然而,主板并不是可以连接计算设备和输入/输出设备的唯一纽带。当一个软件在执行的时候,用到的输入/输出设备和计算设备是被计算机网络连接在一起的,那么这样的软件执行过程就叫云计算

“云计算”中的“云”指的就是计算机网络。位于计算机网络中的设备通常称为云端,位于人们身边的输入/输出设备通常称为终端。就像我们不关心信是经历了哪些机构送出的,只关心信寄出之后对方什么时候能够收到一样;我们并不关心计算机网络具体是由什么组成的,我们只关心申请的宽带带宽是多少,时延大不大。对于我们不关心也不了解的网络组成部分,通常人们喜欢画一朵像云一样的东西来代替,这就是云计算名称的来历。

云计算也可简述为“输入/输出设备和计算机设备分离的软件执行过程”,执行与计算表达的含义相同,因此云计算也可以称为云执行。它是针对软件执行而言的,跟计算机的具体结构无关,也和软件本身关系不大。比如我运行自己计算机上的计算器,就不是云计算;但如果我的朋友从北京登录到我的计算机并运行里面的计算器,这时就是云计算。

由上可知,云计算其实并不是什么高大上不可触及的概念,我们的生活各个方面都充满了云计算的应用:我们在用百度搜索关键词时,搜索软件运行在百度的计算机上,通过在亿万个网页中查找,把搜索结果反馈到用户的计算机屏幕上,同理还有在视频网站上看电影、使用邮箱、网盘等等。

云计算为用户提供了足够的计算资源、海量数据和几乎无限的存储空间,为物联网、大数据、人工智能等新兴产业奠定了基础,为我们的未来打开了无限的想象空间。越来越多的企业开始从传统的IT架构开始向云计算架构转型。

这个系列的下一篇将从传统IT架构开始进行整理,进一步说明云计算的分类和优势。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android 开发者

app 里的 A/B 测试简介

2153
来自专栏PPV课数据科学社区

多图技术贴 | 深入浅出解析大数据平台架构

参加活动赢取话费和一个月免费会员 点击底部阅读原文,参加PPV课玩转可视化图表,赢取话费和PPV课一个月免费会员,精品课程免费看! 目录: 什么是大数据 Had...

2904
来自专栏AI研习社

Databricks 开源 MLflow 平台,解决机器学习开发四大难点

雷锋网 AI 研习社按:机器学习开发有着远超传统软件开发的复杂性和挑战性,现在,Databricks 开源 MLflow 平台有望解决其中的四大痛点。

761
来自专栏phodal

如何为技术博客设计一个推荐系统(中):基于 Google 搜索的半自动推荐

与统计学相比,基于内容来向用户推荐相似的内容,往往更容易获得。对于推荐来说,则有两种方式: 手动推荐 自动推荐 (PS:我承认,这句话说了等于没说。) 如下图所...

2036
来自专栏SDNLAB

OpenBox项目及相关介绍

知道OpenBox源于SIGCOMM 2016的会议,这个会议的影响力在计算机和通信领域的专家相信都知道,CCF推荐的A类会议,一年接收文章的数量也就在30篇左...

3213
来自专栏顶级程序员

2月份GitHub上最热门的Python项目:深度学习占半壁江山

源 / 开源最前线 整编 / 猿妹 本篇文章为大家盘点了1月份最热门的Python 项目,本月最热门的开源项目中,深度学习相关的开源项目占据了半壁江山,...

3029
来自专栏机器人网

工程师须知:关于伺服电机的21个关键问题

工业机器人电动伺服系统的一般结构为三个闭环控制,即电流环、速度环和位置环。一般情况下,对于交流伺服驱动器,可通过对其内部功能参数进行人工设定而实现位置控制、速度...

2648
来自专栏数据小魔方

shiny动态仪表盘应用——中国世界自然文化遗产可视化案例

这一篇很早就想写了,一直拖到现在都没写完。 虽然最近的社交网络上娱乐新闻热点特别多,想用来做可视化分析的素材简直多到不可想象,但是我个人一向不追星,对明星热文和...

4007
来自专栏互联网杂技

2018年3月份GitHub上最热门的Python项目:深度学习占半壁江山

https://github.com/NVIDIA/FastPhotoStyle Star 5978

762

云安全警报,你值得拥有!

任何安全计划的第一个组成部分都应该是一个警报系统。因为警报系统通常是在出现问题时通知最快和最有效的方式,也方便您可以采取有效行动做出合理的解决措施。但警报也存在...

19310

扫码关注云+社区