评估合适的云服务
在进行高性能架构设计时,首先需要关注的是计算、存储、网络等基础云服务的选择。充分了解自身业务特征及指标,熟悉架构主要组件所涉及云产品方案类型,有利于业务和工作负载在不同的产品方案中受益,并使系统架构得以持续优化。
数据库的选型是一项专业性很强的工作,通常除了性能外还有很多考虑方面,此处不进行展开阐述,需要关注的是数据库产品组合在高性能架构设计上的合理使用,如很多业务场景利用Redis这类缓存数据库实现性能的显著提升。
计算
计算服务
熟悉主要计算方案,针对各业务系统和工作负载,评估使用合适的计算方案。
阿里云服务 | 类型 | 业务场景 | 主要特征 |
云服务器(ECS) | 云服务器 | 服务器迁移、整体应用环境、定制化镜像 | 运行于物理机之上、满足VM层面系统设置需求、丰富的类型与规格 |
容器服务Kubernetes版(ACK)、弹性容器实例(ECI) | 容器 | 微服务、混合云部署 | 运行于云服务器之上、轻量化、快速部署、可移植、可扩展 |
函数计算(FC) | 函数 | 事件驱动的应用 | 并发能力强、单个函数计算能力较弱且限制较多 |
计算指标
提到计算性能,人们通常会用具体的指标来形容与量化,如磁盘满足10万IOPS能力、单台服务器网络带宽10Gbps等。充分认识各计算方案涉及云产品的指标,并将识别和收集的业务系统指标与之关联,是深入理解业务瓶颈与资源使用率的关键。通过使用云监控可以方便地对相关指标进行持续跟踪与维护,用以驱动性能与架构的不断优化。
计算规格
对于非Serverless的计算服务,类型和规格的选择尤为重要,错误的选择容易导致频繁触及性能瓶颈并产生不必要的成本,也会增加后续优化改造的复杂性。结合指标的跟踪分析,综合考虑工作负载与CPU、内存、磁盘以及网络使用率的关联性,用以选择合适的类型与内存核数比,满足最佳性能的同时优化成本效益。
例如,I/O密集型业务(中大型OLTP类核心数据库、中大型NoSQL数据库、实时日志分析、大型企业级商用软件等)应选择存储增强型实例,实现更好地存储性能与能力;网络密集型业务(NFV/SD-WAN、音视频、电信业务转发、缓存、大数据以及机器学习等)应选择网络增强型实例,满足业务在带宽、PPS、并发连接以及多网卡上更高的要求;能用GPU/FPGA加速的业务,选择合适的异构计算规格。
存储
存储服务
云相对传统自建数据中心,有更丰富的存储业务场景以及与之相匹配的存储服务,针对业务进行灵活适配,才能充分发挥云的优势。使用单一的存储类型往往无法满足最佳的性能与效率,在架构设计过程中,有必要对业务场景以及对应工作负载的存储需求进行梳理,并明确核心存储指标,用以评估符合需求且合适的解决方案。
阿里云服务 | 主要特征 | 常见业务场景 |
块存储 EBS | 高性能、低延迟,99.9999999%数据可靠性 | 应用程序、OLTP数据库、NoSQL数据库等I/O密集型的高性能、低时延业务 |
对象存储 OSS | 海量、高吞吐、安全、低成本,多种访问方式,99.9999999999%数据可靠性 | 大规模数据分层存储、数据备份、网站托管、动静资源分离、CDN加速 |
文件存储 NAS/CPFS/HDFS | 高吞吐、低延迟,99.999999999%数据可靠性 | 科学计算、容器共享访问与数据持久化、企业在线生产应用数据存储 |
常规存储方案会重点从块存储、对象存储以及文件存储这三类来进行评估,往往先通过业务场景明确访问方式与访问链路,比如需要支持公网访问基于对象API的互联网应用,OSS会是最佳选择,而容器化部署应用、为了实现专业网络环境共享读写访问以及充分弹性能力的持久化存储,文件存储则更具优势。
从进一步的功能性、兼容性以及高可用架构角度,阿里云提供了更多的存储服务选择,如面向海量结构化数据的表格存储Tablestore,兼容多种存储服务的存储网关CSG,支持线上以及线下迁移的数据迁移服务,支撑容灾能力的混合云容灾服务 HDR(Hybrid Disaster Recovery)与备份的云备份(Cloud Backup)等。
存储指标
在业务场景、功能和架构的基础上,还需要将业务系统数据转化为存储性能指标以便进一步评估存储产品和类型选择,主要的存储指标包括吞吐量、IOPS、I/O延迟、访问频率、数据规模、数据增长率、数据可靠性等,必要的基准测试以及持续的性能数据收集将有助于获取和分析这些指标。
在产品层面,阿里云也提供了不同的服务类型,来满足不同性能要求,如块存储包含普通云盘、高效云盘、SSD云盘、各级别ESSD云盘,对象存储包含不同程度的归档存储、不同程度的低频访问和常规存储等,灵活应对各类业务场景的存储诉求。
网络
网络服务
网络是云上环境的重中之重,它负责云服务、本地数据中心、应用程序组件等各节点的连接,对业务工作负载的性能影响极大。选择合适的网络产品组合,往往能在不进行业务逻辑改造的前提下,高效实现性能优化。
阿里云服务 | 主要特征 | 常见业务场景 |
云企业网 CEN | 超大规模、灵活组网、智能运维 | 混合云组网 |
全球加速 GA | 高可用、高安全、易部署,高质量加速 | 游戏加速、企业应用加速、互联网应用加速 |
负载均衡 CLB/NLB/ALB | 超高性能、自动弹性,99.995%高可靠性,转发功能丰富 | 按需业务转发、云原生应用 |
NAT网关 | 高性能、高可靠、易运维 | 统一公网出口 |
Anycast弹性公网IP | 加速范围广、低延时、易部署、高可用 | 网站加速、互联网应用加速 |
以上列举了部分典型网络产品,通过它们可以快速实现高性能的混合云组网能力、全球就近接入加速业务、跨可用区高可用以及公网和私网地址转换等能力,也可以再结合如CDN这类产品,在计算资源前进一步放大并发性能。
网络指标
相较于计算和存储,网络性能受更多方面限制,一般来说,在架构设计过程中需要重点关注时延、丢包率、带宽、吞吐量、每秒请求数、并发连接数、新建连接数等。对网络性能的分析意味着对整个请求整个链路的分析,压测和持续的监控有利于明确工作负载的核心指标并定位链路瓶颈,进一步实现动态的规格优化与方案优化。