InterSystems IRIS:一个云优先的统一数据平台
InterSystems IRIS是一个全面、云优先的统一数据平台,能够帮助企业快速开发、部署和维护数据丰富的实时解决方案。不同于其他需要实施和集成多种技术的方案,InterSystems IRIS在单个产品中即可提供开发者所需的多项关键功能,其中包括:
- 多工作负载(同时进行事务型和分析型工作)的数据库管理功能;
- 多模型(关系、多维、对象和文档)的数据库管理功能;
- 一个全面的互操作平台,能够整合不同类型的数据孤岛和应用程序;
- 结构化、非结构化和开放的分析功能,同时支持批处理和实时处理的用例。
InterSystems IRIS支持各种环境并可自动部署。其功能使企业能够灵活、快速地部署应用程序,根据需要进行横向、纵向扩展,并采纳CI/CD(持续集成/持续交付)、DevOps及其他敏捷方法。
InterSystems云管理器
InterSystems IRIS配备了InterSystems Cloud Manager(ICM,云管理器),能够以简单直观的方式为用户提供各类虚拟集群和物理集群的置备和部署服务。
ICM具备以下三方面的优势:基础设施即代码(IaC)、不可变基础设施、基于InterSystems IRIS应用程序的容器化部署。ICM使企业能够充分利用云环境和容器化软件所具备的高效性、敏捷性和可重复性,无需进行重大开发或重组。
ICM具有下列特性和优点:
- 自动化置备和部署,并可通过命令行管理基于云的大规模InterSystems IRIS配置;
- 可将基于InterSystems IRIS的应用程序集成到企业的DevOps工具链中;
- 在必要时,可通过快速的重新配置和重新部署提高敏捷性;
- 易于实施应用程序及其运行环境的版本控制,从而提高稳定性、稳健性并将风险最小化。
ICM能够在以下平台上置备虚拟计算节点和相关资源:
- 亚马逊网络服务(AWS)
- 谷歌云平台(GCP)
- 微软Azure
- VMware vSphere
- 既有的虚拟环境和裸机环境
定义
每个ICM部署都是通过JSON格式的配置文件内容进行定义的。这些文件几乎包含了在置备和部署InterSystems IRIS配置时所需的全部设置。在指定了所需的计算节点类型和数量以及其他细节(如安全凭证、InterSystems IRIS许可证等)之后,ICM就可以开始进入置备阶段了。
置备
ICM支持三项主要的置备活动:在云环境中创建(置备)、配置、解除(取消置备)计算节点和相关资源。
ICM通过集成和利用HashiCorp Terraform来完成置备任务。Terraform是一种安全高效地构建、更改基础设施并对其进行版本控制的开源工具,而且兼容现有的云服务提供商平台和定制的解决方案。
ICM可在以下方面完善Terraform:
- ICM并行运行多个Terraform作业,同时配置所有节点类型,从而加快置备过程;
- ICM使用Java编程访问Terraform;
- ICM通用JSON格式定义所需的基础设施。
ICM还能够以同样的方式使用SSH来完成一些置备后的配置任务,在多个节点上并行运行命令,以加快执行过程。
部署
在ICM置备的计算节点上,ICM将预建的InterSystems IRIS镜像部署到Docker容器。这些容器是独立于平台的,完全可移植,无需进行安装,而且易于调整。ICM本身也部署在Docker容器内。容器化应用程序在宿主机系统的内核上面原生运行,而容器仅为应用程序提供各项必要的要素(包括运行时环境、代码、库、环境变量和配置文件),以便让应用程序能够正常运行并访问所需的连接、服务和接口。
通过调用Docker功能来完成部署任务。
ICM可从以下方面完善Docker:
- ICM在各个机器的并行线程内运行Docker命令,从而减少执行费时任务(如下载镜像等)的总时间;
- ICM能够编排具有特定应用需求的任务,例如滚动升级。
管理
ICM使用户能够以多种方式交互和管理各个置备的云节点和其上部署的所有容器。譬如,用户可以在云主机上或在容器内运行命令,将文件复制到
主机或容器,升级容器,并直接与InterSystems IRIS进行交互。除了能够在多个节点上并发运行各条命令之外,ICM还能够让用户在多个层级上与管理部署的各个节点进行交互。例如,用户可以:
- 通过打开shell程序,与计算节点的操作系统进行交互;
- 打开容器的shell程序,与容器的操作环境进行交互;
- 直接打开运行InterSystems IRIS实例的InterSystems IRIS安全会话。
容器
容器镜像是一个独立的轻量级可执行包,包含有软件及其运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。容器是容器镜像的一个运行实例。
容器镜像将应用程序打包到与平台无关的、完全可移植的运行时解决方案,满足并隔离所有的依赖项。每当需要容器时,可以随时执行容器镜像。此举能够让开发者在不同环境之间(例如从开发环境到测试或生产环境)轻松传递容器化的应用程序,从而减少具有不同目标的各部门之间的冲突。譬如,开发者可以专注于最新的代码和库,而运营工程师则可以将精力集中在总体解决方案基础设施,包括网络、高可用性、数据持久性等等。
同样,容器化具备敏捷性和可重复性,可以帮助企业变革其响应业务和技术需求的方式。借助容器,我们可以清晰分隔应用程序的置备过程(包括将构建阶段与运行过程分开),而且企业还可以采用统一的应用程序交付方法,包括更敏捷的交付方法(如DevOps)和架构(如微服务)等。
通过清晰分离代码和数据,容器能够将应用程序及其环境无缝部署到不可变的软件置备基础设施。这样就可以方便快捷地进行应用程序的部署和升级,降低基础设施更新相关的风险和成本,并且增强易用性和DevOps适应性。企业可以使用InterSystems IRIS容器镜像去部署基于InterSystems IRIS的解决方案,并且也可以将应用程序添加到InterSystems IRIS容器镜像,然后部署集成的容器。
容器化应用程序全部驻留在容器里,不能完全独立地运行在容器赖以运行的操作系统(OS)之上,容器也不包含应用程序运行所需的完整操作系统。容器内的应用程序在宿主机系统的内核上面原生运行,容器仅为应用程序提供各项必备的要素(包括运行时环境、代码、库、环境变量和配置文件),以便让应用程序能够正常运行并访问所需的连接、服务和接口。
由于容器只打包这些要素并原生执行容器化的应用程序,所以容器可以在一个可管理的独立进程内高效运行,且不会比其他任何可执行程序占用更多的内存。此外,容器是完全可移植的,与宿主机环境完全隔离,并且只在配置允许的情况下才访问本地文件和端口。同时,容器还提供易于理解的、标准的应用程序配置、行为和访问功能。与在Linux系统上运行的传统InterSystems IRIS实例一样,无论基于Linux的InterSystems IRIS容器在怎样的物理、虚拟或云系统和操作系统平台上运行,用户都能够以同样的交互方式与这些容器进行交互。
借助ICM部署Sharded InterSystems IRIS架构
ICM支持sharded2(以及non-sharded)的InterSystems IRIS架构。通过ICM可以置备和部署所需的数据服务器、应用服务器、shard服务器、web服务器、负载平衡器(必要时)以及镜像配置的仲裁节点。数据服务器可以进行镜像,以实现数据的高可用性。在sharded集群中,shard主数据服务器(存储non-sharded数据)和shard数据服务器(存储sharded数据)都可以进行镜像。
总结
使用配备InterSystems ICM的InterSystems IRIS数据平台,企业能够更方便地充分利用云基础设施和高级部署方法,并采用新的软件工程流程,进一步简化开发、部署和维护数据丰富并具有实时性需求的解决方案。InterSystems技术能够帮助企业在不牺牲性能、可扩展性、可靠性和安全性的前提下,提高敏捷性和灵活性并降低风险和成本。
InterSystems是驱动世界上众多重量级行业应用的信息技术引擎。在医疗、金融、政府和诸多涉及国计民生的关键领域,InterSystems赋予了每一项重要成就以科技的原力。InterSystems创立于1978年,是一家总部位于美国马萨诸塞州剑桥市的私人控股公司。该公司在全球设立分支机构,其软件产品每天都在80多个国家被数百万用户所使用。更多详情,敬请登录:https://www.intersystems.com/cn/products/intersystems-iris/
点击链接,获取PDF文档: