【云计算学习教程】与云计算相关的开源软件有哪些?_云计算软件(4)
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
开源的应用软件数不胜数,开源软件仓库 https://sourceforge.net/ 和 http://www.apache.org/index.html#projects-list 保存了大部分的开源软件。下面是一些跟云计算有关的比较出名的软件。
1)OpenSSH
用于安全远程登录的软件。在云端,常用它来建立服务器之间的信任关系。
2)Netfilter/Iptables
防火墙软件。在云端,常用它来建立服务器上的安全屏障。
3)Snort
入侵检查软件。如果防火墙是门卫,那么 Snort 就是巡逻队,配合蜜罐,Snort 效果更佳。
4)Postfix
开源邮件系统。配合其他一些反垃圾和病毒软件,可以搭建一个非常出色的邮件系统,快速部署脚本 iRedMail 能在几分钟内自动部署一个全功能的企业级邮件系统。
5)Squid
代理和反向代理软件 ,可同时用来做用户上网行为管理,官方网站为 http://www.squid-cache.org/。
6)Zabbix
是一个基于 Web 界面的提供分布式系统监视及网络监视功能的企业级开源解决方案,它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制,让系统管理员快速定位和解决存在的各种问题。
7)Odoo
最初是一个 ERP 软件。现在几乎涵盖了企业的所有应用,具备数千个功能模块。采用它开发应用软件就像搭积木一样,直接安装需要的模块即可。
商业化的云计算组件有哪些?
在教程《一套完整的云计算产品需要解决哪些问题》中讲到,一套完整的云计算产品包含虚拟化平台、管理工具和交付三部分。注意,这里讨论的是构建云计算的组件,而不是云计算服务,云计算服务提供商需要采用云计算组件来构建云端。
目前商业的云计算组件不多,但云计算服务商却很多。本节对当下比较有影响的商业云计算组件做一个简单介绍,不过这些公司发布了很多组件,却很少讲明这些组件在整个云计算解决方案中处于什么地位、完成什么任务,所以要搞清楚一家企业的云计算组件并非易事。通信协议除 HTTP/HTTPS 外,各个公司都发布了自己的协议。
ⅤMware
VMware 由虚拟机起家,后来不断发展和完善云计算的管理平台和交付部分,如今已经推出了全套的云计算产品。
1. 虚拟化平台
VMware 公司的虚拟化技术做得最早,目前应用得也最广,虚拟化产品线丰富,覆盖计算机虚拟化、网络虚拟化、存储虚拟化。其中,计算机虚拟化产品包括桌面版(X86 平台和苹果电脑)和服务器版。计算机虚拟化是云计算产品的核心,桌面版有 Workstation、Fusion(苹果电脑),简化的桌面版 VMware Player Plus 对个人用户是免费的;服务器版有 EXSi,免费版 vSphere Hypervisor 是在 EXSi 的基础上简化而成的,可以直接安装在裸机上。
2. 管理工具
VMware 公司的云计算管理平台是 VMware vCenter 系列套件,其中 vCenter Server 是管理控制中心。VMware vCenter 管理私有云,而 VMware vCloud 套件用来管理公共云。
3. 交付部分
VMware 的远程桌面协议 PCoIP 是交付部分的核心,此协议基于 UDP,即使在低带宽网络环境下,也会有不俗的表现。在较高速的网络中,能传递高质量的屏幕画面。VMware 公司的客户端能同时兼容微软的 RDP 协议,客户端产品是 VMware Horizon Client。Horizon View Connection 是局域网内的交付网关,Horizon View Security 是因特网的入口网关,Horizon Client 只有通过这些网关,才能访问虚拟化平台上的桌面。
VMware 组合 EXSi、PCoIP、vCenter、View Client 核心组件及其他一些周边工具,推出一系列面向客户应用的解决方案套件,以便降低部署难度。这些套件包括公共云套件 VMware vCloud Suite、办公桌面虚拟化套件 Workspace Suite、混合云套件 VMware vRealize™Suite、快速混合云部署套件 VMware vCloud® Air™。
采用 VMware 云计算产品搭建的云计算中心架构复杂。
Citrix
Citrix(思杰)公司由远程交付 IT 资源的产品起家,后逐步发展云计算的其他产品线,如虚拟机、管理平台等。不过在激烈竞争的云端产品市场,Citrix 逐步迎难而退,2016 年年初把 CloudPlatform 出售给 Accelerite 公司,自己又重回 OpenStack 社区。Citrix 集中精力发展自己的优势产品——云服务交付,包括软件虚拟化和虚拟桌面。桌面虚拟化架构如图 1 所示。
图 1 XenDesktop 架构
1)Delivery Controller(交付控制器)
至少一个。控制器定义了一系列与虚拟化软件平台通信的服务,这些服务完成的任务是:分发应用程序和桌面、验证和管理用户访问、代理用户和其虚拟桌面及应用程序之间的连接、优化使用连接、负载平衡等。
2)StoreFront(存储前端)
StoreFront 验证用户身份,管理用户访问的桌面和应用程序,存储企业的应用程序库,以便让用户自助访问。它还跟踪用户的应用程序订阅、快捷方式名称和其他数据,以确保用户在多个设备上拥有一致的体验。
3)Director
专门提供给 IT 运维人员和前台服务团队使用的 Web 控制台,通过它可以集中监控 IT 环境、处理问题,以及为终端用户提供支持。
4)Studio
统一的管理控制台。
1. 虚拟化平台
XenServer 是早期由 Citrix 收购 Xen 后推出的虚拟机软件,开源,直接安装在裸机上,核心代码是 Linux 和 Xen。开源是其最大的亮点。
2. 管理工具
Citrix 官网上已经没有云计算管理工具的产品了。
3. 交付部分
云服务交付是 Citrix 的强项,其交付产品已存在十几年,应该说相当成熟和稳定了。交付中的通信协议有 ICA 和 HDX,属于 TCP 类型,HDX 是颇具优势的协议,在低带宽网络环境下表现也不俗。
交付中的客户端软件 Receiver 是免费的,而且能在目前绝大部分流行的硬件和操作系统上安装运行,如 X86、ARM 等硬件平台,Windows、Linux、Android、Chrome OS 等软件平台。
Citrix 把 XenServer、CloudPlatform、Receiver 打包并加上一些周边产品,推出一些面向应用的方案套件,如统一移动、应用和桌面交付套件 Citrix Workspace Suite、私有办公云套件 XenDesktop 等。其他交付部件还有交付控制器(Delivery Controller)、StoreFront。
相对于 VMware,Citrix 云计算产品成本相对低廉,这是其优势。另外,在企业协同工作方面,Citrix 也有一些不俗的产品,如在线会议系统 GoToMeeting、企业级在线协作应用 Podio、在线培训应用 GoToTraining、DIY 网络研讨会 GoToWebinar。
Microsoft
Microsoft(微软)远程桌面服务的架构图如图 2 所示。
图 2 微软远程桌面服务的架构图
1. 虚拟化平台
微软发展虚拟化软件比较晚,刚开始只是一个单机版 Virtual PC,虚拟机里只能安装 Windows 操作系统,后来看到虚拟化是大势所趋,其才在 Windows Server 2008 及以后的服务器操作系统中集成虚拟机 Hyper-V。
Hyper-V 作为一个角色由用户选择是否安装,而且管理单机的虚拟机极其简单方便,在 Windows Server 2012 版中,虚拟机软件已经相当稳定了,而且虚拟机里支持安装更多类型的操作系统,包括 Linux 操作系统。再后来,微软干脆推出了裸机版虚拟机 Microsoft Hyper-V Server 2012 R2。
微软的远程桌面会话主机(RDSH)是一大特色,这相当于多用户系统桌面,允许多个用户登录 Windows 系统,但是每个用户有自己的桌面,相对于虚拟机桌面来说,RDS 桌面消耗的计算资源更少,同一台计算机允许接入更多的用户。
最近一段时间,微软推出了两款容器产品:Windows Server Container 和 Hyper-V Container,后者综合了虚拟机的隔离效果和容器的轻量特征。
2. 管理平台
System Center 2016 是微软推出的最新的云计算管理平台。
3. 交付部分
RDP 通信协议起源于思杰的 ICA,后来由微软独立发展,由此推出 RDP 7 版、RemoteFX 和 RDP 8 版,在用户体验方面每个版本都有大幅度提高,在局域网内具有不错的表现。
客户端软件 mstsc.exe 一直随 Windows 操作系统自带,最近微软也发布能在 Android、Linux、Mac OS 上运行的客户端,但是用户体验远远不及 Windows 版。远程桌面代理(RD Connection Broker)对用户绘画进行负载均衡,远程桌面网关(RD Gateway)和远程桌面 Web 网关是交付入口点,但不是必需的。
微软的产品线极其丰富,几乎覆盖了全部的软件层面,从最底层的操作系统到最上层的应用软件,应有尽有。如果采用微软的产品搭建云计算环境,则架构最为简洁。
云端技术:组建云计算中心需要用到哪些技术?
我们已经知道,一个完整的云系统包含 5 个角色,其中云服务提供商和云服务消费者是最主要的角色,这两个角色缺少任意一个都不能成为“云”。由这两者组成的“云”,算是最基本的“云”,如本地私有云就是只有供需双方的基本云。
本节开始重点介绍组建云端的技术、云端与终端的通信协议,末后顺带简单介绍一下云终端设备。
云端、通信协议(加上网络)和云终端简称为云计算的“云”、“管”、“端”。在建设具体的云端时到底采用什么技术,这与终端用户的类型密切相关,终端用户的类型间接决定了云服务的模式,以及需要在云端运行的软件种类。
总之,要根据云服务消费者的需求来选择技术并组建相应的云端,需求不同,组建云端的技术也不尽相同。
云端是云计算的核心,必须紧贴用户需求,同时应具备水平伸缩性——在需要的时候可随时增加服务器,从而扩充云端计算能力;在不需要的时候可自动让多余的机器睡眠,以达到节能减排的目的。
前面讲过,软件是让 CPU 来完成某项任务的步骤,云端是软件运行的场所,因此可以这样说:云端是运行各种软件来完成相应任务的地方。
云端采用的技术与任务的大小有关,大型任务(如核爆模拟、天气预报)和小型任务(如四则运算计算器、文字编辑等)采用的技术明显不同,前者很难用一台物理计算机按时完成任务,所以需要联合多台计算机(称为集群)共同完成任务;而后者占用一台物理计算机就浪费了资源,所以需要对单台物理计算机进行分割(称为虚拟化)。
将单台物理计算机分割成多台虚拟机,每台虚拟机完成一个任务,这意味着一台物理计算机并行执行多个任务。如果一个任务需要由一台物理计算机来完成,那么就直接分配一台物理计算机给此任务,这样的任务就是中型任务。用图 1 所示的坐标可以很好地表示这种关系。
图 1 技术与任务的关系
对一台物理计算机做分割(虚拟出很多更小的计算机),然后给小型任务分配一台虚拟机,从而充分利用资源。虚拟机的大小是由 CPU 速度、内存大小、硬盘容量和每月的网络带宽定义的,当然虚拟机越大,租金就越高。
由一台物理计算机无法完成的大型任务,就要采用多台物理计算机集群在一起组成分布式系统。分布式系统还涉及任务划分与分配、多机协同工作的问题,后面会做进一步阐述。
由于在一篇文章中讲解会导致篇幅太长不利于读者学习,所以我们在后面教程中一一讲述组建云计算中心需要用到的技术:
- 云计算中心应该如何选址?
- 云计算中心如何存储数据?
- 虚拟化技术和容器技术
- VDI(远程桌面)是什么?
- 负载均衡(Load Balance)简介
- 服务器集群(cluster)简介
- 容错计算是什么?
- 家目录(主目录)漫游技术简介
- 云计算租户隔离:给小白的科普文
- 统一身份认证(IDS)是什么?云端如何应用统一身份认证?
- SOA(面向服务的架构)是什么?
- 微服务是什么?微服务的优缺点有哪些?
这些云端技术不一定在所有云端都会采用,一些小型云端(如家庭云、小企业办公云等)根本不需要这么复杂的技术。
云计算中心应该如何选址?
前面教程中我们讲到,延时是网络的一个关键属性,那么对于实时的强交互性软件来说,云端至终端的往返延时应该控制在 100 毫秒之内,否则就会大大降低操作云端软件的用户的体验。
比如编辑一份 Word 文档,输入的文字要过一会儿才能出现在屏幕上,这是谁都接受不了的。目前云化实时强交互性软件的途径有两条:
- 采用网页浏览器(可参考《什么是软件》教程)。
- 在人口密集区建立云端分部,从而降低网络延时。
降低延时的方法就是减少终端与云端的网络路径上的转发节点数目或者提高网络设备的转发速度,但我们不能直接修改广域网的网络,唯一能做的事情就是尽量把云端建在离用户最近的地方,这就是“让计算离用户最近”的原则。这里的“近”不是指地理位置上的近,而是指网络延时小。
比如美国的国际接入中心与中国的广州,地理位置上相距很远,但是网络延时却非常小,因为连通两地的是太平洋海底光缆,中途转发设备极少,几乎没有延时,所以两地相距很“近”。
在中国,较好的布局是:分别在北京、上海、广州、沈阳、南京、武汉、成都、西安人口密集区部署云端分部。这 8 个城市也是组成电信网的核心网部分,国际出口设在北京、上海和广州,所以如果云端要服务全球,最好的地方就是北京、上海、广州三个城市。图 1 所示是中国电信主干网络图。
图 1 中国电信主干网络图
对于一个服务全国的公共云端来说,一个不错的布局方案如下:
- 在北京、上海和广州三地建设存储云,专门存储租户数据,这三个存储云互为备份,以确保数据万无一失。
- 在省会城市分别建设一个中等规模的云端分部,这些云端分部的主要作用是计算,而不是保存数据,数据被保存到存储云。
- 在地级市建设小型云端支部,完成辖区内的计算任务。
- 如有必要,在县级市建设微型云端。
这些云端是各自独立的,没有从属关系,但是它们都与存储云建立联系。在租户登录时,会自动引导其进入最“近”的云端。比如,租户甲平时都在中山,自然是登录中山的云端,当他出差去北京时,就登录到北京的云端。公共云全国布局的示意图如图 2 所示。
图 2 公共云全国布局
这样,各个计算云与存储云之间的数据传输是在后台批量进行的,而计算云与终端之间是前台的、批量的或者实时的。对租户来说,实现了就近计算,从而可以大大降低网络延时。如果有国外租户,则可能还要在国外建立云端。
提醒:云端都应该规划成可伸缩性的——开始运行少量服务器,以后再根据租户数的增加不断增加服务器。
相比于“让计算离用户最近”的原则,目前有一个类似的概念,叫作“内容分发网络”,可以理解为“让内容离用户最近”,全称是 Content Delivery Network,简称为 CDN。用户就近访问网络内容(如网站、流媒体等)有两个好处:一是用户体验好,二是传输成本低。
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
kLt-1715452407228)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐
所有评论(0)