MidwayUSA: NGINX Plus로 자동화 및 앱 배포 가속

1977년에 설립된 MidwayUSA 는 사격, 사냥, 야외 활동을 위한 Just About Everything®을 판매하는 성공적인 이커머스 리테일러입니다. 100,000개 이상의 제품과 120만 명 이상의 활성 고객을 보유한 MidwayUSA 는 해당 시장의 글로벌 리더입니다. MidwayUSA가 NGINX Plus 를 선택한 이유를 알아보세요.

목차

1. MidwayUSA 의 도전
2. MidwayUSA 의 솔루션
3. MidwayUSA 의 구현
4. 결과
4-1. 사이트 유지 관리에 소요되는 시간 대폭 단축
4-2. 자동화를 통한 민첩성 향상
4-3. 캐싱을 통한 응답 시간 향상
4-4. 우수한 로깅 및 모니터링
4-5. 놀랍도록 쉬운 A/B 테스트
5. MidwayUSA 소개

1. MidwayUSA 의 도전

MidwayUSA는 풍부한 기능의 사용자 친화적이고 빠른 웹사이트 환경을 포함하여 고객에게 우수한 서비스를 제공하는 데 전사적인 역량을 집중하고 있습니다. 웹 운영팀의 책임은 우수한 웹사이트를 제공하는 것입니다. 약 4년 전까지만 해도 MidwayUSA 는 웹 트래픽 로드 밸런싱에 Cisco ACE를 사용했지만, ACE 제품군의 수명이 다해가고 있었습니다. 동시에 MidwayUSA팀은 고객에게 최고의 이커머스 경험을 제공하기 위해 로드 밸런서에 보다 유연한 구성 및 자동화 기능이 필요하다는 사실을 깨달았습니다.

“이전 로드 밸런서에 꽤 만족하고 있었지만, 확실히 이전할 준비가 되어 있었습니다. 자동화에 어려움을 겪기 시작한 시점에 이르렀기 때문입니다. 또한 테스트를 포함한 모든 환경에서 일관성을 유지하는 등 더 많은 유연성을 원했습니다. 기존 하드웨어 로드 밸런서로는 사용할 수 있는 테스트 디바이스가 없었습니다. 대신 특별한 로직을 만들어야 했기 때문에 테스트 환경이 프로덕션 환경과 동일하지 않았습니다. 더 많은 유연성과 손쉬운 자동화가 필요했기 때문에 대체 로드 밸런싱 솔루션을 찾기 시작했습니다.”라고 MidwayUSA 의 웹 운영 매니저인 Drew Turner는 설명합니다.

2. MidwayUSA 의 솔루션

MidwayUSA 의 웹 운영팀은 F5와 같은 기존 하드웨어 로드 밸런서뿐만 아니라 HAProxy 및 NGINX Plus와 같은 소프트웨어 로드 밸런서를 평가했습니다. MidwayUSA 는 가격, 성능, 기능, 기술 지원 등을 종합적으로 고려한 결과 NGINX Plus를 최종적으로 선택했습니다.

“기존 공급업체는 물론 동종 업계에서 사용 중인 다른 솔루션도 살펴봤는데, NGINX Plus가 계속 떠올랐습니다. 상위 3~4개 로드 밸런싱 솔루션의 모든 기능을 평가한 결과, NGINX Plus가 다른 모든 솔루션보다 월등히 뛰어났음을 알 수 있었습니다. NGINX Plus는 SSL 오프로딩이 내장되어 있고, 필요한 추가 기능을 추가하고 문제가 발생하면 밤 10시까지 도움을 줄 수 있는 엔지니어의 훌륭한 지원과 우리가 찾던 모든 기능 세트를 갖추고 있었습니다. 게다가 NGINX Plus는 시작하기가 매우 쉽고 하드웨어 로드 밸런서보다 투자 비용이 훨씬 적습니다.”라고 Turner는 말합니다.

NGINX Plus는 세계에서 가장 인기 있는 오픈 소스 웹 서버이자 트래픽이 많은 사이트를 위한 리버스 프록시인 NGINX 오픈 소스를 기반으로 구축된 완벽한 애플리케이션 전송 솔루션으로, 현재 전 세계에서 가장 바쁜 100만 개의 웹사이트를 지원하고 있습니다. NGINX Plus는 수상 경력에 빛나는 기술 지원과 고급 로드 밸런싱, 모니터링 및 관리를 위한 엔터프라이즈급 기능을 추가하여 완벽한 애플리케이션 전송을 보장합니다.

