原文作者:Rob Whiteley of F5
原文链接:NGINX 的将来:回到开源的初心
转载起源:NGINX 官方网站
编者按:
本文公布于 2022 年 NGINX 寰球 Sprint 线上大会期间,其中不仅回顾了 NGINX 在过来获得的成就,同时面向来年提出了三项重大承诺和三项重要公布。
NGINX Sprint China 2022 是 NGINX Sprint 寰球线上大会的本地分支版本,也是 F5 NGINX 中国区全年最隆重的线上旗舰会议。本次会议预计将于 2022 年 12 月初举办,咱们将分享最热门的行业趋势以及 NGINX 的最新动静,并且探讨与 NGINX 以及更多热门开源我的项目相干的行业案例和最佳实际。NGINX 官网团队也会借此机会与社区进行深刻交换,期待听到您的声音和反馈。
咱们十分心愿有更多的 NGINX 用户参加到会议中来,您能够在 20 分钟的演讲工夫内分享任何与 NGINX 相干的内容。欢迎您点击通过表单提交议题,咱们期待着与您相约 NGINX Sprint China 2022 线上大会!
欢快的时光总是过得飞快,难以置信 NGINX 至今已走过 18 个年头。回顾过去,咱们与 NGINX 社区独特获得了诸多成就。最近咱们又达到了一个重要里程碑——截至本文撰写时,55.6% 的网站由 NGINX 提供反对(通过 NGINX 自有软件或基于 NGINX 构建的产品)。NGINX Web 服务器的市场份额排名第一。咱们为此深感骄傲,并衷心感谢 NGINX 社区长期以来对咱们的高度信赖。
与此同时,咱们越发意识到开源软件将持续扭转世界,愈来愈多的利用将应用开源代码构建。从彭博终端和新闻、华盛顿邮报,再到 Slack、爱彼迎、Instagram、Spotify,寰球成千上万的知名品牌和企业都依附 NGINX 开源版来反对其网站。就我集体而言,我白天应用 Zoom 召开工作会议,早晨观看 Netflix,每天大概 80% 的工夫都花在了基于 NGINX 构建的利用上。
然而在开源胜利的背地,NGINX 只是幕后推手之一。如果没有从 Kubernetes、容器到 Python、PyTorch,以及从 WordPress 到 Postgres 再到 Node.js 等所有这些令人惊叹的开源我的项目,咱们将无奈构建数字世界,也就更无法控制和治理物理世界。开源曾经扭转了咱们的工作形式,在 Github 上超过 7,300 万开发人员独特合并了 1.7 亿余次 PR,其中很大一部分位于带有开源许可证的代码仓库中。
在开源崛起和迈向胜利的过程中,很快乐看到 NGINX 施展了至关重要的作用。咱们将持续奉献一己之力,为开源世界的倒退添砖加瓦。与此同时,咱们必须就本人的开源工作反躬自省,跟上开源静止的继续倒退。有些公司有时会因其开源盈利模式引发争议,而这也是 NGINX 始终致力于清晰地界定开源版和商业版的起因。对咱们来说,最重要的是:绝不试图在开源软件版本中蕴含任何性能免费。
开源产业正在疾速演进,NGINX 也在一直倒退
咱们当初意识到必须慎重对待本人的开源承诺,在开源产品中提供更多价值和性能的同时也要晋升在商业畛域的竞争力。咱们不能一味地就过来的性能免费,因为时代未然扭转,一些仅在咱们商业产品中提供的性能明天已成为开源开发人员必不可少的工具。咱们还深知,开源安全性是开发人员的首要思考事项。因而,咱们的开源我的项目必须像咱们的商业产品一样具备安全性。
此外,咱们还必须承受事实。在业内,宽泛流传的一种说法是开源并不真正满足生产环境的需要,因为它不足种种个性及可扩展性。但现在,事实证明这种说法已不合时宜——数以千计的企业正在生产环境中运行 NGINX 开源软件——这是一件坏事,因为这充沛表明了公司们对咱们开源版本的高度信赖,咱们将带着这份信赖再接再厉。
事实上,咱们始终在通过外围产品服务公众。如果有人说原先的 NGINX 产品系列曾经过期,那我只能说您并没有亲密关注咱们的动向:
- 对于外围 NGINX 开源版 软件,咱们始终在一直增加新个性和性能,并反对更多操作系统平台。在行将公布的下个版本中,咱们将通过 HTTP3 和 QUIC 这两大性能来保障 Web 利用以及流量的安全性和可扩展性。
- 在 NGINX 生态系统中,NGINX JavaScript (njs) 虽声名不显,但别具创新力,它反对开发人员将 JavaScript 代码集成到 NGINX HTTP 和 TCP/UDP(串流)模块的事件处理模型中,并扩大 NGINX 配置语法以施行简单性能。咱们的用户已借助 NJS 做出许多了不起的尝试,从翻新的高速缓存和申请头操作到反对 MQTTV5 等更高级的协定。
- 咱们的通用 Web 应用服务器 NGINX Unit 由 NGINX 开源版原作者 Igor Sysoev 构思而成,目前仍在一直倒退。Unit 在咱们的古代利用和古代利用堆栈愿景中占据着重要位置,甚至远远超过数据立体和安全性等次要关注点。在 Unit 开发期间,咱们从新思考了如何为一直倒退的 Web 建构利用,提供更多云原生和专为分布式和高度动静利用设计的性能。
NGINX 古代利用参考架构
咱们一直试验并摸索如何帮忙外围开发人员更高效、更轻松地部署古代利用。在去年的 Sprint 2.0 上,咱们发表推出了 NGINX 古代利用参考架构 (MARA),在此很快乐地发表其最新版本 1.0.0 也已于最近正式公布。MARA 是一个精心设计的工具堆栈,其中包含了 Kubernetes,它反对轻松地将基础架构和利用架构作为代码部署。只需单击几下,即可配置和部署 MARA 参考架构,该架构集成了创立生产级云原生环境所需的所有——安全性、日志记录、网络、应用服务器、配置和 YAML 治理等。
MARA 是一个悉心设计的模块化架构。您能够依照本人的形式应用现有模块,或者利用现有模块设计可理论运行利用的定制参考架构。社区对咱们的想法示意大力支持,咱们已与许多翻新技术公司就 MARA 开展单干。Sumo Logic 已将其日志记录性能增加到 MARA 中,Pulumi 则提供了自动化和工作流编排模块。咱们心愿在 MARA 的帮忙下,任何开发人员都可能在几分钟内启动并运行残缺的 Kubernetes 环境——装备所有反对组件,保障平安无虞,且做好利用部署筹备。而这只是大家合力推动重大行业打算并获得卓越功效的一个示例。
NGINX 的将来:现代化、优化和扩大
在每年的线上大会 NGINX Sprint 上,咱们都会面向来年做出新的承诺。往年也不例外。咱们对将来十二个月的承诺可概括为三个关键词:变革 、 优化 和扩大。这些承诺并非吸人眼球的商业噱头;咱们已针对每项承诺制订了实质性打算,心愿你们可能见证咱们兑现承诺。
承诺 1:变革我的项目治理和社区治理形式,出现现代化的风貌
显然,咱们正在疾速变革代码,并引入新产品和我的项目。但须要变革的不只是代码,还包含代码治理、决策透明度以及咱们在社区中的存在形式。之前 NGINX 开源版代码库始终在 Mercurial 版本控制系统上运行,但当初咱们意识到 GitHub 是开源世界的核心。展望未来,因为开发人员和开源社区都将在 GitHub 上工作,所有 NGINX 我的项目都将诞生并托管于 GitHub。
咱们还将变革 NGINX 我的项目治理和治理形式,承诺将进步对奉献的接收度,晋升治理透明度,并进一步拉近与社区的间隔。咱们将遵循古代开源工作的所有常规,重建在 Github 上的出现状态,将这些行为准则增加到咱们所有我的项目中,同时亲密关注社区反馈。作为变革承诺的一部分,咱们还将在 Slack 上创立 NGINX 社区频道,届时咱们将装备本人的专家为大家解疑答惑。当然,社区成员也可通过日常工作应用的通信工具互相帮助。
承诺 2:优化开发人员体验
开发人员是咱们的次要用户,正是他们创立的利用成就了明天的 NGINX,而咱们的主旨始终是确保 NGINX 易于应用。现在,咱们已根本实现这一主旨——用户能够轻松装置、启动并配置 NGINX。
然而,咱们齐全能够做得更好。咱们还可通过缩短学习曲线和简化配置过程,帮忙应用咱们产品的开发人员减速实现价值,这里的“价值”是指在生产环境中部署真正有价值的代码。咱们将通过简化装置体验,改善文档,以及扩充咱们社区论坛中的覆盖面和影响力来改善开发人员体验。
咱们还将公布一款新型 SaaS 产品,该产品与 NGINX 开源版原生集成,可帮忙您在几秒钟内启动并运行 NGINX Open Source。您无需注册,本产品没有应用门槛且不用付费,这项 SaaS 服务将永远收费凋谢。
此外,咱们发现开发人员当初高度依赖的许多要害性能,都被纳入了付费版 NGINX Plus 而非 NGINX 开源版之中。例如,对古代利用至关重要的 DNS 服务发现。咱们承诺将这些要害性能增加到 NGINX 开源版中,收费提供给大家应用,但咱们尚未确定具体要收费凋谢哪些个性。因而咱们须要您的反馈,请通知咱们如何优化开发人员体验,您的声音,咱们始终在聆听。
承诺 3:扩大 NGINX 的性能与能力
NGINX 目前备受青眼,但要想十年后还能广受欢迎,就须要一直做出改良。咱们为此提出了一个雄心勃勃的指标:创立一个残缺的 NGINX 利用和反对性能堆栈,以大规模治理并运作古代利用。
目前,NGINX 次要被用作七层数据立体。但开发人员必须在 NGINX 四周搭建大量脚手架——例如您必须连贯自动化和 CI/CD 性能,设置适当的日志记录,增加身份验证和证书治理等等能力让其失常工作。因而,咱们心愿对 NGINX 进行更杰出的扩大,通过为 NGINX 无缝集成一个或多个高质量的开源组件,来满足常见的利用测试和部署要求。简而言之,咱们心愿堆栈的每一层都具备价值,并向公众收费凋谢。
举例来说,如果您正应用 NGINX 开源版或 NGINX Plus 作为 API 网关,咱们心愿确保您领有治理和扩大该用例所需的所有—— API 导入、服务发现、防火墙、策略规定和安全性,并且这些全部都是高质量的开源选项。
总而言之,咱们致力于围绕 NGINX 构建一个能够涵盖利用治理和部署方方面面的生态系统。MARA 正是构建该生态系统的第一步,心愿能持续吸引更多合作伙伴。咱们的指标是到 2022 年年底,在 NGINX 环境中只需几分钟便可启动并运行一个残缺的预连贯利用,同时提供齐全的配套性能,包含分布式跟踪、日志记录、主动缩放、安全性、CI/CD hook 等。
推出 Kubernetes API Gateway、全新 Amplify 和 NGINX Agent
NGINX 致力于践行承诺,以下是咱们对于实现承诺至关重要的三项重大公布。
-
往年早些时候,咱们基于 Kubernetes API Gateway SIG 参考架构推出了 NGINX Kubernetes Gateway。这变革了咱们的产品系列,并使咱们与云原生的继续倒退保持一致。NGINX Kubernetes Gateway 也代表着咱们向社区伸出的橄榄枝。咱们为 Kubernetes 创立了商业和开源版 Ingress controller,两者与社区 Ingress 解决方案(同样基于 NGINX 构建)有很大区别。其实在创立期间,咱们就已意识到这会引发肯定的问题,多种抉择会让社区产生混同,并将咱们置于不利之地。
很显著,Gateway API 最终将取代 Kubernetes 架构中的 Ingress controller。因而,咱们决定扭转既有办法,将之前仅作为开源产品提供的 NGINX Kubernetes Gateway 视作将来 Kubernetes 网络开发工作的重点(也是为了与一直演进的行业标准放弃同步)。该网关将被集成并扩大到其余 NGINX 产品,优化 Kubernetes 上的开发人员体验。
- 几年前,咱们推出了 NGINX Amplify,这是一款用于 NGINX 设施群监控和遥测的 SaaS 产品。尽管咱们没有鼎力宣传 Amplify,然而金子总会发光,现在成千上万的开发人员仍在应用这款产品。无论过来还是当初,Amplify 都收费供大家应用。作为咱们变革承诺的一部分,咱们正在为 Amplify 增加诸多新性能。咱们的指标是使其成为值得大家信赖的助手,帮忙您实时对 NGINX 产品进行启动、监控与大规模治理。Amplify 不仅能监控 NGINX 实例,还能帮忙您对 NGINX 部署进行配置、脚本利用和故障排除。
- 咱们行将推出 NGINX Agent,这是一款能够与 NGINX 开源版实例一起部署的轻量级利用。它将蕴含一些以往仅在商业产品中提供的性能,例如动静配置 API。借助 NGINX Agent,您能够在更多用例中更灵便地应用 NGINX Open Source。它还将蕴含更精密的控件,可供您用于扩大利用和基础架构。此外,NGINX Agent 还能够帮忙您就 NGINX 治理、部署和配置做出更理智的决策。目前咱们正在致力开发 NGINX Agent,咱们将在将来几个月内通过博客颁布公布音讯,请亲密关注!
展望未来
在接下来的一年里,心愿大家关注咱们的承诺践行状况。如果我没有及时汇报这三项承诺的履行停顿,请大家督促我。咱们真诚地期待与大家的沟通,您的倡议将为咱们布局最棒的产品路线。另外,也欢送大家在咱们的 GitHub repo 上发表评论和提交 PR。
往年将会是咱们有史以来最棒的一年。期待听到大家的更多心声,咱们也会踊跃回应大家的关切。让咱们携手并进,共赴将来。
更多资源
想要更及时全面地获取 NGINX 相干的技术干货、互动问答、系列课程、流动资源?
请返回 NGINX 开源社区:
- 官网:https://www.nginx.org.cn/
- 微信公众号:https://mp.weixin.qq.com/s/XV…
- 微信群:https://www.nginx.org.cn/stat…
- B 站:https://space.bilibili.com/62…