追赶 NGINX 应用平台:2019 年新动态

table.nginx-blog, table.nginx-blog th, table.nginx-blog td {
边框:2px 纯黑;
边界崩溃:崩溃;
}
表.nginx-博客 {
宽度:100%;
}
table.nginx-blog th {
背景颜色:#d3d3d3;
对齐:左;
左内边距:5px;
右内边距:5px;
底部填充:2px;
顶部填充:2px;
行高:120%;
}
表.nginx-博客 td {
左内边距:5px;
右内边距:5px;
底部填充:2px;
顶部填充:5px;
行高:120%;
}
表.nginx-博客 td.center {
文本对齐:居中;
底部填充:2px;
顶部填充:5px;
行高:120%;
}

企业比以往任何时候都更加认识到数字化转型对其生存至关重要。事实上,据《华尔街日报》报道,高管们目前将遗留运营和基础设施视为危害其能力的第一大风险因素与“天生数字化”的公司竞争。

云、DevOps 和微服务是加速数字化转型计划的关键技术。他们正在为利用它们的公司带来回报 – 根据 CA Technologies 委托 Freeform Dynamics 进行的一项研究,采用 DevOps 实践的组织的收入和利润增长比同行高出 60%,并且实现这一目标的可能性高出两倍年增长率超过 20%。企业也在对其应用架构进行现代化改造——在 LightStep 委托进行的一项调查中,86% 的受访者预计微服务将在 5 年内成为他们的默认架构。

我们于 2017 年底推出了 NGINX 应用程序平台,使正在进行数字化转型的企业能够对传统的整体应用程序进行现代化改造,并在多云环境中大规模交付基于微服务的新应用程序和 API。企业部署 NGINX 应用平台来提高敏捷性、加速性能并降低资本和运营成本。自推出以来,我们一直在定期向所有组件解决方案引入企业级功能,包括 NGINX Controller、NGINX Plus 和 NGINX Unit。本博客概述了自 2019 年初以来针对 Kubernetes 的 NGINX 应用程序平台和 NGINX 入口控制器的重要更新。

下表总结了自 2019 年初以来每个组件引入的新功能和优势。有关详细信息,请参阅后面的链接部分。

成分
特征
好处
NGINX 控制器负载均衡模块 使用配置模板进行基于策略的配置管理方法 防止错误配置并确保一致性

节省时间

跨mu轻松扩展配置应用多个 NGINX Plus 实例 ServiceNow 集成 简化故障排除工作流程 NGINX控制器API管理模块 过滤和搜索

环境特定的 API 定义可视化 提高可用性:

  • 更灵活的 API 定义
  • 易于按主机名和 API 进行过滤和搜索
NGINX Plus 动态证书加载

跨集群成员共享配置 简化的配置工作流程 支持服务器监听配置中的端口范围 NGINX Plus 可以部署为被动模式下 FTP 服务器的代理 证书和密钥可以存储在内存键值存储中

支持不透明会话令牌 增强安全性:

  • 无法从部署映像或文件系统备份中获取机密
  • 客户端上不会存储任何个人身份信息
服务器离线时可以立即关闭TCP连接 提高可靠性:

  • 客户端立即重新连接到健康的服务器,消除了由于超时而导致的延迟
NGINX 单元 对 Java servlet 容器的实验性(测试级)支持 对最流行的企业编程语言的支持使支持的语言数量达到七种 内部路由 多个应用程序可以托管在同一 IP 地址和端口上

目标应用程序的精细控制
适用于 Kubernetes 的 NGINX 入口控制器 NGINX 自定义资源 使用原生 Kubernetes 风格的 API 简化配置 其他 Prometheus 指标 快速检测性能和可用性问题与入口控制器本身 对外部资源的流量进行负载均衡 更轻松地迁移到 Kubernetes 环境 专用 Helm 图表存储库 在 Kubernetes 环境中轻松轻松地部署 NGINX

NGINX 控制器 2.0–2.4 中的更新

我们对 NGINX 控制器采用了类似 SaaS 的升级节奏 – 我们每月发布一个包含新功能(有时是次要功能,有时是主要功能)和错误修复的新版本。