Cisco ACE에서 NGINX Plus로 마이그레이션하는 과정은 원활했습니다. “NGINX Plus로 이전하는 것은 쉬웠습니다. NGINX Plus 인스턴스를 설치하고 구성한 다음 방화벽이 NAT가 변환을 수행하도록 가리키는 위치를 수정했습니다. 약간의 빌드 시간과 많은 테스트가 필요했지만, 네트워크 주소가 가리키는 위치만 변경하면 변환 프로세스가 완료되었습니다.”라고 Turner는 말합니다.

“상위 3~4개 로드 밸런싱 서비스의 모든 기능 세트를 평가한 결과, NGINX Plus가 다른 모든 서비스보다 월등히 뛰어나다는 것을 알 수 있었습니다. NGINX Plus는 SSL 오프로딩이 내장되어 있고, 필요한 추가 기능을 추가할 수 있으며, 문제가 발생하면 밤 10시까지 도움을 줄 수 있는 엔지니어의 훌륭한 지원과 우리가 찾던 모든 기능 세트를 갖추고 있습니다. 게다가 NGINX Plus는 시작하기가 매우 쉽고 하드웨어 로드 밸런서보다 투자 비용이 훨씬 적습니다.”
– Drew Turner, MidwayUSA 의 웹 운영 관리자

3. MidwayUSA 의 구현

MidwayUSA 는 웹, 애플리케이션, 데이터베이스 계층을 포함한 다계층 아키텍처 전체에 걸쳐 로드 밸런서로서 NGINX Plus를 사용합니다. 각 계층에는 고가용성을 위해 쌍으로 구성된 Active-Passive 구성의 개별 NGINX Plus 인스턴스가 포함되어 있어 총 6개의 인스턴스가 있습니다. 나머지 3개의 인스턴스는 개발에 사용됩니다.

Diamanti 및 NGINX를 사용하여 네트워크 서비스 설계 MidwayUSA

MidwayUSA 의 3티어 아키텍처

애플리케이션의 진입점에서 MidwayUSA 는 유입되는 웹 트래픽을 처리하는 프론트엔드 로드 밸런서로 NGINX Plus를 사용합니다. NGINX Plus는 현재 Microsoft IIS를 사용하는 웹 서버 계층에 대한 트래픽 부하를 분산합니다. 애플리케이션 계층(서비스 계층)에서 MidwayUSA 는 거의 동일한 구성의 또 다른 active-passive NGINX Plus 인스턴스 쌍을 사용하여 결제, 제품 페이지, 검색 등의 기능을 제공하는 백엔드 이커머스 애플리케이션으로 트래픽을 라우팅하며, 이 애플리케이션은 ASP.NET을 사용하여 C#으로 작성됩니다. 데이터베이스 계층에서 NGINX Plus는 웹사이트의 Microsoft SQL 데이터베이스를 로드 밸런싱합니다. 아키텍처 전체에 걸쳐 별도의 NGINX Plus 인스턴스를 보유함으로써 MidwayUSA 의 웹 운영팀은 목표를 쉽게 달성할 수 있습니다.

“저는 모듈식 아키텍처를 정말 좋아합니다. NGINX Plus 인스턴스 하나만으로도 많은 작업을 수행할 수 있습니다. 하지만 저는 각 레이어에 별도의 가상화 인스턴스가 있는 별도의 비무장 영역에 NGINX Plus를 배포하는 것을 선호합니다. 모든 것을 한꺼번에 옮길 필요가 없기 때문에 별도의 레이어를 늘리거나 줄일 때 더 쉬워졌습니다.”라고 Turner는 설명합니다.

로드 밸런싱과 고가용성을 위해 NGINX Plus를 구현하는 것 외에도 MidwayUSA 는 NGINX Plus의 캐싱 및 A/B 테스트 기능도 활용하고 있습니다.

4. 결과

4-1. 사이트 유지 관리에 소요되는 시간 대폭 단축

