自己本身的方向并不是云计算,但在软件开发这个行业,很多工程师并不是单纯只研究自己的方向,即便不能切实的应用某项技术,前去了解也是一件很有意思的事情。在很多的公司,做为一个技术从业者,如果技术面很窄,可能会被同时diss,慢慢地,可能会没有朋友(有点严重了哈)。最近了解了下云计算的一些知识,接下来谈谈我对于云计算的理解:

在了解云计算技术之前,先要知道云计算的目标:

云计算在设计之初,主要是为了对计算资源,网络资源,存储资源的管理

虚拟化:

我们先谈谈虚拟化技术:假如,我们花费100元在阿里云购买一台服务器,我们仿佛就获得了一台计算机,我们想要使用远程工具(如XShell)登录到我们的计算机上进行相关的部署,而我们从阿里云购买的这台计算机,要知道只有100元,怎么可能买得到计算机呢?要知道阿里云里面的每一台计算机在采购的时候都是非常昂贵的,但是我们就是花100元获得了计算机的使用权。这是怎么做到的呢?这里就用到了虚拟化技术:

基于虚拟化技术的虚拟化软件可以创建一台虚拟的电脑,这台电脑提供电脑的所有的功能,但是你看不到其物体。这有点移动支付的味道,钱真实的到账了,但是你就是没有看到钞票。

实际上,阿里云将一台台大型的计算机,划分成了一个又一个的小模块,客户的每一次购买,阿里云都是将数据中心的物理设备(计算机)虚拟出来一小块给客户,虚拟化的技术能够保证不同客户的电脑看起来是隔离的,比如我的100G是我的,你的100G是你的,但是实际上,这200G的存储在一块很大很大的磁盘上。

实现虚拟化最早的公司是VMware,VMware是闭源的,还有两个开源的虚拟化软件,Xen,KVM。使用虚拟化软件能够虚拟出来计算机,虽然虚拟化软件能够解决将一个大型机(更多是大型机集群)虚拟出多个计算机,供多人使用,但是虚拟化软件能够管理的集群规模有限制,一般不能很大(最多百台),而且一般的虚拟化软件创建一台虚拟机,需要人工指定这台虚拟电脑放在哪里。这里使用过VMware软件的应该知道,每一次新建虚拟机的时候,都必须要指定你的虚拟机放在哪个磁盘上。由于①人工,②管理的集群有限两个弊端,出现云化技术。

云化:

如果每一次虚拟出电脑,都需要去指定该电脑要放置的位置并做相应的配置,几乎是不可能的事情,我们需要将其机器化,自动化,人们发明了 各种各样的算法来实现自动化,算法的名字叫做Scheduler(调度)

就是说在数据中心里的物理机集群中,设置一个调度中心,这个调度中心管理整个数据中心的所有物理机,当用户提交计算资源的申请的时候,这个调度中心自动的处理用户的请求,虚拟出符合用户要求的计算机,并完成相应的配置,这个调度中心支持管理的服务器在万台,百万台。

这就是云化,可以理解为加强版的虚拟化技术,如果一个物理机集群,达到了云化的阶段,我们就可以称之为云计算了。

公有云,私有云:

云计算大致分为公有云和私有云,混合云为私有云和公有云的连接,我们这里不做讨论,所谓私有云:

①私有云:把虚拟化和云化的这套软件部署在自己的数据中心里面。使用私有云的用户往往很有钱,自己买地建机房、自己买服务器,然后让云厂商部署在自己这里

②公有云:把虚拟化和云化软件部署在云厂商的数据中心里面的,用户不需要很大的投入,只要注册一个账号,就能在一个网页上点一下创建一台虚拟电脑。比如:AWS 即亚马逊的公有云;国内的阿里云、腾讯云

亚马逊为什么要做公有云呢?原来亚马逊是国外的一个较大的电商,国外的电商也有类似于国内的Double Eleven的场景,大家同一时刻,冲上去买东西,这是我们熟悉的高并发场景,需要巨大的计算资源支持,所以亚马逊需要一个云计算平台。当出现高并发的情况的时候,立马虚拟化一些计算机来应对高并发情况,过了高并发阶段,马上释放这些资源去做别的事情。

