NGINX.COM
Web Server Load Balancing with NGINX Plus

摘要

在 12 月 7 日的 NGINX Sprint APAC 2.1 大会上,F5 NGINX 业务部门总经理 Robert Whiteley 在主旨演讲中探讨了开源核心在现代应用架构中的重要性,分享了平衡开发速度和运维一致性的经验,并阐述了 NGINX 为开发者和运维团队带来的独特价值。

Rob 不仅回顾了 NGINX 在亚太地区为开源社区所做的实际行动,还预告了近期将推向市场的商业产品特性升级。最重要的是,Rob 首次透露了 NGINX 在未来 6 个月即将发布的全新开源项目:NGINX 扫描升级工具、NGINX Essential 开源软件包(仅限中国大陆地区)、实用的 Kubernetes Gateway API。

新冠疫情产生的深远影响

我们从这场疫情中认识到一个道理:疫情加速了商业模式的改变。在线业务快速发展,为了支持更高的业务量,在数字时代下生存且茁壮成长,改变是必须的。

开发人员是在线生存的关键。面对数字服务,开发人员需要更加敏捷。我们发现,那些最善于让开发人员变得敏捷的公司,成长速度更快、竞争力更强,为开发人员提供动力是至关重要。

但同时,我们也在承受着开发敏捷性带来的“风险”。当授权给开发人员时,开发人员会为每一项工作挑选工具,随意扩展导致复杂性,造成工具的无序蔓延,将风险引入到环境中。

那我们要如何实现两者的平衡?如何在赋予开发人员权力的同时设置规则,以确保操作的一致性,从而降低风险,减少复杂性,避免出现随意扩展?

一般来说,当开发人员将应用发布到生产环境中,会有另一个团队需要对其进行运维,这是整个 DevOps 体系的运作方式。但是 DevOps 团队有一系列完全不同的需求,所以经常需要引入一组全新的工具来进行应用运维。那么,如果开发人员喜欢的技术同时拥有运营人员需要的另一套功能,就不需要引入新的工具,并且可以规避风险,从而实现体系平衡。

而这可以通过NGINX实现。

DevOps 方程的一端:应用开发

开发者喜欢 NGINX 这一点是毋庸置疑的。因为在已知的 4.5 亿个互联网站点中,大约三分之一都运行于 NGINX 之上。

NGINX 的速度快,代码简洁,可以快速地处理流量;NGINX 还很灵活,可以用于多种用途,包括 web 服务、反向代理、负载均衡、API 网关,这使开发人员能够灵活地使用一个代码库来处理多种任务。

NGINX 还非常轻量,只有 2 MB 左右,可以在容器中运行,可编排性极强,并可以轻松扩展收缩。NGINX 非常易于使用,我们提供了一种简单直接的配置语言,使得 NGINX 的启动和运行变更加容易。

从开源的角度,我们在亚太地区做了哪些实际行动?

在全球已经接入网络的所有国家中,我们是获得参与度是最高的开源项目之一。我们的目标是把大家聚在我们的社区,让大家能够互相结识,并且让我们的社区获得认可。为了达到这一目的,我们做了诸多努力。

  • 部署本地资源

    我们建立了本地化且权威的 NGINX 站点以便社区能够访问,从而了解更多关于 NGINX 软件及其最佳实践的信息。

    如果你想尝试 NGINX 开源版,你可以访问 nginx.org 或者 nginx.org.cn —— 这是我们的全球网站之外唯一的 NGINX 官方开源网站,专为中国市场打造。

    除此之外,我们还利用我们的全球网站 nginx.com 的丰富经验,通过 nginx.co.jp 在日本实现本地化、通过 nginx-cn.net 在中国实现本地化。

  • 提供理想的会议或聚会空间

    我们在澳大利亚、新加坡和香港等多个城市使用英语举行会议,也在泰国、日本、中国举行会议。每次会议都使用当地语言进行本地化,为大家提供融入同行并互相交流最佳实践的绝佳机会。

  • 超级用户项目

    在东盟地区,我们设立了“超级用户项目” ,其目的是找到优秀用户,证明他们的技能,让他们在社区中得到广泛认可。我们希望在东盟之外更广泛区域推广这个项目。

更大的投入与更多开源项目与新产品的推出

开源在亚太地区具有巨大的吸引力和发展势头,我们还有多项激动人心的投资。

  • NGINX 扫描升级工具

    它的意义在于简化操作,帮你识别不同版本的 NGINX 并知道它们可以升级到哪个版本。这样你就可以使用最新功能,并确保 bug 和关键漏洞都被修复,这个工具将使你能够轻松使用最新的、稳定的 NGINX 版本。

  • NGINX Essential 开源软件包

    这个软件包目前仅限于中国市场,希望能够为我们的开放源码提供专门的支持。如果你不需要商业版的 NGINX Plus,仍然可以倚赖 NGINX 全球领先的支持服务。

  • 实用的 Kubernetes Gateway API

    我们始终活跃在 Kubernetes 的一些特别兴趣小组。对与 Gateway API 小组进行合作特别感兴趣。关于一个很特别的下一代 Ingress 项目,其目的是改变 Kubernetes 的运行方式,我们承诺在不久的将来推出一个实用且可参考的 Gateway API。

NGINX 开源开放的速度会进一步加快,而这些都只是刚刚开始。

DevOps方程的另一端:平台运维