MidwayUSA 의 웹 운영팀은 깔끔한 모듈식 설계의 NGINX Plus가 이전 하드웨어 로드 밸런서에 비해 일상적인 유지 관리와 작업이 훨씬 쉬워지고 생산성도 향상되어 만족하고 있습니다.

“NGINX Plus는 구성이 매우 쉬우며 이는 우리에게 매우 중요한 요소입니다. 매우 모듈화되어 있어 여러 사이트에서 구성 요소를 공유할 수 있습니다. 예를 들어 저희는 프론트엔드 사이트 세 곳에서 proxy.conf 구성 파일을 공유합니다. 한 번만 변경하면 세 사이트 모두에서 작동하는 것이 정말 좋습니다.”라고 Turner는 말합니다. “구성의 관점에서 볼 때 유지 관리 활동이 확실히 크게 줄었습니다.

하나의 거대한 구성 파일 대신 NGIXN Plus는 기능별로 분리된 모듈식 구성 파일을 지원하므로 가독성과 유지 관리가 향상됩니다. 자동화 기능과 함께 간소화된 구성 관리 덕분에 운영팀의 업무가 훨씬 줄어들었습니다. NGINX Plus를 사용하면 엄청나게 빠르게 스핀업하고 테스트할 수 있습니다.”라고 말합니다.

4-2. 자동화를 통한 민첩성 향상

“웹 운영팀은 빠르게 구축하는 것을 좋아합니다. 하드웨어 어플라이언스를 사용할 때보다 훨씬 더 빠르게 시스템을 가동할 수 있습니다.”라고 Turner는 말합니다. “또한 NGINX Plus는 소프트웨어이기 때문에 이전에는 할 수 없었던 작업을 코드형 인프라로 수행할 수 있습니다.”

MidwayUSA 는 NGINX Plus를 통해 인프라 자동화를 강화하여 개발 주기를 단축하고 민첩성을 개선할 수 있었습니다. Chef 자동화와 함께 NGINX Plus를 사용하면 버튼 클릭 한 번으로 애플리케이션에 변경 사항을 배포하는 것이 간단해집니다. 운영 서버에 변경 사항을 배포하는 대신 MidwayUSA 는 Chef를 사용하여 스테이징 서버에서 새로운 NGINX Plus 인스턴스를 빠르게 스핀업합니다. 그런 다음 스테이징 배포를 테스트합니다. 모든 것이 정상으로 확인되면 프로덕션 환경이 스테이징 서버를 가리키도록 변경하고 NGINX Plus가 다시 로드됩니다. 그 결과 최소한의 위험과 가동 중단 시간 없이 신속하게 “무중단”으로 전환할 수 있습니다.

4-3. 캐싱을 통한 응답 시간 향상

“NGINX Plus의 캐싱 기능은 이전에 사용했던 그 어떤 것보다 뛰어납니다. NGINX Plus를 사용하면 모든 것을 매우 세밀하게 캐싱할 수 있습니다.”라고 Turner는 말합니다.

NGINX Plus가 제공하는 놀랍도록 세분화된 수준의 캐싱 덕분에 웹사이트 성능과 응답성이 향상되었습니다. Turner는 이렇게 말합니다: “웹과 애플리케이션 레이어 간의 요청 캐싱을 통해 사이트 성능이 크게 향상되었습니다. 캐시된 응답은 약 10ms인 반면, 데이터베이스로 이동하는 캐시 되지 않은 요청은 평균 100ms가 걸리므로 이러한 요청의 시간을 크게 단축할 수 있습니다.”

내부 애플리케이션 요청을 캐싱하는 것 외에도 MidwayUSA 는 third-party 제공업체가 제공하는 검색착의 결과를 캐싱하는 데도 NGINX Plus를 사용합니다. 캐시된 검색 결과는 10~15ms 내에 반환되는 반면, 검색 공급업체로 전송되는 쿼리는 최대 700ms가 소요될 수 있어 큰 차이가 있습니다.

가장 주목할 만한 점은 캐싱 성능 향상으로 CPU에 미치는 영향이 최소화되었다는 점입니다.

Turner는 “전용 캐싱 프록시인 Squid와 NGINX Plus를 벤치마킹했습니다. 동일한 워크로드에서 Squid는 30%의 CPU를 사용하는 반면, NGINX Plus는 4%만 사용했습니다.”

