选择架构组件
在 ArcGIS 系统的架构设计过程中,许多决策与应用程序、软件、支持基础设施和系统的其他组件相关。 虽然大多数选择以主观为主,并且需要由了解需求、系统输入和方法的经验丰富的设计人员决定,但也可根据一些通用准则帮助优化决策或提高决策信心。 本节将尝试总结一些关键选择领域,并提供有用的指导来支持组织根据合理的条件进行更有目的的选择。
ArcGIS Online、ArcGIS Enterprise、PaaS 和混合系统
本网站中提供的每个系统模式都可以跨多种不同的部署模式构建,包括 ArcGIS Online、ArcGIS Enterprise 和 ArcGIS Location Platform 的组件以及相关的应用程序和接口。 在设计过程中,必须确定要实施的主要组件。 无论设计是基于这些系统模式还是特定契合目标的业务系统,此决策都适用。
许多组织通常选择 ArcGIS Online 或 ArcGIS Enterprise 作为其用户的主要“门户”系统,并将精力集中在该系统上,但越来越多的组织选择在其企业中结合这两个系统,专注于每个系统的优势,为用户提供明确的指导,以了解要使用的系统。
博客文章 ArcGIS Online 还是 ArcGIS Enterprise? 无需作出取舍概述了这些方法之间的差异并提供了一些有用的指导,可在 ArcGIS Enterprise 文档中找到详细的文档页面。
虽然 ArcGIS Online 和 ArcGIS Enterprise 之间共享数百种功能,但存在一些关键差异,可以指导用户进行设计选择。
ArcGIS Online 的主要区别:
- ArcGIS Online 是一种 SaaS 产品 - Esri 负责部署、更新和修补系统,所有这些活动均可在尽可能缩短用户停机时间的条件下完成。 SaaS 系统通过自定义代码或应用程序进行扩展的能力较差,并且通常具有一组固定的强大功能可供所有租户使用。
- Esri 为 ArcGIS Online 所有用户提供了稳健的服务级别协议。 此 SLA 保证特定 ArcGIS Online 组件的可用性,并提供用于追踪所有中断的状态页面。
- ArcGIS Online 是一种多租户 SaaS,用户可在其中搜索和访问来自其他组织的内容(如果组织允许),从而增加其对外部数据源的访问,包括面向合作伙伴内容提供商的 ArcGIS Marketplace。
- ArcGIS Online 旨在将内容分发网络 (CDN) 加速用于许多功能,包括静态网站资产、切片底图和用户管理的切片服务,以及托管要素服务中的要素切片。 这也有助于在全球范围内提供良好的服务水平 - 在 CDN 的支持下,远离中央数据中心的用户不会受到网络延迟的负面影响。
- 可通过 ArcGIS Online 访问 ArcGIS Enterprise 中当前不可用的多项功能,例如 ArcGIS Hub Premium、ArcGIS Data Pipelines、与 ArcGIS Location Platform 的集成以及 Esri 开发人员站点。
- 作为面向 Internet 的 SaaS 系统,所有用户或移动设备都可以通过 Internet 自动使用 ArcGIS Online。 组织无需管理公共 DNS、证书或修补安全漏洞,所有这些都由 Esri 直接通过 ArcGIS Online 完成。
- ArcGIS Online 已通过多项安全标准认证,并且每个版本都经过严格的安全测试、规划和实施。 与构建专用系统相比,使用 SaaS 系统实现高水平基础设施安全性更具成本效益。
ArcGIS Enterprise 的主要区别:
- ArcGIS Enterprise 提供了其他功能齐全的服务器角色,这些角色在 ArcGIS Online 中不可用或仅部分可用,包括:ArcGIS Knowledge、GeoEvent Server、适用于 ArcGIS Enterprise 的 Data Interoperability 扩展模块、Production Mapping Server、Maritime Chart Server 和其他功能。
- ArcGIS Enterprise 可以直接连接到您的现有数据存储系统:数据库、文件共享或其他数据源。 从这些源发布的 Web 服务动态显示并提供对现有记录系统中的数据的访问权限。
- 对于您的组织部署和管理的软件,您可以控制进行更改和升级的时间,这与 SaaS 不同,后者是同时为所有用户部署升级。 通过基于软件的方法,可以在发布之前通知用户更改或测试应用程序功能。
- ArcGIS Enterprise 支持更紧密的 IT 集成以进行身份验证,包括 Web 层身份验证、通过 AD 或 LDAP 使用企业群组,以及更严格的 SSL 和 TLS 协议或密码规范。
- 对于在您的网络中运行的软件,可以连接到其他企业数据系统,包括在适当时进行直接的实时连接。 作为 SaaS 的 ArcGIS Online 无法“进入”您的网络来访问这些数据集。
- 如果 ArcGIS Enterprise 在您的网络上运行,则还可以通过向 Intranet 提供开放服务,更轻松地将内容共享给“组织中的每个人”,无需像基于 SaaS 的系统那样进行身份验证。
- ArcGIS Enterprise 可在面向内部的模式下使用,也可以呈现在 Internet 中并用于面向 Internet 的工作流。
- ArcGIS Enterprise 作为基于许多组件构建的软件,会非常依赖第三方软件,这可能会增加安全扫描的复杂性。
- ArcGIS Enterprise 部署可以在组织域名后面托管,其中 ArcGIS Online 组织仅以
https://<orgname>..maps.arcgis.com
的形式提供
- ArcGIS Location Platform 服务通过单一的以开发人员为中心的网站提供,用户可在该网站中一站式访问其服务、计费和访问控制。
- API 密钥作为 ArcGIS Location Platform 中独有的身份验证模式提供,支持创建长期密钥,但范围限定为特定服务或功能,并通过允许的引用站点列表进行限制。
- ArcGIS Location Platform 使用即用即付模型,其中使用情况直接转换为成本,这可以让应用程序作者更好地控制其应用程序的成本概况。
- 可通过 ArcGIS Location Platform 访问只能通过该系统使用的特定服务,包括 Places service 和 Basemap Styles service。
混合部署
在“混合部署”中结合使用 ArcGIS Online 和 ArcGIS Enterprise 的方案也具备诸多优势:
- 分离内部和外部内容。 一些组织选择将所有面向公众的内容发布到 ArcGIS Online,同时保留 ArcGIS Enterprise 进行内部使用,这样可以轻松分离使用并有助于确保正确共享数据。 他们还可能使用 ArcGIS Online 的性能功能(缓存 + CDN)来管理成本,同时仍向用户提供高度可扩展服务。
- 支持移动用例:一些组织使用 ArcGIS Online 支持员工或承包商收集基于 Internet 的公共数据(这样设备就不需要使用 VPN)。
适用于 ArcGIS Enterprise 的操作系统
ArcGIS Enterprise 支持各种 Windows作系统和基于 Linux 的作系统,有关详细信息,请参阅适用于 ArcGIS Enterprise 的 Windows 和 Linux 文档。 ArcGIS Enterprise on Kubernetes 在可被视为第三种类型的操作系统上运行,即 Kubernetes 集群,该集群基于 Linux,但不能作为普通 Linux 操作系统进行访问和运行。
Windows 和 Linux 还是 Kubernetes?
全球数以万计的组织均在使用 Windows 和 Linux 上的 ArcGIS Enterprise,它在基于计算机的传统部署中运行,其中各个软件组件被部署到不同的硬件或虚拟化“服务器”,并组合在一起形成一个部署。 大多数组织都具有管理 Windows 和 Linux 工作负载的经验,并且对这种部署模式感到满意,这是一种稳定、一致且面向未来的部署模式。
ArcGIS Enterprise on Kubernetes 是 ArcGIS Enterprise 的较新部署模式,专门面向已投资 Kubernetes 来协调和管理其容器化应用程序的组织。 对于拥有在 Kubernetes 上部署和维护企业软件所需的资源和人员的组织,ArcGIS Enterprise on Kubernetes 部署选项将 IT 管理和维护与 GIS 管理分开,同时引入了各种云原生功能、新的可扩展性方法以及低停机时间升级和修补。 在使用 ArcGIS Enterprise on Kubernetes 与使用 Microsoft Windows 或 Linux 部署时,组织的大多数成员不会注意到任何差异,因为每个部署选项都提供相同的集中式、直观 ArcGIS Enterprise 门户以及为地图和应用程序提供支持的 GIS 服务。
简而言之,请考虑下面的其中一些建议:
- ArcGIS Enterprise 的 Kubernetes 部署通常更适合已经在 Kubernetes 中进行组织投资的组织,包括熟练的员工支持和部署组织标准
- Windows 和 Linux 部署可能符合与安全性、升级、修补或其他企业范围要求相关的其他组织标准。
- 虽然大多数功能都具有完全可比性,但并非所有基于 ArcGIS Enterprise 的功能应用程序都可以在 ArcGIS Enterprise for Kubernetes 上使用。 有关更多详细信息,请参阅版本博客文章。
Windows 还是 Linux?
大多数组织跨 Windows、Linux 和其他作系统或部署模式运行各种工作负载。 Windows 和 Linux 系列操作系统均受到完全支持,并且可以有效地运行 ArcGIS Enterprise。 Esri 技术支持分析师精通这两种作系统类型,并且两个系统支持绝大多数应用程序和体验。 ArcGIS Enterprise 文档中提供了适用于 Windows 和 Linux 的具体操作系统要求。
ArcGIS Enterprise 的 Windows 和 Linux 部署之间的主要区别如下:
- 服务器对象扩展模块和拦截器(SOE 和 SOI)可以使用 .NET 开发模式或 Java 开发模式进行编写。 虽然在 Java 编写的 SOE 和 SOI 可以与 Windows、Linux 或 Kubernetes 部署配合使用,但使用 .NET 版本的 ArcGIS Enterprise SDK 编写的扩展模块或拦截器只能部署到 ArcGIS Server 基于 Windows 的 ArcGIS Enterprise 部署。
- 某些 ArcGIS Server 扩展模块(包括 Data Interoperability for Server 和 Production Mapping for Server)在 Linux 操作系统上不受支持。 其他扩展(如 GeoEnrichment Server 或 Maritime Chart Server)最近添加了 Linux 支持,因此需要使用最新的作系统。
- 使用 集成 Windows 身份验证 (IWA) 的单点登录方案需要适用于 ArcGIS Enterprise 的 Windows 操作系统。
- 某些基于 Python 的工具可能需要特定于 Windows 或特定于 Linux 的模块或库,并且可能在运行 Microsoft Windows 的开发人员系统上运行,但由于缺少标准库,在发布到基于 Linux 的 ArcGIS Enterprise 环境时无法运行。
- 在解决数据源问题(例如与文件共享或数据库的连接)时,验证和详细的故障排除通常在 Linux 上更加困难,因为无法在系统上安装 ArcGIS Pro 来测试任何功能。 通过特定于操作系统的工具或 Python 库和
ArcPy
进行故障排除可用于评估连通性。
选择要用于组织的操作系统系列时,请考虑以下一些最佳实践指南:
- 您应该根据您的组织具备的特定操作系统体验指导您作出决策。 例如,如果大多数企业应用程序都在 Windows 上运行,则选择基于 Linux 的系统可能会造成运营难题,因为能够(或愿意)协助系统维护的 IT 人员较少。 如果您的操作系统与组织标准不统一,则缺少修补程序、关键维护和安全监控的概率会更高。
- 在选择特定版本的操作系统(或基于 Linux 的系统的特定版本)时,请尝试遵守现有组织指南,并在不会与组织支持发生冲突的情况下尽可能选择最新版本。
- 在全球范围内,Windows 上的 ArcGIS Enterprise 部署数量明显多于 Linux,但通常,更大、更复杂的系统更有可能在 Linux 上运行。 这种总体差异可能会影响经验丰富的员工支持的可用性,尤其是对于提供本地语言支持的全球客户。
- 系统工程师通过故障排除、修补、安装和升级来支持企业 ArcGIS 系统,他们应该非常熟悉所选操作系统,因为如果支持相应步骤的人员对所选操作系统感到满意,则所有步骤(尤其是故障排除)都将明显加快。
关系数据库提供程序
大多数使用关系数据库的 ArcGIS Enterprise 部署选择 SQL Server、Oracle 或 PostgreSQL(ArcGIS Enterprise 文档包含为每种类型提供的特定软件安装要求)。 其他受支持的数据库提供程序包括 DB2、Dameng、Teradata 和 SAP HANA,它们通常用于已经对该系统或提供程序进行了大量投资的组织。 从广义上讲,ArcGIS 专门用于在各种不同的数据库类型中同样出色运行,因为没有单一的更好或更快的提供程序可供选择。 企业级地理数据库可以在任何受支持的系统中成功创建、使用和优化。
通常,建议使用您的组织已经支持的数据库提供程序,尤其是在有员工可以协助掌握 DBA 技能的情况下。 许多 ArcGIS 部署(尤其是专注于大数据访问或编辑的部署)需要特定的 DBA 支持来协助做出调整、故障排除、安全性和存储决策,因此最好根据支持可用性选择数据库提供程序。
如果您的组织支持多种数据库类型,请考虑您的团队可能更熟悉的系统,或者是否存在可能有助于做出决策的成本或版本可用性约束。 此外,请考虑使用查询图层连接到可能包含有用业务数据的其他数据库。
数据存储策略
ArcGIS 系统连接到许多不同类型的存储,有关更多详细信息,请参阅 ArcGIS 概述的“数据”部分。 在许多情况下,数据所有者和发布者需要决定是在现有数据库或系统中托管数据,还是使用 ArcGIS Data Store 等 ArcGIS 托管组件。 这两个组件提供了许多相似的功能,但存在诸多显著差异,有关更深入的说明,请参阅 ArcGIS 中的数据:用户管理和 ArcGIS 托管技术论文。
有关数据存储类型的其他信息,请参阅 ArcGIS Enterprise 文档。
商业云提供商
如与云服务和提供商部分所述,在决定实施位置或提供商时,组织体验比具体的功能或首选项更重要。
将 ArcGIS 软件部署到云时,无论此系统是组织的第一次云部署还是第 50 次云部署,相关员工的使用经验都是重要的成功因素。 这意味着,如果您的企业 IT 组织已经拥有丰富的 AWS 使用经验,则建议将 ArcGIS Enterprise 部署在 AWS 中而不是 Azure 中。 或者,如果您的团队具有使用 Azure 开发运营流程进行自动部署的经验,则建议遵循该流程,以从他们的经验和最佳做法中受益。
身份验证方法或提供程序
与上述主题类似,选择身份验证提供商或技术时,通常应基于现有组织首选项和策略(例如适用于 SAML 或 OpenID Connect 的首选项)以及首选提供商(如 Azure AD、PingFederate 或 Okta)。 其他建议如下:
- 虽然 Web 层身份验证(如集成 Windows 身份验证)可能在网络中运行良好,但大多数系统现在都内置外部访问或非公司设备,这些设备可能更难使用 Web 层身份验证模式。
- 确保您的所有用户都能够在需要时访问身份验证端点。 例如,当工作流程包含移动应用程序时,组织可能会同时提供内部 SAML 和外部 SAML 身份提供商,除非设备持续使用 VPN 连接,否则最好使用外部 IdP。
- 更改身份验证方法或提供商可能会造成中断,但通常,在使用 SAML 时(其中,用户的 NameID 或用户名可以通过属性组合定义),中断会减少。