즐거운 시간은 쏜살같이 지나갑니다. 그래서 NGINX가 어느덧 18주년을 맞았다는 사실이 믿기지 않을 정도입니다. 돌이켜보면 커뮤니티와 회사는 함께 많은 것을 이루어냈습니다. 최근에는 큰 이정표도 세웠습니다. 이 글을 쓰는 현재 전체 웹사이트의 55.6%가 NGINX를 기반으로 운영되고 있습니다(NGINX가 직접 개발한 소프트웨어 또는 NGINX를 기반으로 구축된 제품을 통해). 또한 시장 점유율 기준으로 1위 웹 서버이기도 합니다. 저희는 이를 매우 자랑스럽게 생각하며, NGINX 커뮤니티 여러분께서 보내주신 이처럼 확고한 신뢰에 깊이 감사드립니다.
또한 오픈 소스 소프트웨어가 계속해서 세상을 바꾸고 있다는 사실을 점점 더 실감하고 있습니다. 오픈 소스 코드를 사용해 구축되는 애플리케이션의 비율도 갈수록 높아지고 있습니다. Bloomberg 단말기와 뉴스부터 Washington Post, Slack, Airbnb, Instagram, Spotify에 이르기까지, 전 세계에서 가장 잘 알려진 수천 개의 브랜드와 서비스가 웹사이트를 운영하기 위해 NGINX Open Source를 사용하고 있습니다. 저 역시 업무 회의에는 Zoom을 사용하고 밤에는 Netflix를 시청하니, 하루 중 아마 80%는 NGINX를 기반으로 구축된 애플리케이션을 사용하며 보내는 셈입니다.

