什么是云架构?
什么是云架构?
那么, 什么是云架构?以及, 什么是云计算架构?云架构和云计算架构是一回事。这两个术语都是指定义云计算环境基础架构组件设计的“蓝图”。
有几种不同的方法可以将云架构概念化。例如,从云服务提供商的角度来看,云架构包括:
- 硬件层 ,包括裸机服务器、网络设备和存储设备
- 虚拟化层 ,包括虚拟机管理程序和软件定义网络 (SDN) 组件,用于虚拟化物理资源
- 服务层 ,包括提供商向用户交付的云资源
在开发人员和 DevOps 工程师等用户的心中,云架构组件包括:
- 前端,比如允许访问云服务的 Web 控制台、应用程序编程接口 (API)、命令行接口 (CLI)、移动应用程序或其他客户端
- 后端 ,提供可实现服务的计算、存储和软件资源
- 网络 ,提供云资源与 DNS 解析等服务之间的连接
云环境架构的作用是规定所有组件如何相互配合和通信。在图 1 中,我们可以看到基于云的文档管理系统的架构。
这些组件的架构、实施和向用户展示(或从用户进行抽象化)的具体方式因云交付模式和 云计算类型而异。例如,在私有云 虚拟机 中运行的 Web 应用程序与基于 Kubernetes 的分布式应用程序的架构不同。
所有云实施的相同之处在于,云是一个为用户抽象出一定复杂程度的 平台 。例如,Amazon Web Services (AWS) EC2 实例等 IaaS 产品可抽象出硬件的复杂性。对于 Google Docs 等 SaaS 应用程序,抽象程度更高,包括操作系统、中间件和应用程序维护在内的一切内容都对用户隐藏起来。
云基础架构的主要物理组件
在抽象层之下,云计算与本地 IT 基础架构一样,也有三个主要层。
- 计算 CPU、RAM 和 GPU 资源
- 网络 网络接口等资源
- 存储 SSD 和 HDD 等资源
对于 IaaS 等模式,计费通常基于这些类别的资源消耗。
备注:不要混淆云架构和 网络架构。云架构 包括 相关的网络架构。例如,SD-WAN、SDN 和 DNS 服务都可能包含在企业环境的云架构中。
基本云部署模式:公有云与私有云
您可以使用的两种基本云服务模式是 公有云 和私有云(表 1)。公有云平台向公众开放,基础架构由云服务提供商管理。私有云平台专用于单个企业。
公有云和私有云之间权衡的是简单性(公有云)和控制力(私有云)。公有云用户只需消费服务,而服务提供商则负责维护以及基础架构调配。不过,这也意味着,公有云用户天然受限于服务提供商提供的功能。此外,公有云数据驻留在服务提供商的数据中心,这对合规性和数据主权会产生影响。
相反,私有云用户可以完全控制他们的基础架构和功能。缺点是用户或代表用户的第三方必须处理复杂的基础架构维护、配置和修补。
高级云部署模式——混合云和私有云
除了公有云和私有云,还有其他几种云部署模式。例如,美国国家标准与技术研究院 将 社区云 定义为一种云基础架构,这种云“经过调配,供具有共同顾虑的企业的特定使用者社区独家使用。”不过,最常见的两种高级云架构部署模式是:
混合云:企业内多种云部署模式的组合。例如,在公有云和私有云中复制数据库的团队就是在使用混合云模式。
多云:在一个企业内使用多个不同的公有云提供商。例如,在 Azure Kubernetes Service (AKS) 和 Amazon Elastic Kubernetes Service (EKS) 中运行集群的企业就是在使用多云模式。
XaaS:云计算的类型
除了部署模式不同,云计算服务模式也多种多样。这些模式统称为“任意内容即服务”或 XaaS。在 XaaS 模式下,提供商为用户提供云计算服务,通常采用订阅定价。
最常见的三种 XaaS 服务模式是 SaaS、平台即服务 (PaaS) 和 IaaS(图 2)。
这三种云计算服务模式的区别在于服务提供商和用户的责任范围。表 2 列出了不同模式下由谁来控制云基础架构的不同方面。
IaaS 平台为用户提供的控制最多,管理和维护也最复杂。用户负责一切工作 — 从选择操作系统,到打补丁。与之相反,Google Docs 和 Slack 等 SaaS 平台抽象化了除应用程序层之外的一切组件。
PaaS 平台则比较平衡,让用户可以控制应用程序和数据层。例如,在 PaaS 平台上,您可以直接访问 MySQL 数据库,但不负责为底层 MySQL 版本或操作系统打补丁。
超越 IaaS、PaaS 和 SaaS
说到云服务模式,IaaS、PaaS 和 SaaS 只是一个开始。在过去的十年中,新的云服务产品层出不穷,涵盖了各种各样的应用场景。
以下是您应该了解的其他云服务模式的细分。
- 身份验证即服务 (AaaS) 平台(比如 Okta 和 Duo)提供多重身份验证 (MFA) 和单点登录 (SSO) 等服务。
- 桌面即服务 (DaaS) 平台(比如 Amazon Workspaces 和 Azure Virtual Desktop)在云中提供托管虚拟桌面
- 容器即服务 (CaaS) 产品(比如 Google Cloud Run 和 Microsoft Azure Container Instances (ACI))精简了在云平台上部署和管理容器化应用程序的流程
- 托管 Kubernetes 平台(比如 AKS 和 EKS)提供托管 Kubernetes 服务,用于在云中自动编排 Kubernetes 集群
- 无服务器计算 允许以“按需”方式使用计算资源,使用户无需管理任何底层基础架构即可执行功能。
云计算的优势
云计算对消费者和企业都有好处。相对于传统的本地计算, 云计算 的主要优势在于:
- 托管基础架构:安装、配置和维护服务器、交换机、机架、电源和冷却设备的过程既昂贵又耗时。云服务为您提供解决方案的业务优势,而无需进行复杂的基础架构管理。
- 弹性资源:在公有云中,扩展或缩减云的使用量是轻而易举的事情。这种弹性使企业能够避免瓶颈,从而可以快速扩张,而不必承担硬件投资过高的风险。
- 全面的可观察性:通常,云平台都包含可观察性工具和仪表板。
- 内置最佳做法:激励服务提供商在 性能、安全性和可用性之间取得适当平衡。它们还能为客户提供规模经济效益。因此,用户只需使用正确的云平台,就能从基础架构最佳做法中获益。
迁移到云架构
在云中启动新项目是一回事,但将现有工作负载迁移到云中又是另一回事。虽然没有放之四海而皆准的方法适用于每种应用场景,但有一套通用的原则和最佳做法可以用来帮助您正确处理。
- 确保云迁移有意义:并非每个工作负载都需要转变为云工作负载。创建一个业务案例,以权衡云迁移成本,以及完全停止工作负载或将其留在本地的成本。
- 明智选择云提供商:功能和成本固然重要,但它们并不是要考虑的唯一因素。在做出决定时,请考虑非功能要求、 支持、服务水平协议和供应商声誉。
- 选择适合您的服务和部署模式:公有云对比私有云,以及 IaaS 对比 PaaS 和 SaaS,各自在控制、功能和供应商锁定方面存在不同的权衡。在锁定一种模式之前,请评估其利弊。例如,尽管将本地 Exchange 服务器迁移到 IaaS 平台上的类似虚拟机似乎是一种合乎逻辑的做法,但 Office 365 电子邮件 (SaaS) 可能是更好的解决方案。
- 控制预算:云成本可能会迅速增加。大多数主要云提供商都有 云成本计算器 ,您可以使用它进行合理估算,避免意外支出。此外,请务必尽可能设置预算提醒,并密切关注您的对账单。采用系统的方法跟踪成本,确保不超出预算。
- 时刻准备应急:备份、回滚计划和生产前测试可帮助您在向云迁移时降低数据丢失和停机的风险。确保对关键工作负载迁移采取“两次测量,一次切割”的方法。
- 考虑将 “strangler fig application”迁移模式 用于复杂的单体应用程序:直接迁移并不适用于所有情况。如果您的团队需要将复杂的单体应用程序转移到云中,请考虑使用“strangler fig application”迁移模式,随着时间的推移逐步迁移到云原生微服务。
结论
云架构是一个复杂的话题,要了解的东西还有很多。不过,通过我们在这里介绍的内容,您应该对云计算的基本 内容、 原因和 方法 有深入的了解。