4-4. 우수한 로깅 및 모니터링

NGINX Plus의 광범위한 로깅 기능을 통해 MidwayUSA 는 보완적인 third-party 소프트웨어와 NGINX Plus live activity monitoring 대시보드를 통해 운영을 더 잘 모니터링할 수 있습니다.

“NGINX Plus의 로깅 기능이 뛰어나기 때문에 응답 시간, 캐시 요청률, 캐시 적중률과 같은 심층적인 통계를 살펴볼 수 있습니다.”라고 Turner는 설명합니다. “저희는 Splunk로 많은 모니터링을 수행하는데, 기본적으로 NGINX Plus에서 로그를 가져옵니다. 다른 솔루션을 사용할 때보다 훨씬 더 많은 정보를 훨씬 더 쉽게 얻을 수 있습니다. 또한 우리 팀의 제안을 반영한 NGINX Plus 대시보드도 매우 마음에 듭니다.”

Live Activity Moaanitoring - NGINX Plus의 대표 기능 MidwayUSA

NGINX Plus 대시보드는 애플리케이션 성능에 대한 중요한 인사이트를 제공합니다.

4-5. 놀랍도록 쉬운 A/B 테스트

NGINX Plus의 정교한 트래픽 라우팅 기능 덕분에 MidwayUSA 는 웹 사이트 변경의 효과를 확인하기 위한 A/B 테스트를 쉽게 수행할 수 있었습니다.

테스트할 변경 사항이 적용된 테스트 머신을 쉽게 가동하고 배포한 후, MidwayUSA 는 NGINX Plus의 로드 밸런싱 매개변수를 사용하여 트래픽의 일정 비율을 새 버전의 웹 사이트로 보낼 수 있습니다.

“새로운 결제 프로세스와 같이 웹사이트를 크게 변경할 때 이를 모든 사용자에게 전달하면 100%의 고객에게 영향을 미칩니다. NGINX Plus를 사용한 A/B 테스트를 통해 일부 고객만 새로운 프로세스를 거치도록 설정할 수 있습니다. 그런 다음 중요한 지표를 평가하고 변경 사항을 완전히 배포할지 여부를 결정할 수 있습니다. 예를 들어, 전환율이 대조 그룹에 비해 현저히 낮다면 일부 고객에게만 영향을 미쳤으므로 쉽게 롤백할 수 있습니다. NGINX Plus를 사용한 A/B 테스트는 위험을 완화하고 서비스 수준을 개선하는 데 도움이 됩니다.”

A/B 테스트는 대규모 변경 사항을 배포할 때 매우 중요했지만, 이제 쉽게 수행할 수 있게 된 덕분에 MidwayUSA 는 작은 변경 사항도 테스트할 수 있게 되어 사용자 경험을 미세 조정할 수 있게 되었습니다.

“예전에는 Sitespect를 통해 A/B 테스트를 수행했는데, 대규모 변경 사항 중 일부를 테스트하는 데 도움이 되었지만, NGINX Plus를 사용하면 훨씬 빠르고 쉽게 A/B 테스트를 수행할 수 있어 결제 버튼이나 색상 변경과 같은 사소한 사항도 테스트할 수 있습니다. 이제 무엇이든 쉽게 테스트할 수 있습니다.”라고 Turner는 말합니다.

5. MidwayUSA 소개

Missouri 출신의 시골 아이들인 Larry와 Brenda Potterfield 부부는 1977년 사격 스포츠에 대한 열정을 직업으로 삼아 작은 총기 가게를 열었고, 이 가게는 훗날 MidwayUSA 가 되었습니다. 이들은 정직, 성실, 타인에 대한 존중과 같은 가족적 가치를 비즈니스에 심어주었고, 성장하는 팀에 합류하는 직원마다 이러한 문화를 유지하기 위해 노력했습니다. 39년 이상 고객 만족을 위해 변함없는 노력을 기울여 온 MidwayUSA 는 사격, 사냥, 아웃도어에 필요한 모든 것을 제공하고 있습니다. 자세한 정보는 http://www.midwayusa.com에서 확인할 수 있습니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 논의하십시오.

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

* indicates required