NGINX는 오픈 소스 성공 신화의 한 부분일 뿐입니다. Kubernetes와 컨테이너부터 Python과 PyTorch, WordPress부터 Postgres와 Node.js에 이르는 수많은 훌륭한 오픈 소스 프로젝트가 없었다면 디지털 세계를 구축하는 것은 물론, 그 활용이 점차 확대되고 있는 물리적 세계를 제어하고 관리하는 일도 불가능했을 것입니다. 오픈 소스는 우리의 업무 방식을 바꾸었습니다. GitHub에는 7,300만 명이 넘는 개발자가 있으며, 이들이 지금까지 병합한 풀 리퀘스트(PR)는 총 1억 7,000만 건이 넘습니다. 이 PR 중 상당수는 오픈 소스 라이선스가 적용된 코드 리포지토리에 제출되었습니다.
NGINX가 오픈 소스의 성장과 성공에 중추적인 역할을 해왔다는 사실을 매우 기쁘게 생각하며, 앞으로도 이러한 역할을 이어가는 동시에 오픈 소스 커뮤니티에 기여하고자 합니다. 이와 함께, 오픈 소스 관련 활동을 되돌아보고 지속적으로 변화하는 오픈 소스 운동에 발맞춰 나가야 합니다. 오픈 소스로 수익을 창출하는 기업의 비즈니스 모델은 때때로 논란의 대상이 되어 왔습니다. 이러한 이유로 NGINX는 무엇이 오픈 소스이고 무엇이 상용인지 항상 명확하게 구분하고자 노력해 왔습니다. 무엇보다도 이는 소프트웨어의 오픈 소스 버전에 포함했던 기능이나 역량에 대해서는 절대로 비용을 청구하지 않는다는 의미였습니다.
오픈 소스는 빠르게 진화하고 있습니다. NGINX도 함께 진화합니다.
이제 우리는 오픈 소스에 대한 우리의 약속을 진지하게 되돌아보고, 오픈 소스 제품에 더 많은 가치와 기능을 제공하는 한편, 상용 제품 분야에서도 한 단계 더 도약해야 한다는 점을 깨달았습니다. 세상이 달라졌기 때문에 과거와 같은 항목에 계속 비용을 부과할 수는 없습니다. 이전에는 상용 제품에서만 제공되던 일부 기능이 이제 오픈 소스 개발자에게는 기본 요건이 되었습니다. 또한 개발자들이 오픈 소스 보안을 최우선으로 고려한다는 점도 잘 알고 있습니다. 따라서 우리의 오픈 소스 프로젝트는 상용 제품만큼 안전해야 합니다.
또한 현실을 인정해야 합니다. 내부적으로는 오픈 소스가 기능이나 확장성이 부족해 실제 운영 환경에 적합하지 않다고 말하곤 했습니다. 하지만 이미 오래전부터 현실은 우리의 생각이 틀렸음을 보여주고 있습니다. 수많은 조직이 실제 운영 환경에서 NGINX 오픈 소스 소프트웨어를 사용하고 있기 때문입니다. 이는 사람들이 우리의 오픈 소스 버전을 얼마나 신뢰하는지를 보여준다는 점에서 긍정적인 일입니다. 우리는 이를 토대로 더 발전해 나갈 수 있습니다.
실제로 우리는 핵심 제품을 통해 끊임없이 그렇게 하고 있습니다. 기존 NGINX 제품군이 이제 낡았다고 말하는 분들께는, 그동안 우리를 자세히 지켜보지 않으셨다고 말씀드리고 싶습니다:
- 핵심 NGINX Open Source 소프트웨어에는 새로운 기능을 지속적으로 추가하고 더 많은 운영 체제 플랫폼을 지원하고 있습니다. 웹 애플리케이션과 트래픽의 보안 및 확장성에 필수적인 두 가지 기능인 HTTP3 및 QUIC가 다음 출시 버전에 포함될 예정입니다.
- NGINX 생태계에서 조용하지만 놀라울 정도로 혁신적인 영역은 NGINX JavaScript(njs)입니다. 개발자는 이를 통해 JavaScript 코드를 NGINX HTTP 및 TCP/UDP(Stream) 모듈의 이벤트 처리 모델에 통합하고 NGINX 구성 구문을 확장하여 정교한 기능을 구현할 수 있습니다. 사용자들은 혁신적인 캐시 제거와 헤더 조작부터 MQTTv5와 같은 고급 프로토콜 지원에 이르기까지 매우 놀라운 기능들을 구현해 왔습니다.
- 당사의 범용 웹 애플리케이션 서버인 NGINX Unit은 NGINX Open Source의 원저자인 Igor Sysoev가 고안했으며, 지금도 계속 발전하고 있습니다. Unit은 데이터 플레인과 보안이라는 당사의 주된 초점을 훨씬 넘어서는 현대적 애플리케이션 및 애플리케이션 스택에 대한 비전에서 중요한 위치를 차지합니다. 당사는 Unit을 개발하면서 진화하는 웹 환경에 맞춰 애플리케이션을 어떻게 설계해야 하는지 새롭게 고찰하고 있으며, 클라우드 네이티브 환경에 적합하고 분산형 고동적 애플리케이션을 위해 설계된 기능을 더욱 확충하고 있습니다.
최신 애플리케이션 참조 아키텍처
당사는 핵심 개발자들이 최신 애플리케이션을 더욱 효율적이고 손쉽게 배포할 수 있도록 지원하는 방법을 지속적으로 실험하고 발전시키고자 합니다. 지난해 Sprint 2.0에서 발표한 NGINX 최신 앱 참조 아키텍처 (MARA)가 최근 버전 1.0.0으로 정식 출시되었다는 기쁜 소식을 전합니다. MARA는 Kubernetes를 비롯해 엄선된 도구로 구성된 명확한 지향점을 가진 스택으로, 인프라와 애플리케이션 아키텍처를 코드로 손쉽게 배포할 수 있도록 통합되어 있습니다. 몇 번의 클릭만으로 보안, 로깅, 네트워킹, 애플리케이션 서버, 구성 및 YAML 관리 등 프로덕션급 클라우드 네이티브 환경을 구축하는 데 필요한 모든 요소가 통합된 MARA 참조 아키텍처를 구성하고 배포할 수 있습니다.