NGINX Controller 2.0–2.4 中的负载均衡模块

NGINX 控制器中的负载均衡模块使您能够在多云环境中大规模配置、验证和监控所有 NGINX Plus 负载均衡器。

负载平衡模块有两个主要增强功能:

  • 基于策略的配置管理方法 – Y您可以为 NGINX Plus 负载均衡器创建配置模板,包括特定于环境的模板 – 例如,一个用于生产环境,另一个用于测试环境。这些模板可以节省时间,帮助您实现规模化,并消除由于配置错误而导致的问题。它们可以进行版本控制,如果出现任何问题,您可以恢复为“黄金映像”。
  • 与 ServiceNow 集成 – 您可以通过将警报从 NGINX 控制器转发到 ServiceNow 来简化故障排除工作流程。

有关负载平衡模块更改的更多详细信息,请参阅我们的博客。

NGINX 控制器 2.0 –2.4 中的 API 管理模块

API 管理模块使基础设施和运营以及 DevOps 团队能够实现完整的 API 生命周期管理,包括定义、发布、保护、管理流量和监控 API,而无需任何操作影响性能。它建立在创新架构之上,并使用 NGINX 作为数据平面组件,非常适合传统应用程序和基于微服务的现代分布式应用程序的需求。

API 管理模块于 2019 年 1 月全面推出。从那时起,我们一直致力于 API 定义界面的可用性改进:

  • 入口点主机名采用颜色编码来指示 NGINX Plus API 网关配置的状态:
    • 灰色 – 配置未推送到入口点
    • 绿色 – 配置已推送且所有关联实例均在线
    • 黄色 – 配置已推送,但某些实例仍处于离线状态
    • 红色 – 配置已推送,但所有实例均处于离线状态
  • API 定义的新卡片布局可轻松可视化和访问不同的环境
  • 能够按 API 名称和主机名
  • 部分 API 定义未路由到后端服务时发出警告
  • 可以自定义未知 API 端点的错误响应(404 错误)

有关使用 API 管理模块定义 API 的详细信息,请参阅我们的博客。

NGINX Plus R18

NGINX Plus 的灵活性、可移植性以及与 CI/CD 自动化工具的无缝集成有助于加速企业采用 DevOps。 NGINX Plus R18 通过简化配置工作流程并增强应用程序的安全性和可靠性来实现这一目标。 NGINX Plus R18 的主要增强功能包括:

  • 简化的配置工作流程

    • 动态证书加载 – 仅当请求匹配的主机名时,TLS 证书才会加载到内存中。您可以使用 NGINX Plus API 自动将证书和私钥上传到键值存储中,从而节省时间和精力。这是特克特别适合具有大量证书的部署或配置重新加载非常频繁的情况。
    • 支持服务器配置的端口范围 – 您可以指定虚拟服务器侦听的端口范围,而不仅仅是单个端口。这还允许 NGINX Plus 在被动模式下充当 FTP 服务器的代理。
    • 简化集群管理 – NGINX Plus R15 引入了跨 NGINX Plus 实例集群的运行时状态同步。此版本通过在集群的所有成员上使用相同的集群配置来增强集群功能。这在 AWS Auto Scaling 组或容器化集群等动态环境中特别有用。
  • 增强安全性

    • 最大限度地减少证书的暴露 – 在此版本中,NGINX Plus 可以直接从内存中的密钥值加载证书和关联的私钥ue商店。不在磁盘上存储机密意味着攻击者无法再从部署映像或文件系统备份中获取机密副本。
    • 支持不透明会话令牌 – NGINX Plus 支持 OpenID Connect 身份验证和后端应用程序的单点登录。 NGINX Plus R18 添加了对 OpenID Connect 颁发的不透明会话令牌的支持。不透明令牌不包含有关用户的个人身份信息,因此客户端不会存储任何敏感信息。
  • 提高可靠性

    • 使客户端能够在运行状况检查失败时重新连接 – NGINX Plus 主动运行状况检查会不断探测上游服务器的运行状况,以确保流量不会转发到离线的服务器。在此版本中,当服务器由于多种原因之一脱机时,客户端连接也可以立即终止。当客户端应用程序重新连接时,它们会被代理到一个健康的后端服务器,从而提高应用程序的可靠性。