如果说,以上是我们为了确保开发人员拥有出色的开源技术,而做出的种种努力与承诺,是解开实现平衡“方程式”的一端。那么,如何通过工具来确保平台拥有大规模应用运维能力,则是同等重要的另一端。

我们非常注重 PlatformOps(平台运维)小组,它指的是为开发人员构建友好基础设施的团队。这个团队构建了 Kubernetes、创建容器和可组合的基础设施,以便开发人员在发布代码时能够自动扩展并继承所有好处。

对于这些平台团队来说,他们有一系列独特的需求:

  • 需要扩展:需要确保容器可以被复制、扩展、实现更大的吞吐量、更多的流量和更大的弹性,避免服务用户时发生崩溃情况。

  • 平台治理:谁有权访问此环境,开发人员是否可以通过自助服务进行管理,如果可以,是否有合适的基于角色的访问控制。因此,需要有围绕治理的一组独立功能。

  • 安全防护:我们需要将特定的功能进行分层,比如 web 应用防火墙,或者 DDOS 保护以及 anti-bot 防护,以确保应用不易受到不同来自内部或外部的攻击。

  • 可观测性:以便在高度动态的环境中对应用的各种行为进行端到端跟踪,更轻松地排除故障,缓解和解决各类停机类型错误。

我们发现,开发人员正在转向开源,而平台团队却更倾向于商业解决方案。如果我们能够消除这一分歧呢?如果开发人员构建生产级应用时倾向使用的工具,同时具备一组功能,可以被添加、付费、订阅以自动解决平台团队的问题呢?

这就是 NGINX 的使命,这就是我们解开这个方程,让你的架构面向未来的方式,为了帮助你的平台团队实现这四项成果,我们有哪些例子可以参考,又在投资哪些产品呢?

  • 实例管理工具 NGINX Instance Manager

    六个月前,我们发布了实例管理工具 NGINX Instance Manager,用于配置、监控和跟踪大量 NGINX 实例,无论是开源的还是商业的。我们也即将推出2.0 版本,新版将提高治理能力、可观察性以及一些扩展功能。

  • 即将推出 NGINX Plus R26

    预定于 2022 年 2 月,我们将发布 NGINX Plus R26 ,它将带来围绕安全性和可扩展性的工具,从而使 NGINX Plus 更适合微服务环境。

  • NGINX Ingress Controller 1.14 版本

    我们最主要的用例之一就是将 NGINX 部署为 Kubernetes 的 Ingress Controller,事实上 NGINX 市场份额的 60 % 以上都与 Kubernetes 有关。

    因此我们想要发布 NGINX Ingress Controller 1.14 版本,这是商业化支持的 Ingress 控制器的新版本。它有为 Kubernetes 打造并基于 NGINX Plus 的特有功能,借此我们得以利用刚才提到的那些属性来解决基础 Kubernetes 环境所面临的挑战。

如何打造面向未来的架构

概括来说,首先需要优化 Kubernetes 流量;然后,需要管理和保护微服务;最后,在不同的 Kubernetes 集群之间实现负载平衡。

  • 优化 Kubernetes 流量

    NGINX 通过 Ingress Controller、服务网格和 WAF 开展了一系列工作,以确保 Kubernetes 做好投入生产环境的准备。如同建造房子的地基,有了坚实的基础,开发人员就可以开始在其测试和开发环境中使用容器。

  • 管理 API

    而这些容器是通过 API 调用来相互通信的,所以就会出现全新的微服务 API 流量。你需要防护和管理这些流量,而这也是我们帮助你打造面向未来架构的第二种方式——我们启用了一组 API 网关、API 生命周期管理和 API 安全工具,以实现 API 流量的自动管理。

    这建立在各项基础工作之上以确保优化 Kubernetes 流量,不仅拥有稳定的基础,而且拥有坚实的 API 基础设施,从而可以提供最有说服力的基于微服务的体验。接下来就可以为 API 提供安全保障并进行管理了。

  • 集群间的负载均衡

    下一步你需要将该集群连接到另一个集群,或者连接到运行于传统环境的另一个应用。这时,需要处理一些云原生的负载均衡选项。

    我们付出了艰苦努力来构建软件负载均衡,并提供 DDOS 保护和 BOT 缓解等附加功能,可以保护流量的路由过程。而通过 BIG‑IP 来实现全局服务器负载均衡,DNS 是最常用的方式。这样就实现了集群的自动故障转移和恢复能力。

至此,你就拥有了稳定的基础、可靠的 API 和容错能力。这就是在这个时代取得成功的路径图,这一切都可以通过 NGINX 开源版实现,并辅以平台团队以生产规模运维 Kubernetes 所需的商业功能。

Hero image
免费白皮书:
NGINX 企阅版全解析

助力企业用户规避开源治理风险,应对开源使用挑战

关于作者

Rob Whiteley

Rob Whiteley

General Manager, NGINX Product Group

Rob Whiteley serves as Chief Marketing Officer of NGINX. He has led marketing, product, and analyst teams for companies like Hedvig, Riverbed, and Forrester. Rob uses his experience working with enterprise IT and DevOps customers to deliver thought leadership and drive demand for modern IT infrastructure solutions.

关于 F5 NGINX

F5, Inc. 是备受欢迎的开源软件 NGINX 背后的商业公司。我们为现代应用的开发和交付提供一整套技术。我们的联合解决方案弥合了 NetOps 和 DevOps 之间的横沟,提供从代码到用户的多云应用服务。访问 nginx-cn.net 了解更多相关信息。