云计算术语大全

1 基本概念

1.1 云计算

云计算诞生之初,市场上对它的定义有很多种。美国标准与技术研究院的定义是把云计算定义为一种模式,而不是一种技术。这种模式既可以是商业模式,也可以是服务模式。

云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络服务(即随时随地接入可接入),进入可配置的计算资源共享池(包括:网络、服务器、存储、应用软件、服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。(美国国家标准与技术研究院)

云计算通过互联网将计算和存储资源进行集中和共享,为用户提供各种计算服务、存储服务、应用服务等等。云计算可以分为三种服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。IaaS提供基础设施服务,如计算和存储资源;PaaS提供平台服务,如开发工具和中间件;SaaS提供软件服务,如企业应用和在线服务。云计算的有五个关键特征:

  • 按需自助服务(On-demand Self-service):云计算实现了计算机资源的按需自助服务。用户结合自身的需求,通过操作管理平台就能获得计算资源,无需云计算平台服务人员介入。这种方便快捷的自助方式,极大的节省了人力成本,提高办公效率。

  • 无处不在的网络接入(Broad Network Access):云计算实现了广泛网络接入。用户可以在全球各地7x24小时的使用IT服务,极大的提升了用户工作的灵活性和效率。

  • 与位置无关的资源池(Locations independent resources pooling):云计算实现了资源池化,通过资源池里给用户提供资源,这些资源包括网络、服务器、存储、应用及服务等。

  • 快速弹性(Rapid Elastic):云计算实现了快速供应和释放资源,当用户需要的时候能快速的供应;当用户不用的时候,快速释放资源。

  • 按使用付费(Pay per User):云计算提供可计量的服务,计费依据就是所使用的资源可计量。计量越精细,运营效率越高。比如按使用小时为时间单位,以服务器CPU个数、占用存储的空间、网络的带宽等综合计费,也可以包时、包天、包月套餐模式进行计量。

1.2 云原生

要了解“云原生(Cloud-Native)”的定义,先说说“原生”。对人类而言,原生表示出生地、本地;对于动物而言,表示原生栖息地、成长环境。“云原生”就是面向云计算环境设计的应用。

看看亚马逊AWS对“云原生 ”的定义:

云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代企业希望构建高度可扩展、灵活且具有弹性的应用程序,可以快速更新以满足客户需求。为此,他们使用现代工具和技术,这些工具和技术本质上支持云基础设施上的应用程序开发。这些云原生技术支持快速、频繁地更改应用程序,而不会影响服务交付,从而为采用者提供了创新的竞争优势。

云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生 由 Cloud 和 Native构成,Cloud 表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳模式运行,充分利用和发挥云平台的弹性、分布式优势。

云原生应用程序由多个微服务。传统上,开发人员使用包含所有必需功能的单块结构构建整体式应用程序。通过使用云原生方法,软件开发人员将功能分解为更小的微服务。这使得云原生应用程序更加敏捷,因为这些微服务可以独立工作,并且只需极少的计算资源即可运行。

云原生应用程序充分利用云交付模式的特性,借助云的弹性、规模、复原力与灵活性,帮助企业更快速、更敏捷地迁移。云原生应用程序采用微服务架构而构建,可以在不影响服务交付的前提下,快速且频繁地更新应用程序,助力企业获得竞争优势。

云原生应用程序包含多项关键技术:

  • 微服务:云原生应用程序的基本构成要素。这些可重复使用的程序松散地结合在一起,可以集成到任何云环境中。各项微服务协同工作,确保应用程序顺畅运行,但每项微服务都能独立扩展且持续迭代优化,令云原生应用程序的开发过程更迅捷、更灵活。微服务通常部署在容器中。
  • 容器:汇集了应用程序的所有依赖关系,例如源代码、操作系统以及各种库,使应用程序代码能在任何环境中运行。即使各个云原生应用程序依赖于互不相同的操作系统,容器仍能让它们在同一台服务器上同时运行。
  • API:API是资源的集合,方便应用程序与另一个应用程序进行通信和集成。
  • 动态编排:简化容器生命周期管理、资源管理、负载平衡、内部故障后的重启安排以及服务器群集节点配置。
  • 服务网格:服务网格是一种软件层,用于管理多个微服务之间的通信,在应用程序之间路由流量。
  • 后端服务:包括消息代理、数据存储、安全服务以及监控功能等资源。
  • 自动化:支持快速配置云环境功能与更新,在不干扰用户体验的情况下缩短发布和优化时间。

云原生应用程序的多次迭代管理起来十分复杂,可能会令开发团队不堪重负。从传统应用程序迁移到基于微服务和容器构建的应用程序,可能造成相互依赖性或应用程序功能方面的复杂问题。

1.3 边缘计算

边缘计算指的是在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端。

边缘计算的概念是建立在云计算的基础上的。边缘节点是边缘计算的重要组成部分,指的是在数据产生源头和云中心之间任一具有计算资源和网络资源的节点。比如,手机就是人与云中心之间的边缘节点,网关是智能家居和云中心之间的边缘结点。在理想环境中,边缘计算指的就是在数据产生源附近分析、处理数据,没有数据的流转,进而减少网络流量和响应时间。

2 基本组件

2.1 计算

2.1.1 云服务器

云服务器ECS(Elastic Compute Service)是稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别的云计算服务。ECS免去了采购IT硬件的前期准备,可以便捷高效的使用服务器,实现计算资源即开即用和弹性伸缩。

ECS可以提供自动化服务器迁移的能力,能够一键完成资源的交付与部署,同时根据业务和负载变化趋势,设定动态扩容,实现成本最优的稳定算力,通过统一的身份与权限管理能力,实现精细化鉴权。在运维方面,ECS也会配有免托管的工具箱,配备实例诊断工具,能够实现操作可审计可追溯。

  • 实例(Instance):虚拟的计算环境,由CPU、内存、系统盘和运行的操作系统组成;ECS实例作为云服务器最为核心的概念,其他资源,比如磁盘、IP、镜像、快照等,只有与ECS结合后才具有使用意义。
  • 地域(Region):指ECS实例所在的物理位置。地域内的ECS实例内网是互通的,不同的地域之间ECS实例内网不互通。
  • 可用区(Zone):指在同一地域内,电力和网络互相独立的物理区域。
  • 磁盘(Disk):是为ECS实例提供数据块级别的数据存储。可以分为4类: 普通云盘、SSD云盘、高效云盘和本地SSD磁盘
  • 快照(Snapshot):是某一个时间点上某个磁盘的数据拷贝。
  • 镜像(Image):是ECS实例运行环境的模板,一般包括操作系统和预装的软件。
  • 安全组(Security Group):是一种虚拟防火墙,具备状态检测包过滤功能。每个实例至少属于一个安全组。同一个安全组内的实例之间网络互通,不同安全组的实例之间默认内网不通,但是可以授权两个安全组之间互访。

2.2.3 裸金属服务器

裸金属服务器是云服务提供商租给用户的专属的物理服务器,用户是唯一的租户。裸金属服务器不仅限于物理服务器,而是物理服务器和云服务的结合。它不包括相应的操作系统和软件,由客户自选配置。

大部分云服务提供商的裸金属服务器产品,不提供本地硬盘,主要提供CPU和内存。云服务商他们会推荐用户使用云盘,采用镜像快速装机。如果采用传统装机方式,交付时间太慢。裸金属服务器可以无缝对接和兼容云厂商的其它云服务,例如网络服务、云数据库等。这样一来,裸金属服务器与用户已有的虚拟化服务器进行互通和协同,能够有效利用云资源。

为什么有了云服务器,还有“开倒车”提供物理服务器呢?原因有两点:

  • 云服务器采用虚拟化硬件提供运算,有一定的性能损耗,处理IO密集的任务,性能损失更大。
  • 云服务器的多用户共享资源,虚拟化虽然承诺了资源配额,当个别用户突发高负载的时候,依然会影响到其他用户的性能。

裸金属服务器有哪些用户呢?

裸金属服务器具有资源独占的特性,它适合对安全隔离要求较高的场景,例如银行、金融、证券等行业。这些行业对业务部署有合规要求,不允许与别人合租,数据在物理上必须隔离。所以,他们是裸金属服务器的首要客户。

裸金属服务器满足对性能有极致要求的行业,例如超级计算、航空航天等科学研究场景,他们要处理的数据量空前巨大,对计算过程的稳定性要求也很高,更青睐裸金属服务器。

2.2.4 函数计算

函数计算是一种基于事件驱动的全托管计算服务,可让用户使用通过事件触发自动执行代码。它处理流程简化,更快速、高效、安全,同时无需租用或购买任何服务器,也无需理解负载均衡、弹性伸缩等复杂的系统管理概念。

函数计算适用于各种不同的应用场景,其中一些典型的例子包括:

  • Restful风格的 Web 服务: 函数计算是一种轻量级的方法调用包装器, 非常适合使用 RESTful API 的应用,简单易用。
  • 数字化转型和云迁移:某些企业可能有复杂的本地业务系统,通过将其作为函数的一部分迁移到阿里云上,可以实现更灵活、更高效的处理方式,并降低技术债务。
  • 物联网(IoT)应用程序:函数计算轻巧,无需升级或维护硬件,适合处理 IoT 数据流。

2.2 网络

2.3.1 CDN、全站加速、PCDN

  • CDN(content delivery network)

CDN 是一组分布在不同地理位置的服务器,它将数据存放在更靠近用户的位置,加速交付内容给用户。CDN 不是新概念,随着互联网开始提供图片、视频等视听内容,CDN 服务便应运而生,有效解决了静态资源的网络拥塞问题。

CDN将文件副本临时存储在全球多个数据中心内,让用户从就近的服务器访问互联网内容,可以缩短页面加载时间,实现更快的高性能 Web 体验。可以把 CDN 想象成取款机,如果城市里只有一台取款机,离得远的用户花费很多时间找到那台机器 。如果每个街角都有一台取款机,用户就近取款就好了,方便快捷。

  • 全站加速

CDN主要缓存静态资源,而全站加速适用于各行业动静态内容混合,含较多动态资源请求(如asp、jsp、php等格式的文件)的网站。用户请求资源时,静态内容从边缘节点就近获取,动态内容通过动态加速技术智能选择较优路由回源获取。全站加速有效提升动态页面的加载速度,避开网络拥堵路由,提高访问成功率,实现网站整体加速与实时优化。

  • PCDN(P2P CDN)

P2P内容分发网络(P2P CDN)是以P2P技术为基础,通过挖掘利用电信边缘网络海量碎片化闲置资源而构建的低成本高品质内容分发网络服务。客户通过集成PCDN SDK(以下简称SDK)接入该服务后能获得等同或略高于CDN的分发质量,同时显著降低分发成本。适用于视频点播、直播和大文件下载等业务场景。

2.3.2 弹性负载均衡器

每年促销活动的时候,各大电商网站流量激增,服务器可能无法满足成增长的访客,频繁崩溃。负载均衡器( Load Balance)是一个智慧型的调度员,可以按照既定的规则分发流量,确保每台服务器承担合理的负载,保障业务平稳运行。弹性负载均衡器(Elastic Load Balance)是在负载均衡器的基础上,自动化监测后端服务器的健康状态,提升应用系统的可用性。

弹性负载均衡由以下3部分组成:

  • 负载均衡器:接受来自客户端的传入流量并将请求转发到一个或多个可用区中的后端服务器。
  • 监听器:您可以向您的弹性负载均衡器添加一个或多个监听器。监听器使用您配置的协议和端口检查来自客户端的连接请求,并根据您定义的分配策略和转发策略将请求转发到一个后端服务器组里的后端服务器。
  • 后端服务器:每个监听器会绑定一个后端服务器组,后端服务器组中可以添加一个或多个后端服务器。后端服务器组使用您指定的协议和端口号将请求转发到一个或多个后端服务器。

当后端某台服务器健康检查出现异常时,弹性负载均衡会自动将新的请求分发到其它健康检查正常的后端服务器上;而当该后端服务器恢复正常运行时,弹性负载均衡会将其自动恢复到弹性负载均衡服务中。

2.3.3 专有网络

专有网络(Virtual Private Cloud)是云上私有网络。用户完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等,可以在自己定义的专有网络中使用云资源,如云服务器ECS(Elastic Compute Service)、云数据库RDS(Relational Database Service)和负载均衡SLB等。可以通过高速通道将专有网络连接到本地网络,形成一个按需定制的网络环境,实现应用的平滑迁移上云和对数据中心的扩展。

VPC 的应用场景有四个:

  • 安全部署应用程序:将对外提供服务的应用程序部署在VPC中,创建安全组规则、访问控制白名单等方式控制互联网访问。您也可以在应用程序服务器和数据库之间进行访问控制隔离,将Web服务器部署在能够进行公网访问的子网中,将应用程序的数据库部署在没有配置公网访问的子网中。

  • 部署主动访问公网的应用程序:将需要主动访问公网的应用程序部署在VPC中的一个子网内,通过公网NAT网关路由其流量。通过配置SNAT规则,子网中的实例无需暴露其私网IP地址即可访问互联网,并可随时替换公网IP,避免被外界攻击。

  • 跨可用区容灾:创建交换机为VPC划分一个或多个子网。同一VPC内不同交换机之间内网互通。通过将资源部署在不同可用区的交换机中,实现跨可用区容灾。

  • 业务系统隔离:如果有多个业务系统例如生产环境和测试环境要严格进行隔离,可以使用多个VPC进行业务隔离。

专有网络包含交换机、网关和控制器三个重要的组件。交换机和网关组成了数据通路的关键路径,控制器使用自研协议下发转发表到网关和交换机,完成了配置通路的关键路径。配置通路和数据通路互相分离。VPC中的交换机是分布式的节点,网关和控制器都是集群部署且多机房互备,所有链路上都具备冗余容灾,提升了VPC的整体可用性。

2.3.3 弹性网卡

弹性网卡(Elastic Network Interface,ENI)是绑定私有网络(Virtual Private Cloud,VPC)内云服务器的一种弹性网络接口,可在多个云服务器间自由迁移。弹性网卡对配置管理网络与搭建高可靠网络方案有较大帮助。您可以在云服务器上绑定同一可用区下的多个弹性网卡,实现高可用网络方案;也可以在弹性网卡上绑定多个内网 IP,实现单主机多 IP 部署。

2.3.4 弹性公网 IP

弹性公网 IP (Elastic IP Address)是可以独立购买和持有的公网IP地址资源。目前,EIP支持绑定到专有网络类型的云服务器 ECS(Elastic Compute Service)实例、辅助弹性网卡、负载均衡 SLB(Server Load Balancer)实例、NAT 网关(NAT Gateway)和高可用虚拟IP上。

EIP是一种NAT IP,它实际位于阿里云的公网网关上,通过NAT方式映射到被绑定的云资源上。当EIP和云资源绑定后,云资源可以通过EIP与公网通信。

2.3 存储

2.2.1 对象存储

对象存储服务(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。

OSS由四个部分组成:

  • 存储空间(Bucket)

存储空间是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。

  • 对象(Object)

对象是OSS存储数据的基本单元,也被称为OSS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。对象由元数据(Object Meta)、用户数据(Data)和文件名(Key)组成,并且由存储空间内部唯一的Key来标识。对象元数据是一组键值对,表示了对象的一些属性,例如文件类型、编码方式等信息,同时用户也可以在元数据中存储一些自定义的信息。

对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除使用追加方式上传的Object可以通过继续追加上传写入数据外,使用其他方式上传的Object内容无法编辑,您可以通过重复上传同名的对象来覆盖之前的对象。

  • ObjeckKey

ObjectKey表示上传的Object所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为 abc/efg/123.jpg

OSS具有与平台无关的RESTful API接口,用户可以在任意应用存储和访问任意类型的数据,主要用于移动应用或者大型网站的图片、音视频存储。

2.2.1 文件存储

文件存储(Cloud File Storage,CFS)提供了可扩展的共享文件存储服务,可与云服务器搭配使用。CFS 提供了标准的 NFS 文件系统访问协议,为多个云服务器实例提供共享的数据源,支持弹性容量和性能的扩展,现有应用无需修改即可挂载使用,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理和内容管理等场景。

下面看看CFS与OSS的区别:

对比项 OSS 文件系统(CFS)
数据模型 OSS是一个分布式的对象存储服务,提供的是一个Key-Value对形式的对象存储服务。 文件系统是一种典型的树状索引结构。
数据获取 根据Object的名称(Key)唯一的获取该Object的内容。虽然您可以使用类似test1/test.jpg的名称,但是这并不表示Object是保存在test1目录下。对于OSS来说,test1/test.jpg仅仅只是一个字符串,与example.jpg并没有本质的区别。因此不同名称的Object之间的访问消耗的资源是类似的。 一个名为test1/test.jpg的文件,访问过程需要先访问到test1目录,然后再在该目录下查找名为test.jpg的文件。
优势 支持海量的用户并发访问。 支持文件的修改,例如修改指定偏移位置的内容、截断文件尾部等。也支持文件夹的操作,例如重命名目录、删除目录、移动目录等非常容易。
劣势 OSS保存的Object不支持修改(追加写Object需要调用特定的接口,生成的Object也和正常上传的Object类型上有差别)。用户即使只需要修改一个字节也需要重新上传整个Object。 受限于单个设备的性能。访问越深的目录消耗的资源也越大,操作拥有很多文件的目录也会非常慢。

2.4 数据库

2.1.2 云数据库

云数据库通常指云计算厂商提供的云端数据库实例,比如MySQL、SQL Server、PostgreSQL、Redis 、MongoDB等等。除了基本数据库功能,还包括数据备份、恢复、扩容、性能监控、故障切换等。用户只需要关注业务逻辑,无需关心底层数据库的维护和管理。云数据库的特点如下:

  • 全托管式服务,用户无需关心底层数据库的维护和管理。
  • 支持多种数据库引擎和版本,满足不同场景的需求。
  • 支持多种规格的数据库实例,满足不同的业务需求。
  • 提供高可用、自动备份、安全防护等功能,保障用户数据库的安全性、可靠性和高可用性。
  • 具有灵活的扩容能力,用户可以根据业务需求随时调整数据库实例的规格和容量。
  • 提供多种监控和诊断工具,帮助用户快速发现和解决问题。

2.1.2 云原生数据库

云原生数据库是通过云平台进行构建、部署和分发的数据库服务,具备了传统数据库所不具备的直接访问性和运行时可伸缩性。

  • 普遍可访问和高可用性:云原生数据库是完全存在于云上的,可以随时随地的从多前端访问,提供云服务的计算节点。因其集群部署在云上,所以单点失败对服务的影响特别小。而且当需要升级或更换服务的时候,可以对节点进行不中断服务的逐渐升级。

  • 高扩展性与可迁移性:云原生数据库会与底层的云计算基础设施分离,能够灵活及时的调动资源进行扩容和缩容,以从容应对流量激增可能带来的压力,以及流量低谷期因资源过剩造成的浪费。也正是因为能够灵活扩缩容,云原生数据库也具备很强的可迁移性,甚至可以粗暴的在新的位置扩容100%又在旧的位置缩容全部的50%。

  • 演进式设计与快速迭代:云原生数据库中的各项服务之间是相互独立的,个别服务的更新并不会对其他部分产生不利影响,而不是一旦出了问题就只能全场熄火。此外,云原生的研发测试和运维工具是高度自动化的,这使得应用的更新会更加快速频繁。

云原生数据库与普通云数据库之间的主要区别在于设计理念、架构和技术栈。

  • 设计理念和架构:云原生数据库专为云环境设计,采用微服务架构和容器化技术,强调应用程序的可扩展性和高度自动化,而普通云数据库通常指的是部署在云基础设施上的传统关系型数据库,如MySQL、PostgreSQL等,这些数据库具备数据持久化存储、高可用性和可扩展性等特点,但与应用程序的解耦程度相对较低。
  • 技术栈:云原生数据库的技术栈主要包括容器化技术、编排工具、微服务架构等,而普通云数据库的技术栈主要包括数据库管理系统、查询语言等。
  • 弹性扩展和资源管理:云原生数据库具有更好的弹性伸缩能力和资源管理,能够根据业务需求动态扩展或缩减资源,而普通云数据库在这方面的扩展性和灵活性相对较弱。
  • 数据安全和管理:云原生数据库提供了更好的数据安全性和可靠性保障,采用安全协议、访问控制和加密技术等多重保护手段,确保数据的安全性和隐私性,而普通云数据库虽然也提供数据安全功能,但在数据加密和隔离方面可能不如云原生数据库。
  • 开发和部署方式:云原生数据库更注重应用程序的开发和部署方式,提供高度自动化和弹性的应用管理,而普通云数据库则更侧重于数据库的管理和查询功能。

参考

https://cloud.tencent.com/document/product/576
https://help.aliyun.com/zh/oss/product-overview/comparison-between-oss-and-traditional-file-systems
https://zhuanlan.zhihu.com/p/55269466
https://baijiahao.baidu.com/s?id=1726629126785444048
https://developer.aliyun.com/article/936965
https://zhuanlan.zhihu.com/p/434193271
https://developer.aliyun.com/article/1243486
https://cloud.tencent.com/document/product/1199
https://juejin.cn/post/6844904197859590151
https://cloud.tencent.com/document/product/1556/68603
https://help.aliyun.com/zh/polardb/polardb-for-postgresql/benefits?spm=a2c4g.11186623.0.0.63556128BCbcZy