然而虚拟化软件太贵了,亚马逊不愿意掏这个钱,也不愿受制于虚拟化软件厂商,于是在开源虚拟化软件 Xen,KVM的基础上开发了自己的一套云化软件,后来亚马逊的云平台越来越牛。

虽然,亚马逊使用了开源的虚拟化技术,但是云化的代码是闭源的,很多公司看到亚马逊共有云很挣钱,但是苦于技术难度大投入大。后来,公有云的第二,Rackspace开放了云化的源代码,做云计算的公司纷纷涌入进来。

云计算的分层:Iaas,Pass

计算、网络、存储我们常称为基础设施 Infranstracture,有了云计算之后,我们能够非常灵活的获取一台计算机(包含计算,网络,存储资源)因此云计算做到了基础即服务,而且这个服务还具有弹性,不使用的时候释放,使用的时候创建, 这个阶段的弹性称为资源层面的弹性。

IaaS 平台之上又加了一层,用于管理资源以上的应用弹性的问题,这一层通常称为 PaaS(Platform As A Service)。

Docker容器技术:最大的应用就是在云计算的方向的Paas中,实现用户应用的在多台机器的部署,是实现自动化部署用户应用的工具。

PaaS层的作用:完成用户个性化应用的自动部署,通用的应用服务不用部署(实际上是云平台帮你部署了)

在PaaS层用户如何完成个性化应用的快速部署? 使用的是容器的技术。也即保存镜像和还原镜像。

这两步需要封闭的环境,封闭的环境有两个技术支持:   第一个隔离的技术,称为 Namespace,也即每个 Namespace 中的应用看到的是不同的 IP 地址、用户空间、程号等。 第二个隔离的技术,称为 Cgroups,也即明明整台机器有很多的 CPU、内存,而一个应用只能用其中的一部分。

大数据和云计算之间的联系:

在PaaS层中一个通用的复杂的应用就是大数据平台。由于互联网的兴起,尤其是近些年移动互联网,物联网的发展,使得企业获得了海量的数据,但是直接从用户的客户端收集的数据通常是杂乱无章的,需要进行数据的清洗(也即ETL)。海量的数据经过了清洗之后,就能形成较为规整,或者较结构化的数据,从而进一步进行数据挖掘或者是机器学习。

数据如何完成一次旅行?

  • 数据收集
  • 数据传输
  • 数据存储
  • 数据处理和分析
  • 数据检索和挖掘

【数据收集】的方式有两种:

拿:抓取,或者是爬取,比如搜索引擎就是这么做的,它把网上的所有的信息都下载到它的数据中心,然后你一搜就能搜出来。比如你去搜索的时候,结果会是一个列表,这个列表为什么会在搜索引擎的公司里面?就是因为他把数据都拿下来了,但是你一点链接,点出来这个网站就不在搜索引擎它们公司了。比如说新浪有个新闻,你拿百度搜出来,你不点的时候,那一页在百度数据中心,一点出来的网页就是在新浪的数据中心了

推送,有很多终端可以帮我收集数据。比如说小米手环,可以将你每天跑步的数据,心跳的数据,睡眠的数据都上传到数据中心里面。 多台机器,完成数据的收集操作。

【数据传输】:一般会通过队列进行传输,因为数据量实在是太大了,系统处理不过来,只好排队,慢慢处理。这让我想到了kafka(一种基于发布订阅模式的消息队列)。 数据量非常大的时候,一个内存里面的队列一个内存里面的队列肯定会被大量的数据挤爆掉,于是就产生了基于硬盘的分布式队列,这样队列可以多台机器同时传输,随你数据量多大,只要我的队列足够多,管道足够粗,就能够撑得住

【数据存储】:这让我想到了HDFS,一台文件系统肯定是放不下的,所以需要一个很大的分布式文件系统,如下图是Hadoop中的HDFS的架构图:

【数据处理和分析】:原始数据杂乱无章,有很多垃圾数据在里面,需要清洗和过滤。terasort对一个TB的数据进行排序,单机处理需要几个小时,但是并行处理需要209秒。 数据量越来越大,即便是很多不大的公司都需要处理相当多的数据,这些小公司没有那么多的机器怎么办?云计算来解决(在云厂商那里,以较低的成本获得较多的计算资源,存储资源)。

【数据检索和挖掘】:检索就是搜索,所谓外事不决问 Google,内事不决问百度。内外两大搜索引擎都是将分析后的数据放入搜索引擎,因此人们想寻找信息的时候,一搜就有了。另外就是挖掘,仅仅搜索出来已经不能满足人们的要求了,还需要从信息中挖掘出相互的关系。

比如财经搜索,当搜索某个公司股票的时候,该公司的高管是不是也应该被挖掘出来呢?如果仅仅搜索出这个公司的股票发现涨的特别好,于是你就去买了,其实其高管发了一个声明,对股票十分不利,第二天就跌了,这不坑害广大股民么?所以通过各种算法挖掘数据中的关系,形成知识库,十分重要。 数据量越来越大,很多不大的公司都需要处理相当多的数据,这些小公司没有那么多的机器怎么办?

云计算来解决。很多的小公司都会在自己的云上安装大数据,干脆云平台,将其部署到PaaS,将其作为一个通用的应用。现在的公有云上,基本上都有大数据的解决方案了。如此一来,小公司不需要采购一千台机器,只要在公有云上一点击,千台机器出来了,而且上面已经部署好了,大数据平台,只要把数据放进去就行了。大数据和云计算两者完美的结合在了一起。

Saas:软件即服务,比如说人工智能程序。为什么智能程序是软件即服务呢?而不是像大数据解决方案那样作为PaaS呢,因为后者是一个集群,涉及到了PaaS中,而人工智能程序是程序,而且这个程序是大量的数据训练出来的,小公司并没有那么大的数据训练,如果用户单独安装一套,结果往往很差。云计算厂商往往积累了大量的数据,于是云计算厂商就在里面安装一套,暴露一个服务的接口。 当一个大数据公司积累了大量数据,会使用一些人工智能的算法提供一些服务;一个人工智能公司,也不可能没有大数据平台支撑。

PS:本文是对网易刘超的《终于有人把大数据,云计算,人工智能讲明白了》的笔记记录,原文较长,本文是结合作者自己的学习写的阅读笔记。有兴趣的读者可以阅读以下原文

更多高质文章欢迎大家关注博主的公众号:stackoverflow

