
NGINX Plus 구성 사례
용도 : Loadbalancer
NGINX Plus 활용 기능 : L7 Loadbalancer / API / Caching / 이중화
결과 : 아키텍쳐 통합 / 운영 효율설 증가 / 하드웨어 > 소프트웨어로의 전환
개요
DI.FM은 전 세계에서 오직 전자 음악만을 스트리밍하는 멀티 채널 인터넷 라디오 서비스입니다. 각 채널은 하우스, 트랜스, 테크노, 드럼 앤 베이스, 그리고 덥스텝을 비롯한 각 장르나 스타일에서 최고를 찾기 위해 새 릴리스와 백 카탈로그를 채우기 위해 열정적인 전자 음악 팬들의 팀이 선별합니다. 1999년에 첫 온라인 라디오 네트워크 중 하나로 첫 중계를 시작한 DI.FM은 매달 웹 브라우저, 전용 모바일 애플리케이션, 제3의 상품를 통해 튜닝하는 고유한 300만 명 이상의 청취자를 위한 장소로 성장해 왔습니다. 2010년, DI.FM은 마이애미의 연례 윈터 뮤직 컨퍼런스에서 국제 댄스 음악 어워즈에서 최고 글로벌 라디오 스테이션으로 선정되었습니다.
Digitally Imported는 원래 수많은 공급업체 장비와 소프트웨어를 갖춘 전용 코로케이션 시설에서 인프라를 운영했습니다. 그러나 가입자 기반이 성장함에 따라 DI.FM은 아키텍처의 복잡성을 줄이고 운영 효율성을 향상시켜야 할 필요성을 인식했습니다. 다양한 기술을 수집하는 것이 번거롭고 관리하기 어려웠을 뿐만 아니라 DI.FM의 운영 엔지니어는 성능 관련 문제에 대한 가시성이 부족하여 확장 가능하고 안정적이며 일관된 서비스를 보장하는 능력이 크게 저하되었습니다.
“우리가 가지고 있던 아키텍처는 우리가 성장함에 따라 요구 사항을 충족하기 위해 시간이 지남에 따라 함께 엮어졌습니다. 그러나 개별 구성 요소를 관리하는 것이 점점 더 어려워지고 사용자가 기대하는 서비스 수준을 보장하는 것이 더욱 어려워지는 시점에 이르렀습니다.”
– Seth Hochberg, 엔지니어링 이사
도전
Digitally Imported는 점점 더 많은 음악을 스트리밍 하는 점점 늘어나는 글로벌한 사용자들을 지원하기 위해 시간이 지남에 따라 아키텍처를 만들었습니다. 이들은 로드 밸런싱, SSL 종료, 애플리케이션 제공, 정적 파일 저장 등과 같은 네트워크 기능을 제공하기 위해 다양한 특수 목적 도구를 혼합하여 사용했습니다. 이러한 도구에는 하드웨어 어플라이언스, Varnish, Apache, 심지어 NGINX Open Source도 포함되었습니다.
그러나 소규모 운영팀의 경우 이러한 다양한 기술을 유지하는 것은 문제가 있는 것으로 나타났습니다. 특히 분당 최대 400,000건의 요청에 도달할 수 있는 최대 부하에서는 더욱 그렇습니다. Digitally Imported 엔지니어들은 네트워크 기능을 통합하는 방법을 찾기 시작하면서 하드웨어 로드 밸런서가 실패할 경우 음악 서비스의 상당 부분을 지원하는 트래픽이 기본 API 애플리케이션으로 계속 흐르도록 보장하기 위해 특별히 고가용성(HA)/장애 조치 로드 밸런서를 찾았습니다.
그리고 그들은 Digital Imported 운영 엔지니어의 수동 개입 없이 장애 조치를 처리하면서도 필요할 경우 공급업체 지원을 포함할 수 있는 솔루션을 원했습니다. Digitally Imported가 이미 NGINX 오픈 소스에 익숙했다는 점을 고려하면 NGINX Plus에서 아키텍처를 표준화하는 것은 쉬운 선택이었습니다. 이를 통해 상당한 복잡성이 제거되었을 뿐만 아니라 최적의 성능과 일관된 가동 시간을 보장하기 위한 추가 제어, 통찰력 및 기능도 확보했습니다.
해결책
Digitally Imported는 모두 중앙 API와 다시 통신하여 스트리밍 콘텐츠에 대한 메타데이터를 얻고, 라디오 쇼 일정을 잡고, URL을 CDN의 자산으로 가져오고, 사람들이 듣고 있는 내용을 보고하는 클라이언트 애플리케이션 제품군(모바일 애플리케이션 및 웹사이트)을 유지 관리합니다. 따라서 Digitally Imported는 아티스트 로열티 지불을 계산할 수 있습니다. API는 로드 밸런서 뒤에 있는 일련의 서버에서 실행되는 모놀리식 Ruby on Rails 애플리케이션입니다. 애플리케이션 서버는 Phusion Passenger를 사용하여 Ruby 애플리케이션을 호스팅하고 업스트림을 제공하는 NGINX 오픈 소스입니다.
Digitally Imported 운영 엔지니어는 API용 고가용성 HTTP 로드 밸런서 솔루션을 탐색하면서 NGINX Plus를 선택하게 되었습니다. NGINX 오픈 소스에 이미 익숙했기 때문에 더 이상 공동 위치에서 많은 트래픽을 제공하지 않고 CDN에 더 많이 의존하고 있었기 때문에 기존 하드웨어 로드 밸런서 공간을 확장하지 않기로 결정했습니다. 더 이상 하드웨어 가속 어플라이언스의 원시 전력이 필요하지 않습니다. 새로운 아키텍처에서 NGIN Plus는 로드 밸런싱 및 HTTP 캐싱을 위한 Varnish, WebDAV 서비스를 위한 Apache, 애플리케이션 방화벽 및 다양한 TCP 프록시 기능을 위한 독점 하드웨어를 대체합니다.
“NGINX Plus를 구입한 주된 이유는 연결 유지 및 VRRP 지원을 통해 제공되는 간단한 활성-수동 HA 기능이었지만, NGINX 커뮤니티 에디션에 대한 친숙함과 통합된 NGINX Plus의 업계 최고의 지원 및 향상된 기능이 결합되었습니다. WAF 기능 덕분에 NGINX Plus에서 새로운 아키텍처를 표준화하는 것은 당연한 일이었습니다.”
엔지니어링 이사Seth Hochberg
NGINX 인포그래픽으로 단순화된 최신 서버 아키텍처
수정된 아키텍처에서 NGINX Plus는 고가용성 레이어 7 로드 밸런서, 기본 HTTP 캐시, SSL 터미네이터, TCP 프록시, 웹 애플리케이션 방화벽 및 업스트림 서버용 상태 모니터 역할을 합니다. NGINX Plus 로드 밸런서는 JSON 기반 API는 물론 웹사이트 이미지와 같은 정적 파일 자산을 프록시합니다. 하루 중 가장 바쁜 시간에는 분당 약 400,000개의 요청을 처리하며 캐시에서 직접 응답의 약 70%를 제공합니다.
이렇게 하면 API 서버 또는 저장 장치에 대한 업스트림을 계속 요청해야 하는 필요성이 제거되어 왕복 시간이 향상됩니다. NGINX Plus 로드 밸런서는 들어오는 요청에 대한 응답으로 캐시와 업스트림의 조합에서 약 2Gbps의 지속적인 아웃바운드 트래픽을 제공합니다. NGINX 오픈 소스는 여전히 정적 파일 서버, 웹 애플리케이션 호스트(Phusion Passenger Enterprise 포함), WebDAV 서버 역할을 하며 CDN 원본에서 실시간 사전 캐시 이미지 조작도 수행합니다. 애플리케이션 트래픽의 100%가 어떤 형태로든 NGINX를 통과합니다.
“우리는 데이터베이스와 같은 몇 가지 격리된 역할을 제외하고 기본적으로 네트워크의 모든 서버에서 어떤 형태로든 NGINX를 실행합니다. CDN 공급업체도 NGINX를 엣지에서 실행하고 있습니다. 이는 음악 스트리밍이라는 핵심 비즈니스에 필수적인 도구입니다. 제품은 훌륭하고 NGINX Plus 지원 패키지와 함께 제공되는 통합, 지원, 사전 컴파일된 모듈 등은 비용 대비 가치가 충분히 있습니다.”
– Seth Hochberg, 엔지니어링 이사
결과
서버 가동 시간 증가
NGINX Plus로 표준화하기 전에는 Digitally Imported 운영 엔지니어가 하드웨어 로드 밸런서에 장애가 발생했을 때 통찰력이 거의 없었습니다. NGINX Plus를 사용하면 이제 로드 밸런서 성능을 더 잘 모니터링할 수 있으며 HA/장애 조치 구성을 사용하여 로드 밸런서가 다운되더라도 엔지니어가 다시 온라인으로 전환하는 동안 사용자는 중단 없는 서비스를 경험할 수 있습니다. 이는 최종 사용자에게 일관성과 안정성을 보장할 뿐만 아니라 고성능 스트리밍 서비스 제공에 따른 운영 복잡성을 크게 줄여줍니다. 궁극적으로 엔지니어가 서버 오류를 유발하거나 원인이 되기 전에 문제를 사전에 해결할 수 있는 향상된 모니터링을 통해 서버 가동 시간이 향상됩니다.
배송 성과에 대한 가시성 향상
배달이 공동 배치된 서버에서 CDN 캐시로 이동함에 따라 배달 워크플로우에 대한 가시성이 점점 더 중요해지고 있습니다. 그러나 이전에 사용자 요청을 서비스하는 데 사용되었던 다양한 기술과 하드웨어 어플라이언스의 결합으로 인해 이러한 통찰력이 크게 방해되었습니다. NGINX Plus에는 스트림 전달의 업스트림 및 다운스트림 성능에 대한 향상된 가시성을 제공하는 고급 모니터링 기능이 포함되어 있습니다. 이를 통해 디지털로 가져온 운영 엔지니어는 API 요청이 NGINX Plus 아키텍처 전체에서 처리되고 확산되는 방식을 면밀히 감시할 수 있습니다.
운영 효율성 향상 및 TCO 절감
여러 공급업체, 하드웨어 어플라이언스, 소프트웨어 배포를 관리하려면 많은 리소스가 소모될 수 있습니다. 업그레이드부터 패치, 수정, 지속적인 모니터링에 이르기까지 다양한 기술과 제품을 사용하는 모든 아키텍처는 결국 자체 무게로 인해 무너질 수 있습니다. Digitally Imported의 경우 소규모 운영 팀으로 인해 이러한 아키텍처를 관리하는 데 어려움이 가중되었습니다.
NGINX Plus를 사용하면 Digitally Imported가 여러 공급업체의 네트워크 기능을 상용 하드웨어에 배포할 수 있는 단일 소프트웨어 기반 접근 방식으로 근본적으로 통합할 수 있습니다. 이는 팀이 이전에 갖지 못한 수준의 중복성과 단일 구성 언어 및 배포 전략 내에서 쉽게 배포, 테스트 및 모니터링할 수 있는 방법을 제공했습니다.
DI.FM은 여러 공급업체 제품을 관리하기 위해 전문 리소스를 찾거나 고용할 필요가 없었기 때문에 네트워크 관리에 대한 높은 수준의 프라이드를 얻으면서 간결하고 민첩한 상태를 유지할 수 있었습니다. 여러 공급업체 도구를 단일 도구로 통합하면 스트리밍 인프라를 유지하는 데 필요한 전체 시간이 크게 줄어들고(운영 비용 절감) 동시에 기본적으로 지원되는 HA/장애 조치 구성을 통해 전체 운영 효율성이 향상됩니다. 이를 통해 다운타임이 발생하는 경우에도 사용자 요청이 고용량의 확장 가능한 방식으로 계속 처리됩니다.
디지털 수입 정보
1999년에 설립된 DI.FM(Digital Imported)은 전자 음악에만 초점을 맞춘 다중 채널 인터넷 라디오 서비스입니다.
NGINX Plus 구성 사례
용도 : Loadbalancer
NGINX Plus 활용 기능 : L7 Loadbalancer / API / Caching / 이중화
결과 : 아키텍쳐 통합 / 운영 효율설 증가 / 하드웨어 > 소프트웨어로의 전환
개요
DI.FM은 전 세계에서 오직 전자 음악만을 스트리밍하는 멀티 채널 인터넷 라디오 서비스입니다. 각 채널은 하우스, 트랜스, 테크노, 드럼 앤 베이스, 그리고 덥스텝을 비롯한 각 장르나 스타일에서 최고를 찾기 위해 새 릴리스와 백 카탈로그를 채우기 위해 열정적인 전자 음악 팬들의 팀이 선별합니다. 1999년에 첫 온라인 라디오 네트워크 중 하나로 첫 중계를 시작한 DI.FM은 매달 웹 브라우저, 전용 모바일 애플리케이션, 제3의 상품를 통해 튜닝하는 고유한 300만 명 이상의 청취자를 위한 장소로 성장해 왔습니다. 2010년, DI.FM은 마이애미의 연례 윈터 뮤직 컨퍼런스에서 국제 댄스 음악 어워즈에서 최고 글로벌 라디오 스테이션으로 선정되었습니다.
Digitally Imported는 원래 수많은 공급업체 장비와 소프트웨어를 갖춘 전용 코로케이션 시설에서 인프라를 운영했습니다. 그러나 가입자 기반이 성장함에 따라 DI.FM은 아키텍처의 복잡성을 줄이고 운영 효율성을 향상시켜야 할 필요성을 인식했습니다. 다양한 기술을 수집하는 것이 번거롭고 관리하기 어려웠을 뿐만 아니라 DI.FM의 운영 엔지니어는 성능 관련 문제에 대한 가시성이 부족하여 확장 가능하고 안정적이며 일관된 서비스를 보장하는 능력이 크게 저하되었습니다.
“우리가 가지고 있던 아키텍처는 우리가 성장함에 따라 요구 사항을 충족하기 위해 시간이 지남에 따라 함께 엮어졌습니다. 그러나 개별 구성 요소를 관리하는 것이 점점 더 어려워지고 사용자가 기대하는 서비스 수준을 보장하는 것이 더욱 어려워지는 시점에 이르렀습니다.”
– Seth Hochberg, 엔지니어링 이사
도전
Digitally Imported는 점점 더 많은 음악을 스트리밍 하는 점점 늘어나는 글로벌한 사용자들을 지원하기 위해 시간이 지남에 따라 아키텍처를 만들었습니다. 이들은 로드 밸런싱, SSL 종료, 애플리케이션 제공, 정적 파일 저장 등과 같은 네트워크 기능을 제공하기 위해 다양한 특수 목적 도구를 혼합하여 사용했습니다. 이러한 도구에는 하드웨어 어플라이언스, Varnish, Apache, 심지어 NGINX Open Source도 포함되었습니다.
그러나 소규모 운영팀의 경우 이러한 다양한 기술을 유지하는 것은 문제가 있는 것으로 나타났습니다. 특히 분당 최대 400,000건의 요청에 도달할 수 있는 최대 부하에서는 더욱 그렇습니다. Digitally Imported 엔지니어들은 네트워크 기능을 통합하는 방법을 찾기 시작하면서 하드웨어 로드 밸런서가 실패할 경우 음악 서비스의 상당 부분을 지원하는 트래픽이 기본 API 애플리케이션으로 계속 흐르도록 보장하기 위해 특별히 고가용성(HA)/장애 조치 로드 밸런서를 찾았습니다.
그리고 그들은 Digital Imported 운영 엔지니어의 수동 개입 없이 장애 조치를 처리하면서도 필요할 경우 공급업체 지원을 포함할 수 있는 솔루션을 원했습니다. Digitally Imported가 이미 NGINX 오픈 소스에 익숙했다는 점을 고려하면 NGINX Plus에서 아키텍처를 표준화하는 것은 쉬운 선택이었습니다. 이를 통해 상당한 복잡성이 제거되었을 뿐만 아니라 최적의 성능과 일관된 가동 시간을 보장하기 위한 추가 제어, 통찰력 및 기능도 확보했습니다.
해결책
Digitally Imported는 모두 중앙 API와 다시 통신하여 스트리밍 콘텐츠에 대한 메타데이터를 얻고, 라디오 쇼 일정을 잡고, URL을 CDN의 자산으로 가져오고, 사람들이 듣고 있는 내용을 보고하는 클라이언트 애플리케이션 제품군(모바일 애플리케이션 및 웹사이트)을 유지 관리합니다. 따라서 Digitally Imported는 아티스트 로열티 지불을 계산할 수 있습니다. API는 로드 밸런서 뒤에 있는 일련의 서버에서 실행되는 모놀리식 Ruby on Rails 애플리케이션입니다. 애플리케이션 서버는 Phusion Passenger를 사용하여 Ruby 애플리케이션을 호스팅하고 업스트림을 제공하는 NGINX 오픈 소스입니다.
Digitally Imported 운영 엔지니어는 API용 고가용성 HTTP 로드 밸런서 솔루션을 탐색하면서 NGINX Plus를 선택하게 되었습니다. NGINX 오픈 소스에 이미 익숙했기 때문에 더 이상 공동 위치에서 많은 트래픽을 제공하지 않고 CDN에 더 많이 의존하고 있었기 때문에 기존 하드웨어 로드 밸런서 공간을 확장하지 않기로 결정했습니다. 더 이상 하드웨어 가속 어플라이언스의 원시 전력이 필요하지 않습니다. 새로운 아키텍처에서 NGIN Plus는 로드 밸런싱 및 HTTP 캐싱을 위한 Varnish, WebDAV 서비스를 위한 Apache, 애플리케이션 방화벽 및 다양한 TCP 프록시 기능을 위한 독점 하드웨어를 대체합니다.
“NGINX Plus를 구입한 주된 이유는 연결 유지 및 VRRP 지원을 통해 제공되는 간단한 활성-수동 HA 기능이었지만, NGINX 커뮤니티 에디션에 대한 친숙함과 통합된 NGINX Plus의 업계 최고의 지원 및 향상된 기능이 결합되었습니다. WAF 기능 덕분에 NGINX Plus에서 새로운 아키텍처를 표준화하는 것은 당연한 일이었습니다.”
엔지니어링 이사Seth Hochberg
NGINX 인포그래픽으로 단순화된 최신 서버 아키텍처
수정된 아키텍처에서 NGINX Plus는 고가용성 레이어 7 로드 밸런서, 기본 HTTP 캐시, SSL 터미네이터, TCP 프록시, 웹 애플리케이션 방화벽 및 업스트림 서버용 상태 모니터 역할을 합니다. NGINX Plus 로드 밸런서는 JSON 기반 API는 물론 웹사이트 이미지와 같은 정적 파일 자산을 프록시합니다. 하루 중 가장 바쁜 시간에는 분당 약 400,000개의 요청을 처리하며 캐시에서 직접 응답의 약 70%를 제공합니다.
이렇게 하면 API 서버 또는 저장 장치에 대한 업스트림을 계속 요청해야 하는 필요성이 제거되어 왕복 시간이 향상됩니다. NGINX Plus 로드 밸런서는 들어오는 요청에 대한 응답으로 캐시와 업스트림의 조합에서 약 2Gbps의 지속적인 아웃바운드 트래픽을 제공합니다. NGINX 오픈 소스는 여전히 정적 파일 서버, 웹 애플리케이션 호스트(Phusion Passenger Enterprise 포함), WebDAV 서버 역할을 하며 CDN 원본에서 실시간 사전 캐시 이미지 조작도 수행합니다. 애플리케이션 트래픽의 100%가 어떤 형태로든 NGINX를 통과합니다.
“우리는 데이터베이스와 같은 몇 가지 격리된 역할을 제외하고 기본적으로 네트워크의 모든 서버에서 어떤 형태로든 NGINX를 실행합니다. CDN 공급업체도 NGINX를 엣지에서 실행하고 있습니다. 이는 음악 스트리밍이라는 핵심 비즈니스에 필수적인 도구입니다. 제품은 훌륭하고 NGINX Plus 지원 패키지와 함께 제공되는 통합, 지원, 사전 컴파일된 모듈 등은 비용 대비 가치가 충분히 있습니다.”
– Seth Hochberg, 엔지니어링 이사
결과
서버 가동 시간 증가
NGINX Plus로 표준화하기 전에는 Digitally Imported 운영 엔지니어가 하드웨어 로드 밸런서에 장애가 발생했을 때 통찰력이 거의 없었습니다. NGINX Plus를 사용하면 이제 로드 밸런서 성능을 더 잘 모니터링할 수 있으며 HA/장애 조치 구성을 사용하여 로드 밸런서가 다운되더라도 엔지니어가 다시 온라인으로 전환하는 동안 사용자는 중단 없는 서비스를 경험할 수 있습니다. 이는 최종 사용자에게 일관성과 안정성을 보장할 뿐만 아니라 고성능 스트리밍 서비스 제공에 따른 운영 복잡성을 크게 줄여줍니다. 궁극적으로 엔지니어가 서버 오류를 유발하거나 원인이 되기 전에 문제를 사전에 해결할 수 있는 향상된 모니터링을 통해 서버 가동 시간이 향상됩니다.
배송 성과에 대한 가시성 향상
배달이 공동 배치된 서버에서 CDN 캐시로 이동함에 따라 배달 워크플로우에 대한 가시성이 점점 더 중요해지고 있습니다. 그러나 이전에 사용자 요청을 서비스하는 데 사용되었던 다양한 기술과 하드웨어 어플라이언스의 결합으로 인해 이러한 통찰력이 크게 방해되었습니다. NGINX Plus에는 스트림 전달의 업스트림 및 다운스트림 성능에 대한 향상된 가시성을 제공하는 고급 모니터링 기능이 포함되어 있습니다. 이를 통해 디지털로 가져온 운영 엔지니어는 API 요청이 NGINX Plus 아키텍처 전체에서 처리되고 확산되는 방식을 면밀히 감시할 수 있습니다.
운영 효율성 향상 및 TCO 절감
여러 공급업체, 하드웨어 어플라이언스, 소프트웨어 배포를 관리하려면 많은 리소스가 소모될 수 있습니다. 업그레이드부터 패치, 수정, 지속적인 모니터링에 이르기까지 다양한 기술과 제품을 사용하는 모든 아키텍처는 결국 자체 무게로 인해 무너질 수 있습니다. Digitally Imported의 경우 소규모 운영 팀으로 인해 이러한 아키텍처를 관리하는 데 어려움이 가중되었습니다.
NGINX Plus를 사용하면 Digitally Imported가 여러 공급업체의 네트워크 기능을 상용 하드웨어에 배포할 수 있는 단일 소프트웨어 기반 접근 방식으로 근본적으로 통합할 수 있습니다. 이는 팀이 이전에 갖지 못한 수준의 중복성과 단일 구성 언어 및 배포 전략 내에서 쉽게 배포, 테스트 및 모니터링할 수 있는 방법을 제공했습니다.
DI.FM은 여러 공급업체 제품을 관리하기 위해 전문 리소스를 찾거나 고용할 필요가 없었기 때문에 네트워크 관리에 대한 높은 수준의 프라이드를 얻으면서 간결하고 민첩한 상태를 유지할 수 있었습니다. 여러 공급업체 도구를 단일 도구로 통합하면 스트리밍 인프라를 유지하는 데 필요한 전체 시간이 크게 줄어들고(운영 비용 절감) 동시에 기본적으로 지원되는 HA/장애 조치 구성을 통해 전체 운영 효율성이 향상됩니다. 이를 통해 다운타임이 발생하는 경우에도 사용자 요청이 고용량의 확장 가능한 방식으로 계속 처리됩니다.
디지털 수입 정보
1999년에 설립된 DI.FM(Digital Imported)은 전자 음악에만 초점을 맞춘 다중 채널 인터넷 라디오 서비스입니다.