MARA는 의도적으로 모듈식으로 설계된 아키텍처입니다. 기존 모듈을 자유롭게 선택하고 조합하여 실제로 애플리케이션을 실행할 수 있는 맞춤형 참조 아키텍처를 설계할 수 있습니다. 커뮤니티는 우리의 아이디어를 지지해 주었으며, 우리는 MARA를 위해 여러 혁신적인 기술 기업과 협력해 왔습니다. Sumo Logic은 자사의 뛰어난 로깅 기술을 MARA에 더했고, Pulumi는 자동화 및 워크플로 오케스트레이션을 위한 모듈을 제공했습니다. 우리는 MARA를 통해 모든 개발자가 단 몇 분 만에 필요한 모든 지원 요소를 갖추고 안전하며 애플리케이션 배포 준비까지 완료된 전체 Kubernetes 환경을 구축하고 실행할 수 있기를 바랍니다. 이는 업계의 중요한 이니셔티브를 발전시키기 위해 우리 모두가 힘을 모을 수 있는 방법을 보여 주는 하나의 사례일 뿐입니다.
NGINX의 미래: 현대화, 최적화, 확장
매년 가상 사용자 컨퍼런스인 NGINX Sprint에서 저희는 다가오는 한 해를 위한 새로운 약속을 발표합니다. 올해도 마찬가지입니다. 향후 12개월 동안의 약속은 세 단어로 요약할 수 있습니다. 바로 현대화, 최적화, 그리고 확장입니다. 저희는 이 단어들이 단순한 비즈니스 유행어에 그치지 않도록 할 것입니다. 각 목표를 위한 구체적인 프로그램을 마련했으며, 저희가 약속을 지키는지 여러분께서 지켜봐 주시기 바랍니다.
약속 #1: 접근 방식, 입지 및 커뮤니티 관리 현대화
물론 저희는 코드를 빠르게 현대화하고 새로운 제품과 프로젝트를 선보이고 있습니다. 하지만 현대화는 단순히 코드에만 국한되지 않습니다. 여기에는 코드 관리, 의사 결정 과정의 투명성, 그리고 커뮤니티에서 저희가 활동하는 방식도 포함됩니다. 지금까지 NGINX Open Source 코드베이스는 Mercurial 버전 관리 시스템에서 운영되어 왔지만, 이제 오픈 소스 생태계의 중심이 GitHub로 옮겨갔다는 점을 잘 알고 있습니다. 앞으로 모든 NGINX 프로젝트는 개발자와 오픈 소스 커뮤니티가 활동하는 GitHub에서 시작되고 호스팅될 것입니다.
또한 NGINX 프로젝트를 운영하고 관리하는 방식도 현대화할 것입니다. 외부 기여를 더욱 적극적으로 수용하고, 프로젝트 관리의 투명성을 높이며, 커뮤니티가 더 쉽게 다가올 수 있도록 하겠습니다. 현대적인 오픈 소스 활동에 요구되는 모든 관행을 따르고, GitHub에서의 활동 기반을 재정비하며, 모든 프로젝트에 행동 강령을 추가하고, 커뮤니티의 의견에 귀 기울이겠습니다. 이러한 현대화 노력의 일환으로 Slack에 NGINX 커뮤니티 채널을 개설합니다. 이 채널에는 NGINX 전문가들이 직접 참여해 여러분의 질문에 답변할 것입니다. 또한 커뮤니티 구성원 여러분도 평소 업무에 사용하는 메시징 도구에서 서로 도움을 주고받을 수 있습니다.
약속 #2: 개발자 경험 최적화
개발자는 우리의 주요 사용자입니다. 이들은 오늘날의 우리를 있게 한 애플리케이션을 구축하고 개발합니다. NGINX는 사용하기 쉽다는 것이 언제나 우리의 원칙이었습니다. 실제로도 대체로 그렇습니다. NGINX를 설치하고 실행해 구성하는 데 며칠씩 걸리지는 않습니다. 하지만 더 잘할 수 있습니다. 학습 곡선을 완만하게 하고 구성 과정을 간소화함으로써 개발자가 우리 제품에서 가치를 실현하기까지 걸리는 시간을 단축할 수 있습니다. 여기서 ‘가치’란 실제로 유용한 기능을 수행하는 코드를 프로덕션 환경에 배포하는 것, 바로 그것을 의미합니다. 설치 과정을 간소화하고, 문서를 개선하며, 커뮤니티 포럼의 범위와 내실을 강화해 개발자 경험을 전면적으로 개선하겠습니다.
또한 NGINX Open Source와 기본적으로 통합되어 단 몇 초 만에 유용하게 활용하고 가치를 얻을 수 있도록 지원하는 새로운 SaaS 제품을 출시할 예정입니다. 등록도, 접근 제한도, 유료 결제 장벽도 없습니다. 이 SaaS는 앞으로도 영원히 무료로 사용할 수 있습니다.
또한 오늘날 개발자들이 기본적으로 제공되어야 한다고 여기는 여러 핵심 기능이 NGINX Open Source와 NGINX Plus의 유료 장벽 너머에 있다는 점을 잘 알고 있습니다. 예를 들어 DNS 서비스 디스커버리는 최신 애플리케이션에 필수적입니다. 이러한 핵심 기능을 NGINX Open Source에 추가하여 무료로 제공하겠다고 약속드립니다. 아직 어떤 기능을 옮길지는 모두 결정하지 않았으며, 여러분의 의견을 듣고 싶습니다. 개발자 경험을 개선하려면 어떻게 해야 할지 알려주세요. 귀 기울여 듣겠습니다.
약속 #3: NGINX의 성능과 기능 확장
오늘날 NGINX는 널리 사용되고 있지만, 10년 후에도 지금과 같은 영향력을 유지하려면 계속 발전해야 한다는 사실을 잘 알고 있습니다. 우리의 원대한 목표는 대규모 최신 애플리케이션을 관리하고 운영할 수 있도록 NGINX 애플리케이션과 이를 지원하는 기능으로 구성된 풀 스택을 구축하는 것입니다.
지금까지 NGINX는 주로 레이어 7 데이터 플레인으로 사용되어 왔습니다. 하지만 NGINX를 제대로 활용하려면 개발자가 그 주변에 많은 기반 요소를 구축해야 합니다. 자동화 및 CI/CD 기능을 연동하고, 적절한 로깅을 설정하며, 인증 및 인증서 관리 등을 추가해야 합니다. 우리는 앱을 테스트하고 배포하는 데 필요한 모든 주요 요건을 NGINX와 원활하게 통합되는 하나 이상의 고품질 오픈 소스 구성 요소로 충족할 수 있도록 NGINX를 훨씬 더 효과적으로 확장하고자 합니다. 요컨대, 스택의 모든 계층에서 가치를 제공하고 이를 무료로 이용할 수 있게 하는 것이 목표입니다. 예를 들어 NGINX Open Source 또는 NGINX Plus를 API 게이트웨이로 사용한다면, 해당 사용 사례를 관리하고 확장하는 데 필요한 API 가져오기, 서비스 디스커버리, 방화벽, 정책 규칙, 보안 등의 모든 기능을 고품질 오픈 소스 옵션으로 제공하고자 합니다.
요약하자면, 우리의 꿈은 애플리케이션 관리 및 배포의 모든 측면으로 확장되는 NGINX 중심의 생태계를 구축하는 것입니다. MARA는 이러한 생태계를 구축하기 위한 첫걸음이며, 앞으로도 계속해서 파트너를 유치하고자 합니다. 제 목표는 2022년 말까지 사전 구성된 앱 전체가 NGINX 환경에서 몇 분 만에 시작되어 실행되고, 분산 추적, 로깅, 자동 확장, 보안, CI/CD 후크 등 필요한 모든 기능이 완비되어 즉시 제 역할을 수행하는 모습을 보는 것입니다.
Kubernetes API Gateway, 완전히 새로워진 Amplify 및 NGINX Agent 소개
저희는 이 모든 약속을 반드시 지킬 것입니다. 그리고 여기, 제가 드린 세 가지 약속을 실천하기 위한 첫걸음 세 가지를 소개합니다.
- 올해 초, 저희는 Kubernetes API Gateway SIG의 참조 아키텍처를 기반으로 NGINX Kubernetes Gateway<.htmla>를 출시했습니다. 이를 통해 제품군을 현대화하고 지속적으로 발전하는 클라우드 네이티브 환경에 발맞추고 있습니다. NGINX Kubernetes Gateway는 저희가 커뮤니티에 내미는 일종의 화해의 손길이기도 합니다. 저희는 Kubernetes용 상용 Ingress 컨트롤러와 오픈 소스 Ingress 컨트롤러를 각각 만들었고, 둘 다 커뮤니티의 Ingress 솔루션(이 역시 NGINX 기반)과 달랐기 때문에 상황이 복잡해졌다는 점을 잘 알고 있습니다. 다양한 선택지는 커뮤니티에 혼란을 주었고 저희를 곤란한 입장에 놓이게 했습니다. Kubernetes 아키텍처에서 Gateway API가 Ingress 컨트롤러를 대체하게 될 것이라는 점은 매우 분명합니다. 이에 저희는 접근 방식을 바꾸어 오픈 소스 제품으로만 제공될 NGINX Kubernetes Gateway를 발전하는 표준에 발맞춘 Kubernetes 네트워킹 활동의 중심으로 삼을 것입니다. 또한 다른 NGINX 제품과 통합되고 그 기능을 확장하는 동시에 Kubernetes에서의 개발자 경험을 최적화할 것입니다.
- 몇 년 전, 저희는 NGINX Amplify를 출시했습니다. NGINX 플릿을 위한 모니터링 및 텔레메트리 SaaS 서비스입니다. 저희가 이를 적극적으로 홍보하지는 않았지만, 수천 명의 개발자가 직접 찾아냈고 지금도 사용하고 있습니다. Amplify는 출시 당시부터 지금까지 무료로 제공되고 있습니다. 현대화를 위한 약속의 일환으로, 저희는 Amplify에 다양한 신규 기능을 추가하고 있습니다. NGINX 제품을 대규모로 구축하고 실시간으로 모니터링 및 관리할 때 믿고 의지할 수 있는 든든한 조력자로 만드는 것이 목표입니다. Amplify는 NGINX 인스턴스를 모니터링할 뿐만 아니라 NGINX 배포를 구성하고, 스크립트를 적용하고, 문제를 해결하는 데도 도움을 줄 것입니다.
- NGINX Open Source 인스턴스와 함께 배포할 수 있는 경량 애플리케이션인 NGINX Agent를 출시합니다. 여기에는 동적 구성 API와 같이 이전에는 상용 제품에서만 제공되던 기능이 포함됩니다. NGINX Agent를 사용하면 훨씬 더 다양한 사용 사례에서 더욱 유연하게 NGINX Open Source를 활용할 수 있습니다. 또한 애플리케이션과 인프라를 확장하는 데 사용할 수 있는 훨씬 더 세분화된 제어 기능도 포함됩니다. Agent는 NGINX의 관리, 배포 및 구성에 관해 더 현명한 결정을 내릴 수 있도록 도와줍니다. 현재 NGINX Agent 개발에 박차를 가하고 있으니, 앞으로 몇 달 내에 게시될 출시 안내 블로그를 기대해 주세요!
향후 전망
1년 후에는 여러분이 이 약속들에 대해 제게 물어봐 주시길 바랍니다. 세 가지 모두에서 실질적인 진전을 이루었다고 보고하지 못한다면, 꼭 제게 책임을 물어 주십시오. 그리고 저희는 적극적으로 참여하고 있으며 여러분 모두와 대화할 준비가 되어 있다는 점을 알아주시기 바랍니다. 여러분의 의견이야말로 저희에게 가장 훌륭한 제품 로드맵입니다. 저희의 연례 설문조사에 참여해 주세요. NGINX 커뮤니티 Slack에 가입해 여러분의 생각을 들려주세요. 또한 저희 GitHub 리포지토리의 프로젝트에 의견을 남기고 PR을 제출해 주세요.
올해는 그 어느 때보다 멋진 한 해가 될 것입니다. 여러분의 목소리를 더 많이 들을 수 있기를 기대하며, 저희도 더 많은 소식을 전해 드리겠습니다. 저희가 여러분께 더 큰 도움을 드릴 수 있도록 함께해 주세요. 올해는 그 어느 때보다 멋진 한 해가 될 것입니다. 여러분의 목소리를 더 많이 들을 수 있기를 기대하며, 저희도 더 많은 소식을 전해 드리겠습니다.
작성자 소개

관련 블로그 게시물
시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.
F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.
Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.
진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.
NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.
Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.