云计算,大数据,人工智能相关推荐

  1. 三剑合一称霸互联网时代——Serverless助推云计算-大数据-人工智能

    目录 什么是 Serverless? Serverless 的价值 1. 降低运维需求 2. 降低运营成本 3. 缩短迭代周期.上线时间 4. 快速试错 什么是云计算? 云计算的价值 什么是大数据? ...

  2. hahabet05-com:终于有人把云计算,大数据,人工智能讲明白了--哈哈电竞

    今天跟大家讲讲云计算.大数据和人工智能.为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据.谈人工智能的时候会提大数据.谈人工智能的时候会提云计 ...

  3. 云计算 大数据 人工智能 三者之间关系

    导读 本文作者凭借其天马行空的脑回路,用最深入浅出,清晰化的文字逻辑,讲明白了云计算.大数据和人工智能三者之间的关系.故事里面三个角色:兼具经济效益与情怀的云计算:努力把信息变为智慧的大数据:模拟人类 ...

  4. 三剑合一称霸互联网时代——Serverless助推云计算-大数据-人工智能(赛)

    目录 什么是 Serverless? Serverless 的价值 1. 降低运维需求 2. 降低运营成本 3. 缩短迭代周期.上线时间 4. 快速试错 什么是云计算? 云计算的价值 什么是大数据? ...

  5. 交通银行信息技术管理部副总经理张漫丽:交通银行“大数据+人工智能”应用研究...

    文 | 交通银行信息技术管理部副总经理张漫丽 大数据隐含着巨大的社会.经济.科研价值,已引起了各行各业的高度重视.如果能通过人工智能技术有效地组织和使用大数据,将对社会经济和科学研究发展产生巨大的推动 ...

  6. 云计算-大数据-云安全高等教育改革示范教材

    阿里云大学课程:云计算-大数据-云安全高等教育改革示范教材 课程介绍 为响应教育部"新工科"建设号召,由教育部高等教育计算机类专业教学指导委员会与阿里云联合成立云计算教学专家组,阿 ...

  7. 2017河南省第四届互联网大会圆满落幕 云计算大数据创新成热点

    11月15日,2017河南省第四届互联网大会完成各项议程,成功落幕.来自全国各地的专家学者和企业高管围绕下一代互联网.大数据.云计算.人工智能.智慧城市等话题展开讨论,为河南建设网络经济强省献策支招. ...

  8. 已有123所大学将云创大数据人工智能免费直播课引入课堂!

    4月28日,云创大数据正式发文公布了云创大学可以为高校提供高质量免费直播授课的通知.消息一经发出,受到各高校的积极反馈.截止到目前,已有123所大学将云创的大数据人工智能免费直播课引入课堂. 从5月2 ...

  9. 星陀资本投资合伙人秦毅:大数据+人工智能=数智化

    "本文由 星陀资本投资合伙人秦毅 撰写并投递参与由数据猿&上海大数据联盟联合推出的"行业盘点季之数智化转型升级"大型主题策划活动之<2021中国企业数智化转 ...

  10. 【2023年更新】1000个大数据/人工智能毕设选题推荐

    前言 正值毕业季我看到很多同学都在为自己的毕业设计发愁 Maynor在网上搜集了1000个大数据的毕设选题,希望对大家有帮助- 适合大数据毕业设计的项目,完全可以作为本科生当前较新的毕业设计题目选择方 ...

最新文章

  1. 飞书面向所有企业和组织免费开放,2020我们一起拥抱线上协作新方式
  2. ASP.NET Core微服务(五)——【vue脚手架解析接口】
  3. [PAT乙级]1031 查验身份证
  4. Equations HDU - 1496(哈希或三层for循环)求满足公式有多少种情况
  5. 黑群晖找不到设备_黑群晖洗白算号器SN、MAC地址
  6. DataFrame的构建及一些操作
  7. 使用Water-Scrum-Fall交付软件
  8. 数据库系统概论 -- 第一章 绪论(知识点)
  9. canvas 加载图片
  10. KL距离,Kullback-Leibler Divergence
  11. Content是什么?Android中的Content、Activity、Application 有什么区别?
  12. 关于CREO图纸导出到CAD后尺寸不对的问题
  13. [Unity绳子插件]Obi - Advanced Rope Simulation的使用
  14. 解Invalid character found in the request target.
  15. picker多选 vant_vant框架picker选择器形式列表,以及封装
  16. U-boot启动流程(Linux内核)的分析(四)
  17. 【今日CV 计算机视觉论文速览】 26 Mar 2019
  18. 利用matlab将.mat格式文件转换成wav文件
  19. git archive 归档命令——文件归档
  20. CAD制图初学入门:CAD软件中如何进行弧长标注?

热门文章

  1. OL3+中链家地图找房功能实现
  2. 二手车预测part1
  3. U盘拷贝大文件提示文件过大无法拷贝怎么解决
  4. maya2020卸载不干净安装不了_Maya2020安装失败怎么办?2018却可以安装?
  5. Java、JSP小额支付管理平台
  6. win7加入网络计算机,win7怎么加入局域网连接
  7. 分页中PageSize和absolutepage详解
  8. 英伟达服务器系统显卡驱动,NVIDIA显卡驱动
  9. 大数据中心建设一哄而上 人才技术制约产业发展
  10. c语言四个人中有一个人是小偷,涛涛学BASIC逻辑判断