云计算架构终极指南:灵活性、设计与成本节约
与传统硬件架构相比,云计算架构提供了更大的灵活性、设计选择和成本节约机会。但这些优势伴随着代价:云平台通常比普通本地物理基础设施更复杂、组件更多。
本文是云计算架构入门,介绍云环境中运行的各组件。继续阅读,了解不同系统如何协同工作以创建功能完备的云,并为最终用户提供按需 IT 资源(服务器、应用、数据库、网络等)。
云计算架构解析
云计算架构是指当集成在一起时,能创建出一种 IT 基础设施的系统与技术组合,该基础设施跨网络抽象、池化并共享按需资源。每个云架构包含两大核心组件:
- 前端(最终用户可见元素,如 Web 应用、浏览器、移动设备、用户界面等)
- 后端(系统的“云”部分,包含数据存储、专用服务器、操作系统、安全措施等)
云计算架构还需要网络使前后端通信。两组件通常通过互联网共享数据,除非架构师倾向于使用私有网络(这是私有云和混合云架构的首选)。
无论网络类型,前后端间的通信层必须具备:
- 高带宽
- 无延迟
- 高可用性
- 顶级网络安全
在设计核心层面,云计算架构融合了:
- 事件驱动架构 (EDA):一种软件设计,解耦服务生成、检测并响应系统事件
- 面向服务架构 (SOA):一组组件通过通信协议向其他元素提供服务的系统
企业部署云计算架构的理由众多,尽管这些系统比本地部署更复杂。主要理由包括:
- 更快的上市时间
- 更快的资源配置
- 实时弹性伸缩(向上和向下)
- 能使用云原生解决方案(如 Kubernetes)
- 因数据可见性更好而合规更可靠
- 成本节约(无需本地硬件,且对资源使用有严格控制)
云计算架构的前端
前端在架构中充当客户端角色,可通过互联网或私有网络与后端通信。前端组件对最终用户可见,并实现对云平台的访问。
前端两大核心要素:
- 客户端用于访问和交互云平台的应用或软件(通常为 Web 浏览器或原生应用)。应用或浏览器拥有专用 UI,部分云架构师视其为独立的前端组件
- 用户连接并交互浏览器或应用的客户端设备(手机、平板、PC、笔记本等)
前端元素负责:
- 使用户能与云交互
- 通过中间件向后端发送查询
- 向后端请求服务
- 展示所有云相关信息(资源利用率、安全顾虑、监控告警、使用模式等)
云端处理的计算量超过了客户端设备,这是云计算的另一显著优势,对远程优先团队和实施 BYOD 政策的公司尤为有用。
云计算架构的后端
在云计算架构中,后端指云本身。该组件包含各种系统、服务器和存储单元,承担多项关键角色:
- 运行云相关程序和应用
- 赋予前端功能,响应用户发送的任何查询
- 部署和扩展资源
- 监控所有操作和活动
- 保障云数据和流程安全
- 连接所有服务和应用
- 运行流量控制机制
- 管理云协议
云提供商管理后端组件。但也有公司选择自建和维护云,此时内部团队负责后端运营。公司也可在内部团队和提供商团队间分担后端任务(高合规企业如需符合 HIPAA 或 PCI 常采用此模式)。
前端仅是带连接的 UI,而后端赋予了云核心特性:
- 用户无需服务提供商协助即可配置的按需资源
- 客户端无论位置如何均可连接的能力
- 资源池化,使提供商能池化资源并在动态多租户环境中服务多用户
- 快速弹性,迅速响应消费者需求
- 可度量服务,允许最终用户详细监控云使用情况
后端组件更多、规模显著大于前端。以下详细介绍云计算架构中可能存在的每个后端组件。
应用层
当最终用户与前端交互时,后端的应用层接收查询并处理客户端请求。该层有几个关键角色:
- 为用户提供云服务访问
- 连接前后端
- 响应前端查询
- 协调消费者需求与后端资源
服务层
服务层为云计算架构的后端增加实用性。该组件通过数据存储、应用开发环境、Web 服务等服务处理每项任务和请求。
服务可在云运行时执行多种任务和功能。客户端可用的服务类型取决于交付模型。主要有三种云交付方式:
- 基础设施即服务 (IaaS):提供对云计算架构资源(数据存储、服务器、网络基础设施、虚拟机等)的访问和控制
- 软件即服务 (SaaS):使客户能在云端托管应用软件。SaaS 模式下,提供商处理所有升级和开发,供应商维护底层基础设施
- 平台即服务 (PaaS):为用户提供按需软件开发平台。提供商托管完整技术栈和工具集,但用户负责软件开发、应用管理和更新
交付模型非云部署模型(如混合、社区或多云)。交付模型决定用户可访问的服务类型,部署模型定义云的类型。
中间件
中间件指使网络设备和应用能通信的软件组件。该组件负责以下间的连接:
- 应用
- 服务
- 运行时云
- 存储单元
- 基础设施设备
- 安全解决方案
- 前端
如同传统数据中心,中间件依赖数据库和通信应用建立不同系统间的协调。
云存储
存储是保存所有云数据的后端部分。云存储的类型和容量因云提供商和客户需求而异。这项云计算服务使用户能将数据存储在云端而非本地存储,这既更安全也更便捷。
云基础设施
虽然最终用户从未看到或交互云基础设施,但云也需要硬件。云基础设施包含标准数据中心服务器室的所有特性,包括:
- 服务器
- 中央处理器 (CPU)
- 图形处理器 (GPU)
- 主板
- 存储单元(硬盘和 SSD)
- 带路由器和交换机的网络设备
- 网络和加速卡
- 制冷和电力基础设施
基础设施层还包括运行和管理所有硬件所需的软件。
Hypervisor(虚拟机监视器)
Hypervisor 是创建和运行虚拟机的软件。它分配单台设备的资源(CPU、内存、存储等),使多个拥有独立操作系统的虚拟机可在同一设备上运行。
Hypervisor 提供的虚拟化提高了多租户云中服务器、存储和网络的效率。但若宿主设备虚拟机过多,该组件可能影响整体性能。
管理软件
云计算架构的管理软件确保所有操作和程序平稳高效运行。这些系统执行的任务包括:
- 安全和合规审计
- 性能和容量监控
- 使用情况跟踪
- 新应用部署
- 数据集成
- 灾难恢复管理
管理软件也包含自动化程序和工具。自动化是云的核心价值和主要卖点之一。在云计算架构中,自动化工具有三大关键任务:
- 根据使用或流量需求扩缩容
- 确保云环境治理
- 按预定义阈值或云策略指令响应事件
安全层
安全层是云架构的关键方面。因大多数提供商级云是高风险多租户环境,供应商通常依赖多种技术确保云计算安全,如:
- 不可变的定期数据备份
- 数据加密(静态、传输中、使用中)
- 高端调试工具
- 虚拟防火墙(针对整个架构和租户间)
- 零信任安全原则
- 多因素认证和强密码
- 入侵检测系统 (IDS)
- 反恶意软件和病毒软件
- 勒索软件防护
云计算架构最佳实践
构建高效云计算架构没有单一标准,但有几条准则适用于所有设计。设计新架构或调整现有架构时应考虑以下最佳实践:
- 采取安全优先方法:架构设计时,安全或 SecOps 团队应从一开始就将防护嵌入设计。初始安全体系越健全,环境扩展时面临的数据泄露和违规风险越少
- 规划使用峰值:尝试预测并理解架构在常规和峰值工作负载下的表现。确保架构在任何场景下表现良好,并准备最佳扩展机制
- 网络安全零侥幸:除了从一开始就规划安全,还应用所有可用网络安全措施保护架构。寻找提供数据加密、定期补丁管理、端点防护、云灾难恢复和强健策略的提供商
- 建立持续监控:使用 Nagios 等工具持续监控环境的性能和使用问题,能创建有洞察力的模式以优化架构
- 优化并削减成本:利用自动化流程和利用率跟踪消除不必要开支,确保不在资源上超支
准备好告别本地硬件了吗?
云计算架构的概念对许多管理者和团队仍模糊不清。向非技术员工提供本文将有助于揭开云的神秘面纱,让您的业务更进一步地迈向云迁移。
云计算