企业需要快速有效地扩展和管理其全球计算基础设施,同时优化和管理资本成本及支出。 Amazon Web Services (AWS) 和 Elastic Compute Cloud (EC2) 计算和存储服务提供高度稳健的全球化的计算基础设施,可满足最苛刻的基于 Caché 的应用程序的需求。Amazon EC2 基础设施使各公司能够迅速预置计算能力和/或快速灵活地将其现有内部基础架构扩展到云端。 AWS 针对安全、网络、计算和存储提供了一套丰富的服务和强大的企业级机制。
AWS 的核心是 Amazon EC2。 它是支持各种操作系统和机器配置(例如 CPU、RAM、网络)的云计算基础设施。 AWS 提供预先配置的虚拟机 (VM) 映像(称为 Amazon 系统映像或 AMI),客户操作系统包括各种 Linux® 和 Windows 发行版及版本。 可以将其它软件用作 AWS 中运行的虚拟化实例的基础。 您可以将这些 AMI 用作实例化以及安装或配置其他软件、数据等的起点,以创建特定于应用程序或工作负载的 AMI。
与任何平台或部署模式一样,必须留心以确保考虑到应用程序环境的各个方面,例如性能、可用性、操作和管理程序。
本文将详细介绍以下每个方面。
- 网络设置和配置。 此部分介绍基于 Caché 的应用程序在 AWS 中的网络设置,包括为参考架构内不同层级和角色的逻辑服务器组提供支持的子网。
- 服务器设置和配置。 此部分介绍为每一层设计各种服务器时涉及的服务和资源。 还包括用于跨可用区实现高可用性的架构。
- 安全。 此部分讨论 AWS 中的安全机制,包括如何配置实例和网络安全以实现对整体解决方案以及层和实例之间的授权访问。
- 部署和管理。此部分提供有关打包、部署、监控和管理的详细信息。
架构和部署方案
本文提供了几个在 AWS 内实现的参考架构,作为提供基于 InterSystems 技术(包括 Caché、Ensemble、HealthShare、TrakCare)以及相关嵌入式技术(如 DeepSee、iKnow、CSP、Zen 和 Zen Mojo)的高性能和高可用性应用程序的示例。
为了了解如何在 AWS 上托管 Caché 及相关组件,我们先来回顾一下典型 Caché 部署的架构和组件,并探讨一些常见的方案和拓扑。
Caché架构回顾架构回顾
InterSystems 数据平台不断发展,提供先进的数据库管理系统和快速的应用程序开发环境,以在处理和分析复杂数据模型以及开发 Web 和移动应用程序方面实现突破。
这是新一代的数据库技术,提供多种数据访问模式。 数据只在单个集成数据字典中描述一次,并且可以通过对象访问、高性能 SQL 和强大的多维存取即时进行访问 – 所有这些方式可以同时访问相同数据。
图 1 说明了可用的 Caché 高级架构组件层和服务。 这些通用层也适用于 InterSystems TrakCare 和 HealthShare 产品。
图 1:高级组件层

常见部署方案
部署有许多可能的组合,但本文将介绍两种方案:混合模型和完整的云托管模型。
混合模型
在此方案中,公司希望在需要时将企业内部资源和 AWS EC2 资源都用于灾难恢复、内部维护应急、重新平台化计划或短期/长期扩容。 此模型可以为内部故障转移镜像成员集群提供业务连续性和灾难恢复的高可用性。
在该方案中,此模型的连接依赖于内部部署和 AWS 可用区之间的 VPN 隧道,将 AWS 资源作为企业数据中心的扩展。 还有其他连接方法,例如 _AWS Direct Connect_。 但是,这不是本文涵盖的内容。 有关 AWS Direct Connect 的更多详细信息,可以在here找到。
有关设置此 Amazon Virtual Private Cloud (VPC) 示例以支持内部数据中心灾难恢复的详细信息可以在here找到。
图 2:使用 AWS VPC 提供内部灾难恢复的混合模型

上面的示例展示了一个故障转移镜像对通过与 AWS VPC 的 VPN 连接在内部数据中心的运行。 所示的 VPC 在给定 AWS 区域的双可用区中提供了多个子网。 有两个灾难恢复 (DR) 异步镜像成员 (每个可用区有一个) 提供弹性。
云托管模型
在此方案中,基于 Caché 的应用程序(包括数据层和表示层)完全放在 AWS 云中,使用了单个 AWS 区域内的多个可用区。 可以使用相同的 VPN 隧道 AWS Direct Connect, 甚至纯互联网连接模型。
图 3:支持完整生产工作负载的云托管模型

图 3 中的示例说明了在 VPC 中支持整个应用程序生产部署的部署模型。 此模型利用双可用区,在可用区之间同步故障转移镜像,同时将负载均衡 Web 服务器和相关应用程序服务器作为 ECP 客户端。 每个层都隔离在一个单独的安全组中,以进行网络安全控制。 IP 地址和端口范围仅根据应用程序的需要开放。
存储和计算资源
存储
有多种类型的存储选项可供选择。 就本参考架构而言,将针对几种可能的用例讨论 Amazon Elastic Block Store (Amazon EBS) 和 (也称为临时驱动器)卷。 各种存储选项的更多详细信息可以在 here 和 here 找到。
Elastic Block Storage (EBS)
EBS 提供了可与 Amazon EC2 实例(虚拟机)配合使用的持久块级存储,在 Linux 或 Windows 中可以将其格式化并挂载为传统文件系统,最重要的是,这些卷是非实例存储,独立于单个 Amazon EC2 实例的运行寿命而持续存在,这对于数据库系统非常重要。
此外,Amazon EBS 还提供了创建卷的时间点快照的功能,这些快照会持久保存在 Amazon S3 中。 这些快照可以用作新的 Amazon EBS 卷的起点,并保护数据以实现长期耐久性。 同一快照可用于实例化任意数量的卷。