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