混合云架构解释
混合云架构允许公司将严格控制的本地基础设施与公共云服务的强大功能相结合。由于高度的灵活性,混合云解决方案是对现有和遗留应用进行现代化改造的首选方案。
本文是混合云架构简介 .继续阅读,了解公司如何设置混合系统,以比单独使用公共云或私有云更有效地实现技术和业务目标。
混合云架构说明
混合云架构是两种或多种不同类型的基础设施(公共云、私有云、社区云、裸机等)的组合,这些基础设施绑定到一个具有总工作负载和数据可移植性的单一系统中。这些架构因业务需求而异,但最常见的系统结合在一起:
- 带有公共云的本地系统(裸机或私有云)。
- 公共云、私有云和裸机基础架构。
- 两个或更多私有云。
- 两个或更多公共云。
我们对公有云和私有云的比较突出了两种最常见的云部署之间的主要区别。
无论具体设置如何,每种混合云架构都有四个共同特征:
- 网络连接: 混合云中的不同环境共享相同的连接,无论是在私有网络中还是通过互联网。
- 完全集成: 数据和工作负载同步发生在混合云的每个组件中。
- 统一管理: 该团队通过单一工具处理混合设置,并且每个环境都使用相同的操作系统。
- 快速资源配置: 混合云可以快速配置新资源,通常是通过第三方公共云。
不同组件之间的连接是混合云的主要特征。混合提供统一的云计算系统,允许管理员在环境之间移动服务。
如果组件之间没有集成,那么公司就没有混合系统。相反,该设置并行运行多个云,并且可能是多云的一种形式。
设计混合架构的三个主要方面是连接性 , 应用现代化 ,以及云安全 .
连接性
连接性和互操作性是混合云架构的核心概念。此功能允许:
- 自由移动工作负载。
- 统一管理。
- 流程编排。
连接级别直接影响混合云的工作情况。为了帮助您了解互连在混合环境中的重要性,我们将使用一个用于交易和存储股票的应用程序示例。如下图所示,该应用依赖于私有云和公共云。
当有人访问我们的示例应用程序时,用户会点击私有云上的端点并馈入本地 Kubernetes 集群。集群包含众多服务:
- 应用的前端(UI)。
- 启用消息队列功能的 MQ 服务。
- 允许用户管理投资的投资组合服务。
该产品组合在私有云中运行,但该服务也依赖于公共云中的任务。公共云中的中央服务是从 Investors Exchange (IEX) 获取股票价格的服务。
MQ 服务跟踪用户忠诚度级别。该服务还需要访问公共云并实时通知用户他们的忠诚度状态或投资组合的变化。
我们的应用程序需要私有云和公共云之间的高水平互连才能正常工作。工作负载在环境之间流动,整个系统作为一个实体运行。私有云和公共云之间的连接至关重要,我们可以通过 VPN、WAN 或 API 将两者连接起来。
应用现代化
对单体应用进行现代化改造并将其迁移到云端是采用混合云的最大挑战之一。
假设我们的股票交易者应用程序最初是一个单一的本地系统。该应用是基于 Java 的,具有与上述公私云设置相同的服务:
- 用户界面。
- 投资组合服务。
- MQ 服务。
- 与 IEX 的连接。
- 本地数据库。
在某些时候,架构师不得不将我们虚构的应用程序分开并将其部署到云端以防止用户延迟。
应用程序解构首先要决定要从单体应用中分离出哪些部分并将其部署到云中。有些组件比其他组件更好。在我们的示例中,将产品组合部署到云端会导致许多不必要的网络跃点,甚至更糟糕的延迟。
将 UI 迁移到云端是一个不错的选择。由于延迟是主要问题,将应用程序的前端部署到多个位置可以带来更好的用户体验。
一旦您知道哪些部分将进入云端,下一步就是重构 .架构师需要创建胶水代码,允许应用程序保持服务之间的通信路径。一旦我们重构了 UI,我们就可以将服务部署到公共云。在测试新流程时,我们只将一小部分用户引导到云端。
一旦公共云设置没有错误,我们就可以弃用 旧的 UI 部分并开始使用云来处理所有流量。现在我们可以开始考虑我们可以迁移哪些其他服务并扩展我们的混合云架构。
混合云安全
混合系统中的云安全具有挑战性,因为团队需要保护不同的环境以及在它们之间移动的数据。设计混合云架构时有两个主要的安全问题:
- 潜在的数据泄露。
- 严格的隐私法,例如 GDPR、HIPAA 和 PCI。
起点是确定您的南北向带来的云安全风险 和东西向 网络流量 .南北流量是从最终用途到数据中心或云环境的任何活动。东西向流量是混合云组件之间流动的数据。
边界安全对于任何具有本地组件的混合云架构来说都是至关重要的。无论您是运行裸机数据中心还是私有云,请确保外围具有:
- 防火墙。
- 使用安全 API 网关确保端点安全。
- 零信任安全
公共云安全主要是供应商的责任,但客户也有责任。例如,如果您的 Kubernetes 工作人员在云中设置了多个服务,则微调组件的端点安全性和请求身份验证是客户端的责任。
在混合云架构中保护东西向流量需要您确保环境之间的安全通信。网络分段是保护东西向流量的好策略。创建严格的策略来限制用户、管理员和进程可以访问的细分。
在 Kubernetes 环境中,微分段要求您为微服务之间的请求设置 TLS 证书。尽可能早地在其生命周期中加密请求和数据(包括动态和静态)。另一个 Kubernetes 最佳实践是设置一个准入控制器,在初始身份验证后添加进一步的验证级别。
混合云架构的类型
由于私有云是独一无二的,而且每个公共云提供商都提供不同的服务,因此没有一种万能的混合解决方案。但是,每个混合云都对应于以下两种主要类型之一:传统和现代混合云架构 .
传统混合云架构
传统的混合云架构侧重于将数据中心转变为私有云。一旦本地设置准备就绪,团队就会设计与公共云的连接,以创建无缝的工作负载和数据流。如果满足以下条件,这种统一的 IT 基础架构是理想的:
- 出于监管方面的考虑,该组织需要将敏感数据保存在私有云中。
- 公司希望迁移到云端以增强旧版应用并提高性能。
- 该团队希望将现有的本地工作负载提升并转移到公共云,以减少数据中心的占用空间。
- 企业希望将不稳定的工作负载迁移到公共云。
- 该团队希望使用公共云来快速启动开发和测试资源(这对高效的 DevOps 团队至关重要)。
通常,传统的混合云架构依赖于跨环境集成云资源的预打包解决方案或企业级中间件。中央控制台和统一的云监控工具使设置保持良好状态。
现代混合云架构
现代混合云架构较少关注组件之间的连接,而更多地关注工作负载的可移植性。这样,系统就可以无缝地为任何任务使用最佳环境。
这种类型的混合云架构允许组织利用云原生技术并使用微服务将应用程序分解为更小的、可重用的组件。微服务确保跨不同云和供应商的一致且可靠的部署、管理和性能。
在现代混合云架构中,公共云和私有云之间的界限不太明显。许多提供商现在提供在客户的本地数据中心运行的公共云服务。传统上在本地运行的私有云现在可以运行:
- 在外部数据中心内。
- 在虚拟专用网络 (VPN) 上。
- 作为虚拟私有云 (VPC)。
基础架构即代码 (IaC) 是现代混合云架构的一个重要方面。 IaC 允许开发人员根据需要快速启动新环境。
设计和构建混合云架构
在设计混合云架构之前,请考虑以下清单,以确保您的计划不会陷入任何陷阱。
考虑更简单、更便宜的部署模型
混合云依赖于不同环境之间的复杂集成,使设置非常适合大容量工作负载和分布式系统。如果您的应用确实有大量工作负载并且不需要流重叠,那么部署更简单的云模型可能是更好的选择。
一旦应用及其用户群增长,就开始考虑扩展到混合云以保持性能水平。
为您的工作负载制定深入计划
通过确定每个工作负载的运行方式和位置开始设计架构。该计划需要在以下方面进行微妙的平衡:
- 内部无障碍需求。
- 合规要求。
- 应用需求。
在规划为每个工作负载使用哪个环境时,请考虑以下因素:
- 安全级别。
- 法律义务。
- 服务价格。
- 辅助功能。
- 应用要求。
- 用户位置。
如果您的公司处理敏感数据,请计划您将在哪里存储该信息以及哪些系统可以访问有价值的数据。另外,请考虑某些遗留系统是否无法在云环境中正常运行。
警惕供应商锁定
在无法处理您的工作负载的平台上构建混合云可能会在未来产生代价高昂的问题。
寻找 SaaS 合作伙伴的团队有更大的错误余地,但希望通过 PaaS 或 IaaS 提供商构建应用程序的公司必须从一开始就做出正确的选择,以避免严重的供应商锁定问题。在选择您的云服务提供商时,请考虑以下几点:
- 服务费用。
- 使用的技术。
- 管理工具。
- 数据中心的物理位置。
- 服务水平协议 (SLA)。
- 支持裸机和私有云环境。
- 安全、治理和业务政策。
- 服务依赖关系。
选择合适的云操作系统
云操作系统使团队能够通过一组工具监控和管理混合环境。 Cloud OS 应简化管理并赋予敏捷性,因此请选择适合开发人员需求的软件。一些最受欢迎的选项是:
- Kubernetes。
- VMware 云。
- OpenStack。
- Nutanix。
根据提供正确数据管理方法的工具选择云操作系统。理想情况下,操作系统不应要求您重新培训整个 IT 人员。
在您的混合云架构中构建安全性
将安全控制和策略视为混合云架构的基本组成部分。安全不应该是事后才考虑的问题,因此确保适当的保护级别是每个环境的基石。
尽早在设计过程中开始考虑网络安全风险。如果您想从头开始考虑安全性,DevSecOps 是构建云系统的好方法。
应用现代化的理想云选项
混合云架构允许公司通过将云连接到现有 IT 基础设施来对其应用程序进行现代化改造。这种方法使混合云成为任何希望使用云计算同时严格控制其 IT 设置的公司的理想选择。
云计算