云计算 – 03云计算架构
1. 云计算的本质
云计算的本质:超越硬件算力的局限性,让算力无限升级扩大
1.1 革命性的概念:IT作为服务
IT作为服务:将所有IT资源包装为服务销售
:云计算将所有IT资源包装为服务予以销售,也就是所谓的“IT作为服务”。
绝不可以轻看IT作为服务这个概念。尽管在主机时代就是如此,但IT作为服务这种理念仍然具有颠覆性的特点。
因为我们大部分人已经习惯拥有自己的IT资产,对IT资产由别人拥有这种模式抱有潜意识的抵触情绪。
不过,如果仔细分析这个问题,我们就会发现,IT作为服务是顺理成章的一种自然演变。👍
1.2 云计算系统工程
云计算需要给出一种针对大规模系统的科学管理方法
好的组织需要优秀的管理者,而云计算将大量计算资源组织在一起,共同工作,那么云计算需要给出一种针对大规模系统的科学管理办法。这种方法能够解决资源组织管理过程中的各种问题。
例如:在增加节点、扩大系统规模的同时,还能保证系统性能的近线性提高。在系统可能出问题的情况下,保证系统整体的稳定运行。在面临不同的业务需求时,快速重新组织资源,以新的架构适应变化。这些都要求云计算创新性地将各种技术组织起来,“调和”实现各种功能,即所谓的“系统工程”。
1.3 云数据中心
传统模式数据中心 与 基于集装箱的数据中心
目前,云数据中心的构造主要有两种模式:
一种是传统模式,即建机房、布线、放置机器,然后连接起来。
还有一种数据中心是基于集装箱的数据中心。这种模式由谷歌公司首创,使用集装箱作为机房,每个集装箱里安置有上千台服务器,最多可达2500台,集装箱可以叠起或并排放置,集装箱之间通过线缆连接形成巨大的数据中心。
典型的数据中心:
1.4 云的工作负载模式
模式1:时开时停模式
用户在时开时停这种工作负载模式下使用IT资源的方式不是连续的。使用一段时间,之后停止一段时间,如图3.2所示。在该模式下,如果自己拥有所有的IT资产,则在工作停歇阶段时这些IT资产将处于闲置状态,造成资源浪费。而使用云计算,因为按照用量计费,停歇时段不必付费。而云供应商凭借其巨大的客户群、优良的调度技术,可以将这些闲置资源调度给别的客户使用,避免浪费。用户在这种模式下使用云时需要考虑的一个因素是停歇时段的长度,如果这个长度很短,则使用云计算的价值将下降。如果停歇阶段与使用时段的比值非常低的话,则拥有自己的IT资产可能更加方便。毕竟,从提出请求,到云供应商把资源调度出来并配置好,还是需要一段时间的。对于很多个人用户和小型企业来说,IT 资源的用量基本上呈现时开时停模式。
模式2:用量迅速增长模式
在该工作负载模式下,用户使用IT资源随着时间的推移,用量不断增长,如图3.3所示。这是经营良好的初创公司常见的模式。
在用量迅速增长模式下,若初创公司自己拥有和管理IT资产,需要不断地进行采购、配置和管理。由于采购存在时间上延迟,有可能对业务形成钳制效应,阻碍业务的发展。用户可以提前采购和配置设备以消除资源对业务的钳制效应,但需要付出超前消费的代价。
但是如果使用云计算,用户就可以在无须超前消费的情况下避免资源有限对业务形成的钳制。云供应商凭借其巨大的IT资源池和弹性调配资源的能力,可以随着用户资源用量的增加随时增加资源的供给,提供不间断的资源扩展,从而达到资源的按需供给,为企业扩展提供后勤保障。
模式3:瞬时暴涨模式
在瞬时暴涨模式下,用户平时的一般时段使用资源用量都相对稳定和平均,但会在特定时间点
上出现用量的暴涨和暴跌,如图3.4所示。这种暴涨可能是可以预测的,也可能是不可预测的。如果用户自己拥有和管理IT资产,则很可能在出现需求的突然暴涨时因IT资源不足而导致业务瘫痪。即使在暴涨可以预测的情形下,为了应付需求暴涨,需要购买配置大量的IT资产,而这些资产在平时没有用处,从而形成巨大浪费。如果使用云计算,这个问题将迎刃而解。云供应商的巨大资源池和弹性调配资源的能力可以保证在用量暴涨时迅速增加资源供给,而在之后自动撤出这部分资源。这样,用户既不需要购买大量的设备,又可以在需要时取得所需的资源。目前的电商网站、订票网站等都可能遇到这种用量模式。
模式4:周期性增减模式
在周期性增减模式下,用户的IT资产用量呈现周期性的增长和消减,如图3.5所示。在此种负载模式下,如果用户自己拥有IT资源,则不可避免地陷入资源浪费或业务丢失的困境。如果按照波峰配置资源,则在波谷时段将出现大量的资源闲置和浪费;如果按照平均用量配置资源,则波峰时段的业务将丢失,而这又可能导致客户的流失。
如果使用云计算,则问题将迎刃而解。云计算的资源弹性调配可以让用户随时获得资源。对于周期性的资源用量变动,用户还可以利用云环境所提供的自动伸缩能力来预先调配。
上述4种负载覆盖了绝大部分的 IT用量模式。 而对于那些极少数不符合这些用量模式的用户,云计算也照样适用。
例如,对于用量处于恒定状态的用户来说,也可以使用云供应商的资源。只是使用云计算的主要优势已经不是资源的利用率问题,而是其他诸如可用性、可靠性和设备的升级等问题。
负载均衡SLB(Server Load Balancer)
定义:是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。
1.5 云计算的规模效应
按需使用,根据业务量的需求大小,灵活调整IT资源
云计算的规模效应让用户使用IT资源的门槛大为降低。用户无须制定长期投资。如果有更多的客户,则购买更多的处理能力和存储容量,支付更多的费用;
如果业务有所下降,则购买较少的处理能力和存储容量,这样支付的费用将降低。云计算平台可以真正达到24小时/7天×/365天运转。
根据业务量的需求大小,灵活调整IT资源。
2. 云计算的架构
云计算架构:即云计算的体系结构
2.1 计算架构的进化
计算机出现后,计算机的软硬件都经历了长时间的演变,其中计算范式过从中央集权计算(主机计算)到客户机服务器计算,再到浏览器服务器计算,再到混合计算模式。不同的计算范式对应的是不同的计算架构,而每一种计算架构都与其所在的历史时期相符合。
1. 中央集权架构
资源集中在一台大型机上
中央集权架构对应的是中央集权计算范式。在这种架构下,所有的计算及计算资源、业务逻辑都集中于一台大型机或者主机,用户使用一台仅有输入和输出能力的显示终端与主机连接来进行交互。
2. 客户机/服务器(C/S)架构
计算任务由单一主机迁移到客户端
客户机/服务器(C/S)架构对应的是同名计算范式。
计算任务从单一主机部分迁移到客户端。客户端承载少量的计算任务和所有的I/O任务,服务器承载主要的计算任务。
客户机在执行任务前先与主机进行连接,并在活跃的整个期间内保持与主机的持续连接。通常情况下,客户机通过远程过程调用来使用服务器上的功能和服务。
3. 中间层架构
业务逻辑和数据服务分别放在两个服务器上
中间层架构对应的是多层客户机/服务器计算范式。
它是在对客户机/服务器架构改进而产生的,其目的是简化和提升伸缩能力。
所采用的方法是将业务逻辑和数据服务分别放在两个服务器上,客户机与中间服务器连接,中间层与数据服务层连接,客户机对数据的访问由中间层代理完成。图 3.10所示是中间层架构的示意图。
4. 浏览器/服务器(B/S)架构
对客户机和中间层改动后的中间层计算架构的扩展
浏览器/服务器架构对应的是浏览器/服务器计算范式。
这种架构是对客户机和中间层的内涵进行改动后的中间层计算架构的扩展。对中间层的改动体现在中间层和客户机之间增加了一层Web服务器层,Web服务器可以将中间件的各种差异屏蔽掉,提供一种通用的用户访问界面。对客户机的改动则体现在负载的进一步缩减,从承载部分计算任务改变为只显示和运行一些基于浏览器的脚本程序的状态。
5. C/S与B/S混合架构
C/S与B/S混合架构对应的是混合计算范式。
在应用的发展中,没有一种计算范式适合所有的场景,没有一种计算架构适合所有的应用。故而衍生出了C/S与B/S混合架构,即客户机服务器和浏览器服务器两种架构并存的一种计算架构。
6. 面向服务的架构
在面向服务的计算架构下,每个程序做本职任务,同时将服务暴露出来提供给其他程序使用,多个程序通过一个统一的(服务请求)界面协调工作。相对于单一系统来说,此种系统能够将复杂性限制在可控范围内,从而让整个系统的管理更加容易。
2.2 云计算架构的分层
比较公认的云架构(基于面向服务)是划分为:基础设施层、平台层和软件服务层三个层次的。对应名称为IaaS,PaaS和SaaS。
- IaaS, Infrastructure as a Service,基础设施即服务
- PaaS, Platform as a Service,平台即服务
- SaaS,Software as a Service,软件即服务
2.3 架构的对比
https://blog.csdn.net/weixin_45817392/article/details/121193412
2.4 一般云计算架构的二维视角
云计算架构的前端、后端
从不同的角度来看,云计算架构的复杂性有一定的差异性。在最易于理解的二维视角下,云计算架构由两个部分组成:前端和后端。
前端是呈现给客户或计算机用户的部分,包括客户的计算机网络和用户用来访问云应用程序的界面如Web浏览器;
后端则是我们常说的“云”由各种组件(如服务器、数据存储设备、云管理软件等)构成。
3. 云应用程序的结构
3.1 云栈和云体
1. 云栈
在云上建造的运行环境
云栈又称云平台,是在云上面建造的运行环境。它能够支持应用程序的发布、运行、监控、调度、伸缩,并为应用程序提供辅助服务的机制,如访问控制和权限管理等。如微软的Windows Azure、谷歌的App Engine、VMWare的Cloud Foundry都是云平台。
在云栈里,每一层都提供一种抽象。最下面的是物理硬件层,之后每往上一层,其离物理现实的距离就更远一些,易用性就会增加一分。每一层用来实现抽象的手段都是某种或某几种服务,也称为功能。如果两个服务处于等价的抽象层,则属于云栈里的同一层。
云计算的纵向云栈架构(左)和传统计算机系统结构(右)
云平台的计算环境
2. 云体
云体可以认为是数据中心
云体是云计算的物质基础,是云计算所用到的资源集合。它是构成云计算的软硬件环境,如网络、服务器、存储器、交换机等,通过网络连接在一起。
广义的云体也可以包括数据中心及其辅助设施如电力、空调、机架、冷却等系统。
鉴于当前的云计算都是基于数据中心来进行,云体就是数据中心。
3.2 数据中心的历史
数据中心(Data Center)是数据集中存储、计算、交换的中心。从硬件角度考虑,它给人最直观的印象就是计算设备运作的环境。故而数据中心的发展是与计算机(包括分化出的存储和网络设备)的发展紧密联系在一起的。
进入21世纪,互联网成为社会发展的主角,数据中心从技术发展到运行规模,都经历了前所未有的发展高潮。几乎所有的公司都需要高速的网络与Internet相连,公司的运营对于IT。互联网数据中心IDC(Internet Data Center)就应运而生了,这是第一次出现以运营数据中心为主要业务的公司。由于竞争的需要,IDC竞相采用最新的计算机,采购最快速的网络连接设备和存储设备,应用最新的IT管理软件和管理流程,力图使自己的数据中心能吸引更多的互联网用户。
数据中心的发展
继续发展的推动力
存储需求增长的太快
尽管数据中心发展完善,管理模式也很成熟,但对于数据中心系统管理员来说,传统模式的数据中心仍然存在着许多问题。
1.过多的机器
2.机器的利用率过低
3.应用迁移太困难
4.存储需求增长得太快
3.3 接口与标准
3.4 云、云计算、云服务、云存储、云平台之间的区别和联系
云服务 = 云平台,云服务 = 云计算+云存储
云是将服务器虚拟化,形成虚拟资源池,相比于以前的物理机更加节省资源成本,便于管理。云是计算、存储、网路资源池化的概念。
我们每天使用的搜索引擎、邮箱、网盘,就是很标准的云,而这大多都是免费的。
云是对互联网的升级,意味着互联网并不仅仅是存储数据,而是为你提供某种服务。
云计算、云存储、云服务、云平台等就是利用云通过一堆机器经过网络组合到一起的不同形式,是云下面的子概念。
总的来说就是,云服务=云平台,云服务=云计算+云存储!
3.5 一切皆为服务
IT即服务
无论是横向云体架构还是纵向云栈架构;无论是三层结构、四层结构,还是五层结构;无论是公有云、私有云,还是混合云或其他云;更无论是用量暴增、是周期性增减,还是用量稳定增长,都不能改变云计算的本质——服务。如果用一个短语来描述云计算,那就是:IT即服务。
云计算的本质就是IT作为服务涵盖了基础设施即服务、平台即服务、软件即服务或任何X即服务。在这种情况下,用户原来需要承担的IT资产采购、配置、运维的责任几乎全部转移到了各种服务供应商身上,从而可以轻装上阵,专注于自己的核心业务,不用为自己并不擅长的后勤花费巨大的人力和物力。
4. 实践 : OpenStack
4.1 初识OpenStack
提供云计算服务
OpenStack提供了一个通用的平台来控制云计算里面的计算(服务器)、存储和网络,甚至应用资源。
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。它的主要任务是给用户提供IaaS服务。
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。
OpenStack可以通过基于Web的界面、命令行工具(CLI)和应用程序接口(API)来进行管理。
这个管理平台不仅能管理这些资源,而且它不需要用户去选择特定硬件或者软件厂商。厂商特定组件可以方便地被替换成通用组件,OpenStack为IT业界各类从业人员创造了价值。
工作在IaaS这个层面的一套软件,是云计算的操作系统!
OpenStack是为云计算服务的,更确切地说,它是工作在IaaS这个层面的一套软件。我们知道,IaaS全称是“基础设施及服务”,目的是为用户灵活的提供各种资源,从而满足客户的需求。所谓的基础设施,主要就是计算,存储和网络三类资源。
那为什么需要OpenStack呢?云计算的思想是将所有的资源“池”化,也即是说,不管你有多少台服务器,多少个硬盘,我先把它们做成池子,然后再灵活地分配给不同的用户。那么具体谁来做池子,做完池子以后怎么分配给用户,这就是OpenStack做的事情。
OpenStack就好比电脑的操作系统,每个应用占用多少CPU,占用多少内存,由操作系统来分配。
OpenStack就是云计算的操作系统。
OpenStack的结构
用户可以做什么?
在OpenStack云平台上,用户可以做到以下几个方面。
充分利用物理服务器、虚拟服务器、网络和存储系统资源;
通过租户、配额和用户角色高效管理云资源;
提供一个对底层实现透明的通用的资源控制接口。
计算抽象的层次
OpenStack的组件介绍
4.2 体验使用OpenStack
用户可以通过DevStack与一个小规模(更大规模部署的代表)的OpenStack交互,不需要深入了解OpenStack,也不需要大量硬件,就可以在一个小规模范围内通过DevStack来体验OpenStack。可以快速部署这些组件,来评估在生产用例中的使用。DevStack可以帮助用户在一个单服务器环境中部署与大规模多服务器环境中一样的OpenStack组件。
OpenStack的相关组件
4.3 动手实践
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
任务:通过OpenStack的官方网站全面了解OpenStack作为一个开源项目的情况。
任务:通过DevStack工具来安装并体验OpenStack。
今天的文章云计算基础架构及关键应用_云计算关键技术有哪些「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85610.html