NGINX Unit, 무엇일까요?

NGINX Unit 은 여러 계층의 전형적인 스택을 단일 구성 요소로 결합하여 웹 애플리케이션 및 API의 애플리케이션 스택을 간소화합니다. NGINX Unit은 다음과 같은 기능을 수행할 수 있습니다.

  • 웹 서버로 정적 미디어 파일 제공
  • 다양한 언어로 애플리케이션 코드를 네이티브로 실행
  • 백엔드 서버로의 리버스 프록시

NGINX Unit은 모든 웹 아키텍처에 대한 구성 요소로서 고려되는 범용 웹 애플리케이션 서버입니다. 엔터프라이즈 규모의 배포부터 개인의 홈페이지까지 복잡성에 관계없이 모든 웹 아키텍처에 적합합니다. 현대적인 마이크로서비스 환경을 간소화하는 것뿐만 아니라 레거시 및 모놀리식 애플리케이션을 현대화하는 데에도 적합합니다.

목차

1. NGINX Unit 은 NGINX 웹 서버와 무슨 차이가 있나요?
 1-1. NGINX Unit 의 진화된 아키텍처
 1-2. 애플리케이션 코드 실행
 1-3. NGINX Unit 으로 완전한 동적 구성
2. NGINX Unit 을 사용하는 이유는 무엇인가요?
 2-1. NGINX Unit 을 통한 마이크로서비스 단순화
 2-2. 모놀리식에서 모던 애플리케이션으로 전환
 2-3. NGINX Unit 을 통해 안전한 애플리케이션 런타임 구현

1. NGINX Unit 은 NGINX 웹 서버와 무슨 차이가 있나요?

1-1. NGINX Unit 의 진화된 아키텍처

  • NGINX Unit은 원래 NGINX팀에 의해 완전히 새로운 오픈 소스 코드베이스로 개발되었습니다.
  • 이 아키텍처는 세계에서 가장 인기 있는 웹 서버를 운영한 10년 이상의 경험을 바탕으로 구축되었습니다.
  • NGINX Unit는 NGINX 웹 서버와 달리 멀티 프로세스, 멀티 스레드 아키텍처를 사용합니다.

1-2. 애플리케이션 코드 실행

  • NGINX 웹 서버는 종종 웹 애플리케이션 앞에 리버스 프록시로 배포됩니다. NGINX Unit는 애플리케이션 코드를 네이티브로 실행할 수 있으며, 전체 애플리케이션 구성을 한 곳에 위치시킵니다.
  • NGINX Unit 은 중간 프로세스 관리자나 애플리케이션 서버 없이 Java, PHP, Python 또는 Ruby로 작성된 웹 애플리케이션 및 API를 실행할 수 있습니다.
  • NGINX Unit는 웹 애플리케이션의 정적 자산과 동적 콘텐츠를 모두 제공할 수 있습니다.

1-3. NGINX Unit 으로 완전한 동적 구성

  • NGINX Unit 은 JSON으로 완전히 구성되어 있으므로 새로운 구성 구문을 배울 필요가 없습니다.
  • 변경 사항은 즉시 적용되며, 리로드 없이 실행 중인 요청에 중단이 없습니다.
  • 구성 API를 통해 단일 값을 수정하거나 전체 구성을 대체할 수 있습니다.

2. NGINX Unit 을 사용하는 이유는 무엇인가요?

2-1. NGINX Unit 을 통한 마이크로서비스 단순화

웹 애플리케이션은 일반적으로 리버스 프록시, 웹 서버 및 애플리케이션 서버의 스택이 필요합니다. NGINX Unit은 이러한 기능을 모두 하나의 구성 요소로 결합하여 동일한 서버에서 전체 싱글 페이지 애플리케이션 또는 웹 API 엔드포인트를 제공할 수 있도록 합니다.

NGINX Unit은 애플리케이션 코드에 대한 가벼운 런타임을 제공하여 마이크로서비스를 구축하고 배포하는 데 이상적입니다. 다양한 프로그래밍 언어와 프레임워크를 지원하는 NGINX Unit는 모든 마이크로서비스에 대해 동일한 개발, 구성 및 배포 경험을 제공합니다.

독립적인 개발, 배포 및 애플리케이션 격리의 이점을 잃지 않고 마이크로서비스를 효율적으로 공존시킬 수 있습니다. NGINX Unit은 더 간단하고 확장 가능한 형태로 마이크로서비스의 모든 이점을 제공합니다.

2-2. 모놀리식에서 모던 애플리케이션으로 전환

NGINX Unit 은 익숙한 JSON/REST 구성, 컨테이너 친화적인 footprint, 그리고 모놀리식 앱에 대한 현대적인 TLS 구현을 사용합니다.

NGINX Unit를 사용하면 애플리케이션 코드를 건드리지 않고 기존 애플리케이션으로부터 cloud-native 모놀리스를 생성할 수 있습니다.

또한, NGINX Unit은 요청 라우팅을 수행하여 모놀리스에서 마이크로서비스로의 마이그레이션을 용이하게 합니다. 이는 런타임에 더 가깝게 이동하고 앱 개발팀의 통제 범위 내에서 이루어집니다.

2-3. NGINX Unit 을 통해 안전한 애플리케이션 런타임 구현

End-to-End TLS를 제공하는 것은 여전히 해독된 네트워크 hop과 가로채기 기회가 있는 경우가 많습니다. NGINX Unit은 런타임까지 암호화가 적용된 진정한 End-to-End TLS를 제공합니다. NGINX Unit은 TLS 레이어를 처리하고 공유 메모리를 통해 애플리케이션 코드와 직접 통신합니다.

인증서 관리는 동일한 JSON/REST 구성 API에서 처리되지만 애플리케이션과는 독립적으로 분리됩니다. 단일 인증서를 여러 앱에서 공유하거나 애플리케이션 호스트명과 자동으로 일치시킬 수 있습니다.

애플리케이션을 격리된 환경에서 실행하여 서로를 보호하고 호스트를 보호할 수 있습니다. NGINX Unit은 Linux 네임스페이스, cgroups 및 파일 시스템 격리를 사용하여 각 애플리케이션에 안전한 런타임을 제공합니다.

NGINX Unit을 통해 완전한 웹 애플리케이션을 배포하고 싶으시면, NGINX STORE에 문의하여 사용 사례에 대해 상담 받아보세요.

아래 뉴스레터를 구독하고 NGINX와 NGINX STORE의 최신 정보들을 빠르게 전달 받아보세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required