云计算基础架构
云计算不仅是技术,更是服务模式的创新。云计算之所以能够为用户带来更高的效率、灵活性和可扩展性,是基于对整个IT领域的变革,其技术和应用涉及硬件系统、软件系统、应用系统、运维管理、服务模式等各个方面。
IaaS(基础架构即服务)作为云计算的三大部分之一,将基础架构进行云化,从而更好的为应用系统的上线、部署和运维提供支撑,提升效率,降低 TCO。同时,由于IaaS包含各种类型的硬件和软件系统,因此在向云迁移过程中也面临前所未有的复杂性和挑战。那么,云基础架构包含哪些组件主要面临 哪些问题有哪些主要的解决方法呢
一、云基础架构
如图1所示,传统的IT部署架构是“烟囱式”的,或者叫做“专机专用”系统。
在这种架构中,新的应用系统上线的时候需要分析该应用系统的资源需求,确定基础架构所需的计算、存储、网络等设备规格和数量,这种部署模式主要存在的问题有以下两点:
硬件高配低用。考虑到应用系统未来3~5年的业务发展,以及业务突发的需求,为满足应用系统的性能、容量承载需求,往往在选择计算、存储和网络 等硬件设备的配置时会留有一定比例的余量。但硬件资源上线后,应用系统在一定时间内的负载并不会太高,使得较高配置的硬件设备利用率不高。
整合困难。用户在实际使用中也注意到了资源利用率不高的情形,当需要上线新的应用系统时,会优先考虑部署在既有的基础架构上。但因为不同的应用 系统所需的运行环境、对资源的抢占会有很大的差异,更重要的是考虑到可靠性、稳定性、运维管理问题,将新、旧应用系统整合在一套基础架构上的难度非常大, 更多的用户往往选择新增与应用系统配套的计算、存储和网络等硬件设备。
这种部署模式,造成了每套硬件与所承载应用系统的“专机专用”,多套硬件和应用系统构成了“烟囱式”部署架构,使得整体资源利用率不高,占用过多的机房空间和能源,随着应用系统的增多,IT资源的效率、扩展性、可管理性都面临很大的挑战。
云基础架构的引入有效解决了传统基础架构的问题(如图2所示)。
云基础架构在传统基础架构计算、存储、网络硬件层的基础上,增加了虚拟化层、云层:
虚拟化层:大多数云基础架构都广泛采用虚拟化技术,包括计算虚拟化、存储虚拟化、网络虚拟化等。通过虚拟化层,屏蔽了硬件层自身的差异和复杂度,向上呈现为标准化、可灵活扩展和收缩、弹性的虚拟化资源池;
云层:对资源池进行调配、组合,根据应用系统的需要自动生成、扩展所需的硬件资源,将更多的应用系统通过流程化、自动化部署和管理,提升IT效率。
相对于传统基础架构,云基础架构通过虚拟化整合与自动化,应用系统共享基础架构资源池,实现高利用率、高可用性、低成本、低能耗,并且通过云平台层的自动化管理,实现快速部署、易于扩展、智能管理,帮助用户构建IaaS(基础架构即服务)云业务模式。
二、云基础架构融合
云基础架构资源池使得计算、存储、网络以及对应虚拟化单个产品和技术本身不再是核心,重要的是这些资源的整合,形成一个有机的、可灵活调度和扩展的资源池,面向云应用实现自动化的部署、监控、管理和运维。
云基础架构资源的整合,对计算、存储、网络虚拟化提出了新的挑战,并带动了一系列网络、虚拟化技术的变革。传统模式下,服务器、网络和存储是基 于物理设备连接的,因此,针对服务器、存储的访问控制、QoS带宽、流量监控等策略基于物理端口进行部署,管理界面清晰,并且设备及对应的策略是静态、固 定的。云基础架构模式下,服务器、网络、存储、安全采用了虚拟化技术,资源池使得设备及对应的策略是动态变化的(如图3所示)。
由于部署了虚拟化,一台独立的物理服务器变成了多个虚拟机,并且这些虚拟机是动态的,随着应用系统、数据中心环境的变化而迁移、增加、减少。例 如图3中的Server1,由于某种原因(例如Server1负载过高),其中的某个虚拟机VM1迁移到同一集群中的Server2。此时如果要保持 VM1的业务访问不会中断,需要实现VM1的访问策略能够从Port1随着迁移到Port2,这就需要交换机能够感知到虚拟机的状态变化,并自动更新迁移 前后端口上的策略。
这是一种简单的计算虚拟化与网络融合联动的例子。最新的EVB(以太网虚拟桥接)标准VEPA(虚拟以太网端口聚合,8021Qbg)即是实 现这种融合联动方案的技术标准,其包括了VDP虚拟机发现和关联、CDCP 虚拟机多通道转发等协议,通过标准化的主机与网络之间虚拟化信息的关联控制,实现虚拟化环境向物理环境的映射,使得虚拟机的服务变更可以通过网络的感知来 自动化响应。
事实上,云基础架构融合的关键在于网络。目前计算虚拟化、存储虚拟化的技术已经相对成熟并自成体系,但就整个IT基础架构来说,网络是将计算资 源池、存储资源池、用户连接组一起的纽带,只有网络能够充分感知到计算资源池、存储资源池和用户访问的动态变化,才能进行动态响应,维护网络连通性的同 时,保障网络策略的一致性。否则,通过人工干预和手工配置,会大大降低云基础架构的灵活性、可扩展性和可管理性。
三、云基础架构融合方案
如图4所示,云基础架构分为三个层次的融合。
硬件层的融合
例如上文提到的VEPA技术和方案,则是将计算虚拟化与网络设备和网络虚拟化进行融合,实现虚拟机与虚拟网络之间的关联。此外,还有FCoE技术和方案,将存储与网络进行融合;以及横向虚拟化、纵向虚拟化实现网络设备自身的融合。
业务层的融合
典型的方案是云安全解决方案。通过虚拟防火墙与虚拟机之间的融合,可以实现虚拟防火墙对虚拟机的感知、关联,确保虚拟机迁移、新增或减少时,防 火墙策略也能够自动关联。此外,还有虚拟机与LB负载均衡之间的联动。当业务突发资源不足时,传统方案需要人工发现虚拟机资源不足,再手工创建虚拟机,并 配置访问策略,响应速度很慢,而且非常的费时费力。通过自动探测某个业务虚拟机的用户访问和资源利用率情况,在业务突发时,自动按需增加相应数量的虚拟 机,与LB联动进行业务负载分担;同时,当业务突发减小时,可以自动减少相应数量的虚拟机,节省资源。不仅有效解决虚拟化环境中面临的业务突发问题,而且 大大提升了业务响应的效率和智能化。
管理层的融合
云基础架构通过虚拟化技术与管理层的融合,提升了IT系统的可靠性。例如,虚拟化平台可与网络管理、计算管理、存储管理联动,当设备出现故障影 响虚拟机业务时,可自动迁移虚拟机,保障业务正常访问;此外,对于设备正常、操作系统正常、但某个业务系统无法访问的情况,虚拟化平台还可以与应用管理联 动,探测应用系统的状态,例如Web、APP、DB等响应速度,当某个应用无法正常提供访问时,自动重启虚拟机,恢复业务正常访问。
四、结束语
数据中心由传统基础架构向云基础架构的转变,极大提升了基础架构融合的必要性和可行性。通过资源池的云网融合,构建统一、融合、联动的基础架构系统,不仅提升了应用系统部署的可靠性、灵活性、可扩展性和可管理性,而且也促进了云计算的应用和实践。
目前人民检察院的信息化系统也将从传统的数据中心架构向云基础架构演进,满足检察院信息系统的快速批量部署、系统性能优化、降低管理维护工作量的需求,适应侦查信息化和装备现代化的科技强检需求,实现侦查方式战略转变、推动犯罪侦查工作和检务管理工作科学发展。
云计算系统已经在政府、教育、大企业、运营商等行业得到越来越多的成熟应用,涌现出一批国内外的具有完善解决方案的云基础架构供应商,包括华 三、VMware、微软、亚马逊等公司,尤其是国内的华三公司还可以提供集计算、存储、网络、虚拟化和云管理于一体的整体式交付的UIS统一基础架构系 统,可以显著简化检务云基础架构的部署和运维成本,而且凭借丰富的工程实施经验提供专业快捷的运维保障,将云基础架构系统的部署时间缩短70%以上。
所谓服务器架构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,架构本无所谓正确与错误;当然,优秀的架构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。
服务器架构优化
1、一台“全能”的服务器
把应用系统网站、数据库、文件系统等都在一台服务器下,这样形成了最初级的服务器,一般是非常简单的应用,使用的用户量相当有限。一些企业的门户网站或刚上线使用的系统会采用这样的方式进行部署。
2、系统网站、数据库和文件系统不同的服务器进行部署
这个有先考虑的是把数据库和系统网站分离出来部署到不同的服务器。很多的系统网站很长一段时间都是把系统网站和文件服务器放在一起,把数据库分离出去后发现网站的性能没有多大的提升时,才考虑把文件系统从系统站点分离出去,减少读取文件带来了网络开销和IO读取。在配置服务是需要根据服务器所承载的职责用途分配不同性能的硬件设备,如文件服务器更需要考虑的是硬盘。
游戏 行业是阿里云最早聚焦的行业之一,近年来 游戏 行业的变化、云计算产品技术的变化都与日俱进。随着行业业务的变化、技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的 游戏 场景、业务场景也不尽相同。本文将聚焦阿里云弹性计算产品在 游戏 行业的方案实践经验。
当前, 游戏 行业的各种场景和行业发展密不可分。简单回顾电子 游戏 的发展,80年代的黑白机,90年代的PC单机 游戏 ,00年代前夕随着互联网的发展网络 游戏 开始盛行,2010年后随着移动设备的逐渐普及,手游在国内开始兴起。
从 游戏 终端来区别,主要有:主机 游戏 (往往是3A 游戏 )、PC 游戏 、移动 游戏 和网页 游戏 等。目前出现跨平台多端 游戏 ,以及云 游戏 化的趋势。
关于 游戏 的品类区别会有非常多的维度:RPG(角色扮演)、MOBA类、竞技类、FPS(射击类)、休闲类、卡牌类、棋牌类、SLG(策略类)等等。目前有多品类融合玩法裂变的趋势。
随着国内防沉迷、版号因素,近年来 游戏 行业诞生了越来越多的精品 游戏 ,出海全球化乃至区域化,以及整体存量用户增速放缓,长线运营、精细运营以及私域社区等运营方式也在悄然变化。
不同的业务场景技术架构不尽相同,如竞技类 游戏 和卡牌类 游戏 对计算的需求就有所区别,云 游戏 与常规的网络 游戏 架构也有所区别。这里主要从 游戏 服和 游戏 平台、大数据、云 游戏 这四个目前常见的场景简单介绍其架构。
游戏 服,从 游戏 类型来看有RPG、FPS、MOBA、SLG、棋牌、休闲等等;从 游戏 平台来看通常有主机、手机、PC等;从业务发行来看有全球、国内、海外,从部署架构来看有集中部署和分区部署;从技术架构来看, 游戏 行业也有逐渐分层解耦的趋势,但与互联网应用相比,有一定其独特性。
因为 游戏 的强交互性特点, 游戏 技术架构与其他互联网应用相比有一定独特性。 游戏 需要保持会话连接,也就是从一个客户端到服务端的长连接,便于对客户端中玩家的操作、行为等进行及时的反馈以及推送给共同 游戏 或对战的其他玩家,所以 游戏 普遍对网络质量更加敏感,网络质量较差的情况会使长连接断开或重连,引起玩家掉线。 游戏 也需要保持会话的状态,既服务端会保持一份玩家的实体,当玩家进行操作时,下次通信的数据会依赖之前的通信的数据,这也是一些MMO(多人在线)大型 游戏 对网络吞吐性能要求较高的原因之一。再比如FPS、MOBA类等多人对战类 游戏 ,交互性更强,对网络延迟容忍度更低,要求低延迟。因为 游戏 需要比较高密度的记录玩家的操作以及结果,所以有频繁写入数据的特点,这类场景需要较强的IO性能。因为 游戏 强交互性、低延迟的特点,其技术架构也和互联网应用不同,在逐渐分层解耦的同时,需要保证 游戏 玩家的交互效果,同时也会依赖到底层服务器的计算能力。
这些都是 游戏 场景普遍存在的特点:长连接保持会话、保持状态、低延迟网络、高IO吞吐、高计算性能。
游戏 的部署架构会结合 游戏 业务特点、 游戏 运营需求来制定 游戏 服务,有分区分服、全区全服业务逻辑,分区分服还是全区全服,最大的架构差异在于数据是不是一套。而从部署方式看,主要是集中式部署和分区域部署。
集中部署就是不论 游戏 玩家在哪里, 游戏 服务集中在一个区域,适合对网络延迟要求通常不高的 游戏 类型,如休闲类;分区部署是指 游戏 服务器根据 游戏 玩家地域分布,分区域部署,方便就近接入,适合对网络延迟要求较高的 游戏 类型,如MOBA、FPS类。
典型架构
MMO类有高并发特点,大量玩家并发的高计算量负载对服务器的计算能力和稳定性有着极高的要求。同时MMO类 游戏 有着比较强的PVE或PVP特性,对网络延迟的容忍度较低。
其中网关服务器负责所有网络数据包的转发,通常是网络负载较集中的点,对于网络吞吐能力要求较高。单个 游戏 区承载玩家数量高,逻辑服务器通常按照场景地图来划分,规模再大会通过分区的方式实现。
数据中心服务器负责缓存玩家数据并异步入库,保障玩家客户快速获取和写入数据,对于可用性要求较高,需要配合应用层实现数据容错机制。
日志服务器承载了大区所有业务行为的日志收集及处理的压力,对磁盘写入性能要求较高,通常采用多台分组方式实现。
(1)MMO 游戏 服性能与稳定需求,建议使用最第7代ECS实例,根据实际需求选型c计算型(CPU与内存配比1:2)/g通用型(1:4)/r内存型(1:8),Intel Ice Lake 29GHz基频35GHz睿频提供超高性能,能更好地优化 游戏 体验。
(2)异步落库以及日志服务器,对于磁盘读写性能要求高的场景,建议云上使用ESSD PL 0/1/2/3根据业务性能需要选择,避免磁盘读写瓶颈。
(3)在 游戏 日常版本更新中,需要各个地域Region镜像的快速复制,基于ESSD快照异地复制的能力,能够提升镜像复制效率。
(4)分区分服等场景往往需要快速地开服滚服合服,通过CADT云速搭、ESS弹性伸缩、OOS运维编排、ROS资源编排等云上运维工具搭配产品使用,能够提升云上运维效率。
ii FPS、MOBA类 游戏 架构介绍
MOBA类 游戏 主要包括PVP系统、PVE系统、 游戏 平台等几个主要部分,其中PVP战斗是MOBA/FPS 游戏 的核心。
PVP、PVE、 游戏 平台功能部署于同一VPC中,构成 游戏 大区;战斗服务器(往往)单独跨地域部署。
游戏 客户端首先接入到登录服务器中,完成登录认证、计费等 游戏 平台逻辑。为避免单点问题,所以 游戏 平台服务往往需要高可用方案。可利用云上高可用方案,包括便捷的运维工具满足业务高可用需求。
FPS/MOBA竞技 游戏 ,往往对延迟特别敏感,可以想象,竞技类 游戏 中对战的 游戏 场景:玩家操控人物,在地图里步伐飘逸,枪声密集,每一颗子弹都是一次时间加上空间的矢量计算,而且需要在主进程中完成计算,那么算力需求就随着房间玩家数量上升而指数爆炸,5V5的房间和大房间100人(吃鸡)对算力的需求完全不同。
游戏 这部分重算力场景,推荐阿里云7代高主频或七代实例,更高的单核性能提供更好的战斗效果。
战斗房间类 游戏 ,因为业务本身峰谷特性,灵活地使用云上资源的弹性能力,往往会较好地优化整体的资源使用成本。阿里云弹性计算本身提供了非常灵活的付费方式,包括常规的按量实例、包月包年实例、以及通过节省计划/预留实例券去抵扣按量实例资源,兼顾资源灵活使用的同时达到更优的成本。
此外,为更进一步释放开发运维的效率,当前一些 游戏 也采用了容器化技术架构,阿里云的ACK+ECS/ECI弹性容器实例组合搭配使用,更进一步释放了基础资源的灵活性和弹性能力。
业务场景
游戏 平台(不限于FPS、MOBA类)主要提供的服务:官网、客服、注册、登录、充值、兑换、商城、推送、公告、社区、SDK及邮件、短信等公共服务;包括内容审核、视频录制、弹幕、转码、剪辑、RTC这些业务需要的基础服务,以及运维监控、发布平台、测试平台这些运维等平台服务。
这部分更接近于通用的互联网技术架构,以服务为颗粒度解耦,接入->网关->应用->数据库。
技术特点
这往往通常需要构建高可用基础架构来提升稳定性,业务突发期往往需要一定的弹性能力。相比于 游戏 服务这部分容器化就更加普及,也更容易通过云上的比如弹性容器实例去应对流量峰值场景。在视频录制场景,对实时性要求较高时,往往会基于GPU能力构建,这部分阿里云也提供了vGPU/cGPU能力,释放GPU的灵活性。
大数据是当前 游戏 业务经营、 游戏 运营主要的技术手段,主要面向平台数据运营、 游戏 数据分析、广告转化分析、安全运营分析等 游戏 核心运营场景。不同的场景对实时性要求不同,实时查询检索通常是经营分析、客户受理、玩家监测、在线等场景;离线报表通常是玩家行为分析、用户画像、特征挖掘等场景。
总体而言,实时性业务更多是业务查询类、简单计算类任务,比如买量转化的分析;离线类基本是分析类、预测类任务,比如 游戏 玩法分析。
从技术架构来看,得益于开源社区技术栈的高丰富度,大数据具体的技术选择非常之多,整体从存算一体到存算分离,也诞生像数据仓库、数据湖乃至湖仓一体等概念。
从数据架构流程来看,从数据源->数据采集、传输->数据计算、存储->数据应用,其中可选看技术方案也需要因地制宜。
从部署架构来看,不同的 游戏 公司处在不同的数据建设阶段,会有不同的选择倾向,包括完全自建、基于云自建大数据、基于云上托管、以及利用更多云上成熟的产品技术去丰富整体的大数据能力集,而后者也成为越来越多客户的选择。
拿云上大数据方案举例来讲,比如实时计算部分,选择SLS采集、Kafka数据网关通道,通过Flink做数据计算,通过ES或CK做数据分析,通过ADB以及QuickBI做数据应用展示。离线方案通过OSS做冷数据存储,Spark、Hive、HDFS等组件做数据计算存储,通过CK汇聚分析,通过Dataworks做数据应用。
具体计算存储的产品选型,主要根据不同的业务特性以及大数据应用特性来区分,根据数据容量、IOPS、吞吐、读写特点以及性价比来选择。
如刚刚举例的实时计算/近实时计算场景,Flink具备高性能、低延迟特点,所以是计算密集、网络性能高场景,推荐选型七代ECS实例或6代增强实例;如HDFS需要超大存储容量,高吞吐,推荐D系列本地盘实例,如D2S存储型本地盘实例。Remote Shuffle Service等处理结果多的场景,读写处理频繁如大量的join计算,需要综合来看计算、网络、存储性能以及综合成本来选择通用实例(如第7代ECS实例)或i系列本地盘实例。所以,最终在云上的资源选型,在性能满足的前期下,需要评估通过网络传输数据成本高(云盘),还是就地取材计算成本高(本地盘),不同模型、不同量级选择不同。
从内存处理(成本最高、性能最好、存储容量最小)、SSD本地盘、HDD本地盘、ESSD云盘、OSS对象存储(成本最优、性能一般、存储容量最大),逐渐分层解耦,还带来一个好处:充分释放了云上弹性的能力,可以利用更轻巧的弹性计算产品(如SPOT抢占式实例方式,或ECI容器实例)进行大数据计算,达到更好的弹性能力去满足业务需求的同时也能节约更多的成本。
云 游戏 主要分终端和云端。终端部分基于Windows、iOS、Linux等操作系统的终端设备包括手机、平板、电脑、电视机、VR一体机等。云端架构主要是 游戏 应用层、云 游戏 平台层、IaaS基础资源层,应用层包括PC 游戏 、手游、VR 游戏 、H5 游戏 等多种类型的 游戏 应用;平台层云 游戏 必须的运营平台、支撑平台、流化技术平台等;IaaS基础资源层包括基础网络、基于X86架构以及ARM架构的GPU服务器。
云 游戏 落地,在技术上也经历了诸多挑战,为满足端到端高性能低时延,网络调度、指令串流、编解码、多终端的SDK适配等等都是云 游戏 场景中不可避免的技术问题。
对于云端算力来讲,阿里云解决了云端渲染、串流以及编解码问题,并通过全系列GPU产品来满足云手游、端游、VR乃至企业级视觉渲染场景的需求。
总结来讲,阿里云弹性计算通过云上的串流、编码加速、渲染加速等全套的技术帮助 游戏 客户给云 游戏 玩家提供更好的性能体验,通过基于阿里云全球数据中心可以帮助云 游戏 客户覆盖更多的用户,通过GPU多种产品形态和整体的弹性能力,也帮助到 游戏 客户去更快捷更灵活的构建其云 游戏 业务。
阿里云通过多年的技术积累和持续的运营,提供了大规模的基础设施云服务,目前在全球部署了26个地域、82个可用区,通过优异稳定的性能表现帮助 游戏 客户高效稳定地运行 游戏 业务,为玩家提供极致顺滑的 游戏 体验,并通过技术手段不断地帮助 游戏 客户优化用云成本。
国内的业务出海、 游戏 出海也是现阶段大的趋势之一,很多 游戏 公司已经把出海从业务可选项变成了必选项之一。在2022年3月,阿里云上线了韩国和泰国两大Region,能够为本地化的 游戏 业务提供更流畅、更稳定的 游戏 体验,以此希望能在 游戏 客户出海的业务领域,提供更多的帮助。
当然,作为内容与 科技 两大热门领域的交叉领域, 游戏 产业日新月异,架构也随着前端业务的需要不断改变。阿里云弹性计算也针对 游戏 厂商的不同架构,陆续推出了不同的云服务器类型和付费方式,以及云上运维套件,以帮助客户降本增效。
原文链接:http://clickaliyuncom/m/1000336551/
1、c/s、b/s是当下两种服务器架构模型。
2、c/s架构是指客户端/服务器的架构,需要同时编写两套代码,即客户端一套,服务端一套,所以开发起来速度较慢,日后的维护工作量也较大。
3、b/s架构是指浏览器/服务器构架,只需要编写服务器端的代码即可,开发完成了,就可以将应用部署到一些中间服务器上来发布自己的运用,拿web应该用来说,这些服务器有IIS、jboss、weblogic、websphere、tomcat等等。
4、客户端与服务器交互时,服务器会根据客户端的不同请求进行相应的业务处理,之后将结果返回对客户端。
以上只是简单的描述了下c/s、b/s架构,更详细说明楼主可以网上找些相关资料了解。
有问题欢迎提问,!
三层架构和SOA架构是软件开发中常用的两种架构,本文将对它们的区别进行详细介绍。
0条评论