At Mendix 我们致力于引领低代码市场在云平台方面的进步,并为客户提供最高程度的选择和控制。我们率先在多云上部署低代码应用程序,并且我们是唯一一家将 高生产率开发与高控制部署 管理和 100% 云原生架构。今天,我们很高兴地宣布,我们的云平台的最新进展如下: 宣布支持 Kubernetes 开源容器编排系统。让我们来看看 Mendix 云堆栈以及 Kubernetes 带来的好处。
云原生和多云架构
Mendix 从一开始就构建为云原生应用平台。并且 Mendix 7我们推出了下一代云架构,利用 Cloud Foundry 和 Docker 提供市场领先的可扩展性、高可用性 (HA) 和多云可移植性。
2014 年,我们决定不仅将 Cloud Foundry (CF) 可互操作的平台即服务 (PaaS) 框架集成到我们的云运行时架构中,还加入 Cloud Foundry 基金会并成为贡献者——我们将继续履行这一承诺。事实上,我们仍然是唯一一家这样做的低代码平台供应商。
我们决定支持 Cloud Foundry 的原因有很多,其中最重要的一点是 CF 提供的云可移植性以及它对大规模可扩展性和持续运行的支持。除了公众 Mendix 云-它在 AWS 的多个区域和可用区上运行,并具有开箱即用的高可用性故障转移功能—您还可以部署 Mendix 在所有基于 CF 的 PaaS 平台上运行,包括 IBM BlueMix、Pivotal 和 SAP Cloud Platform。
与此同时,我们认识到,随着 CF 的广泛采用,Docker 将进一步拓宽我们客户的部署选项,使他们能够部署在几乎任何私有云、虚拟私有云或本地基础设施上。随着微服务和容器化成为许多组织的核心技术战略,Docker 的重要性和受欢迎程度将继续上升。事实上, Mendix 是第一家推出 Docker 支持的低代码平台供应商,可在 AWS 和 Azure 上部署虚拟私有云,并于 2016 年 XNUMX 月向开发人员提供该支持。我们仍然是唯一这样做的低代码供应商。
进入 Kubernetes
随着容器的普及以及创建适用于开发人员和运营团队的容器化策略的愿望,PaaS 技术的最新进展是容器引擎上下层的事实上的标准出现了:容器编排和调度。为什么这是一个需要解决的重要问题?正如 Gartner 所说:
Docker 非常适合解决单容器问题,例如如何构建容器(使用 Docker 工具和镜像格式)、如何运行容器(使用容器运行时)以及如何共享和分发容器(Docker Registries)。但大多数应用程序并不封装在单个容器中。大多数应用程序将软件打包到多个容器中并使用其他服务,例如上图中的数据存储、缓存和负载平衡器。与应用程序不同,容器只是生命周期较短的进程。这意味着在容器化环境中,需要管理的生命周期要多得多。”[I]的
图 1. Kubernetes 作为容器技术堆栈中 PaaS 的基础设施(来源:Gartner)。

容器管理系统应运而生,成为应对这一挑战的解决方案,其中 Kubernetes 就是一个典型例子。随着 Docker 作为容器引擎的普及,Kubernetes 也迅速成为首选的容器编排技术。它提供了一个容器管理系统,可自动跨主机集群部署、扩展和操作应用程序容器(包括 Docker)。
Kubernetes 最初由 Google 开发,用于支持强大的 Web 级架构,同时实现持续软件交付。如今,Kubernetes 已成为许多组织(从商业供应商到其他开源计划再到最终用户组织)所采用的开源项目。亚马逊、Google、IBM、微软、Pivotal 和 Red Hat 等供应商目前都支持 Kubernetes,而 Oracle 等其他供应商则计划在明年内转向 Kubernetes。Kubernetes 的广泛采用和无与伦比的发展势头迅速使其成为容器编排的事实标准。
Kubernetes Mendix
今天,我们再次通过支持 Kubernetes 来推动低代码云部署选项的最新发展 Mendix. 客户现在可以部署 Mendix 通过使用 Docker 容器构建的跨 Kubernetes 编排服务器集群的应用程序 Mendix Docker Buildpack。对于 DevOps 工作流,流行的自动化服务器如 詹金斯 以及 亚特实验室持续集成 可用于在集群上构建和部署容器。这意味着客户现在可以在任何使用 Docker 和 Kubernetes 的 PaaS 堆栈上享受与 Cloud Foundry 相同的部署便利性和水平可扩展性。这包括商业 PaaS 解决方案和容器即服务 (CaaS) 产品,以及企业可以使用 Docker 和 Kubernetes 自行组装的框架。事实上,我们今天就有客户为大型应用程序组合这样做。
我们的 Kubernetes 支持包括一系列操作指南以及 Jenkins/Kubernetes 参考实现 在 Azure 容器服务上运行。
互操作性创造更多选择
Kubernetes 的广泛采用正在促进 PaaS 市场出现两大重要且有益的趋势:
(1)开源项目和商业产品之间的协作和互操作性程度增强。
(2)综合PaaS框架关键功能的拆分。
这两种趋势正在迅速为应用程序开发和部署创造更多的选择,以及如何平衡简单性和控制性之间的权衡。
例如,Pivotal 最近宣布与 VMware 和 Google 合作开发的 Pivotal Container Service™ (PKS)。PKS 是开源 Kubo 项目的商业支持版本,旨在在企业环境中轻松部署和操作 Kubernetes,以及“无缝机制”以迁移到 Docker 工作负载以在 VMware vSphere 和 Google Cloud Platform (GCP) 上运行本地环境。这既是开放云原生基础架构内可移植性和互操作性的一个很好的例子,也是另一个堆栈 Mendix 架构是为了部署而构建的。
PaaS 生态系统中互操作性和开放性的另一个值得注意的例子是 开放服务代理 API. 支持 Mendix 平台,此 API 的创建是为了使 Cloud Foundry 中的服务代理功能可以独立使用。它允许应用程序查找并绑定到平台级服务,例如消息队列或数据库。以跨平台方式提供这种形式的代理功能非常强大。Google 和 Microsoft 已经开始通过 API 公开其平台功能,并且该 API 已在 OpenShift 和 Kubernetes 中采用。
这些例子表明,全球云生态系统在平台层面正在迅速发展。该生态系统允许每个组织根据自己的需要混合和匹配功能,并以最适合他们的方式平衡简单性和控制性。
全方位的云原生部署选项
这一切之所以至关重要,是因为并非所有组织或所有项目都具有相同的部署和运营要求。对于某些组织或项目而言,即时配置完整云堆栈的简单性、对弹性扩展和 HA 故障转移的开箱即用支持以及由 Mendix 将使公众 Mendix 云极具吸引力。对于其他人来说,使用 Docker、Kubernetes 和 Jenkins 等来组装、部署和管理自己的 CI/CD 和容器堆栈将是最合适的策略。其他人会选择中间方案:基于 CF 或基于 Docker/Kubernetes 的 PaaS 解决方案,允许他们选择在何处部署低代码工作负载,同时简化部署和管理。无论如何,我们的云原生架构和对开放云生态系统的支持让您可以灵活地做出选择。
有关更多信息,请 访问我们的操作方法和文档.
[I]的 Gartner“如何驾驭容器编排市场”,Dennis Smith、Arun Chandrasekaran、Andrew Lerner,24 年 2016 月 XNUMX 日