有关 NGINX Plus R18 的更多详细信息,请参阅我们的博客。

NGINX 单元 1.8.0

NGINX Unit 是一个开源的轻量级、灵活、动态、多语言应用服务器,目前支持七种不同的语言。今年到目前为止,我们已经改进了 NGINX Unit:

  • 对 Java servlet 容器的实验性支持 – 根据开源平台即服务项目 Cloud Foundry Foundation 的一份报告,Java 是企业开发的主要语言。为了满足许多用户的要求,我们在 NGINX Unit 1.8.0 中引入了对 Java servlet 容器的 beta 级支持。 Java 是 Oracle 和/或其附属公司的注册商标。
  • 内部路由 – 内部路由可以对目标应用进行精细控制。有了这个支持,您可以在同一IP上运行许多应用程序地址和端口。 NGINX 单元可以根据主机、URI 和 HTTP 方法确定将请求转发到哪个应用程序。内部路由的示例用例包括:
    • 由特殊应用处理的 POST 请求,可能用不同的语言编写。
    • 对管理网址的请求需要与主应用程序不同的安全组和更少的应用程序进程。

有关 NGINX Unit 1.8.0 的更多详细信息,请参阅我们的博客。

适用于 Kubernetes 1.5.0 的 NGINX 入口控制器

NGINX 是 Kubernetes 环境中部署最多的 Ingress 控制器。适用于 Kubernetes 的 NGINX 入口控制器为由许多微服务组成的复杂应用程序提供高级负载平衡功能,包括会话持久性、WebSocket、HTTP/2 和 gRPC。版本 1.5.0 引入了以下功能:

  • 使用 NGINX 自定义资源定义入口策略 – 这是一个新的遵循 Kubernetes API 风格的配置方式,让开发者获得与使用 Ingress 资源相同的体验。通过这种方法,用户不必使用注释——所有功能现在都必须成为规范的一部分。它还使我们能够以可扩展和可预测的方式支持 RBAC 和其他功能。
  • 其他指标 – 由简化的 Prometheus 导出器提供,此版本中引入了新指标,用于快速检测 NGINX Ingress Controller 本身的性能下降和“正常运行时间”。
  • 支持对外部服务的流量进行负载平衡 – NGINX Plus Ingress Controller 现在可以对集群外部目的地的请求进行负载平衡,从而更轻松地迁移到 Kubernetes 环境。
  • 专用 Helm 图表存储库 – Helm 正在成为在 Kubernetes 上打包应用程序的首选方式。 NGINX Plus Ingress 版本 1.5.0控制器可通过我们的 Helm 存储库获取。

有关 Kubernetes 1.5.0 的 NGINX Ingress Controller 的更多详细信息,请参阅我们的博客。

对 NGINX 的持续投资

展望未来,既然我们已经成为 F5 Networks 的一部分,我们计划加强对开源以及 NGINX 应用平台的投资。 F5 致力于 NGINX 开源技术、开发者和社区。我们预计,额外的投资将为开源计划注入新的活力,并使我们能够开发开源功能、举办更多开源活动并制作更多开源内容。阅读 NGINX 业务部门总经理 Gus Robertson 撰写的有关 F5 对开源承诺的博客。

我们还期望我们的解决方案能够实现更多的异花授粉 – 我们希望利用 F5 提供的丰富安全功能并将其嵌入到 NGINX 解决方案中。 F5 解决方案将变得更加敏捷、灵活和便携不影响可靠性、安全性和治理。我们对接下来发生的事情感到兴奋。在 Twitter 和 LinkedIn 上关注我们,了解 NGINX 应用程序平台的更新。

请参加 NGINX Conf 2019,详细了解我们对 F5 的未来愿景。您将了解新产品的发布和我们的路线图计划,并有机会向行业杰出人士学习。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注