Montana Interactive, NGINX Plus로 앱 성능 및 고객 서비스 향상

Montana Interactive 는 몬태나 주의 전자정부 서비스 제공업체입니다.
주, 카운티, 시 기관과 협력하여 수백 가지의 전자정부 솔루션을 지원하며 몬태나주 및 그 외 지역의 시민과 기업에게 혜택을 제공합니다.

목차

1. Montana Interactive 의 도전과제
2. 해결책 – NGINX Plus
3. Montana Interactive, NGINX Plus 채택 결과
 3-1. 향상된 측면
 3-2. 적은 투자로 큰 영향 달성
 3-3. 향상된 Montana Interactive 보안
 3-4. Live Activity Monitoring 및 Health Checks를 통한 애플리케이션 가용성 향상
 3-5. 높은 응답성의 자동화 구현
 3-6. Montana Interactive 운영 개선
4. Montana Interactive 의 다음 단계

1. Montana Interactive 의 도전과제

몬태나주는 2001년에 첫 웹 서비스를 시작했으며, 현재 전자정부 프로그램을 통해 36개 기관과 100만 명 이상의 몬태나 주민에게 약 300개의 온라인 서비스를 제공하고 있습니다. Montana Interactive 는 온라인 서비스와 안전한 결제 처리 솔루션을 개발, 배포 및 유지 관리하는 조직입니다.

몬태나 인터랙티브는 매월 약 65만 명의 사용자에게 서비스를 제공하는 200개 이상의 전자정부 애플리케이션을 운영하고 있습니다.
최근까지 모든 퍼블릭 트래픽은 Pound를 리버스 프록시, 로드 밸런서, HTTPS Frontend로 실행하는 2개의 Production 가상 머신(VM)에서 로드 밸런싱되었습니다.
Heartbeat Probe는 IP 주소 가용성을 확인하고 필요한 경우 failover를 수행했습니다. 퍼블릭 트래픽은 인터넷을 통해 도착하여 로드 밸런싱된 후 해당 기관의 서버로 전송되었습니다.

하지만 시스템 점검이 필요했습니다.
이 Legurcy 시스템에서는 IT 운영팀이 트래픽 흐름에 필요한 모니터 스레드 수를 지정해야 했습니다.
부하가 높으면 로드 밸런서와 앱 서버 간에 timeout이 발생했습니다.
또한 인라인 구성을 수행할 수 없었기 때문에 IT팀은 무언가를 변경해야 할 때마다 시스템을 수동으로 다시 시작해야 했고, 이로 인해 고객에게 문제가 발생하는 경우도 있었습니다.
예를 들어, 한 시민이 온라인으로 대규모 양식을 작성하다가 서버를 재시작해야 하는 경우 세션이 중단되어 다시 시작해야 하는 경우가 있었습니다.
많은 사람들이 의존하는 서비스용 애플리케이션인 만큼 Montana Interactive 는 사용자가 원활한 경험을 할 수 있도록 하고 싶었습니다.

“한 대행사의 대규모 결제 애플리케이션에서는 안정적인 성능을 유지하는 것이 특히 어려웠습니다.”
라고 Montana Interactive의 IT 운영 관리자인 제임스 리들(James Ridle)은 설명합니다.
“매 분기마다 트랜잭션 트래픽이 급증하여 스레드를 추가해야 했습니다. 하지만 스레드를 추가하려면 VM을 다시 시작해야 했습니다.
실제로 워크로드를 이동하거나 애플리케이션을 배포하거나 재구성할 때마다 재시작이 필요했습니다.
비효율적이고 시간이 많이 소요될 뿐만 아니라 애플리케이션 성능과 사용자 경험이 저하될 위험이 있었습니다.”

Legurcy 로드 밸런서를 최신 고성능 솔루션으로 마이그레이션 해야 할 때였습니다.
하지만 하드웨어 기반 접근 방식은 각각 약 3만 달러의 비용이 드는 최소 4대의 시스템이 필요했습니다.
대신 Ridle은 NGINX Plus를 선택하기로 했습니다.

2. 해결책 – NGINX Plus

“과거에 NGINX 오픈소스를 사용해 본 적이 있는데, 다른 많은 회사들이 여러 가지 이유로 NGINX로 전환하는 것을 보았습니다.” 라고 Ridle은 말합니다.
“NGINX Plus를 평가해 본 결과 그 성능에 놀랐습니다. 벤치마크를 보고 깜짝 놀랐습니다. NGINX Plus가 처리할 수 있는 트래픽의 양은 우리가 필요로 하는 것 이상으로 엄청났습니다.”

Montana Interactive 는 리버스 프록시 및 HA 로드 밸런서를 위해 NGINX Plus를 선택했습니다.
10년간의 경험을 통해 강화된 소프트웨어를 기반으로 구축된 지능형 트래픽 Gateway인 NGINX Plus는 고급 부하 분산, 애플리케이션 Health Checks, Session Persistence, Advanced Monitoring 등과 같은 추가적인 엔터프라이즈 지원 기능을 갖춘 NGINX 오픈소스를 기반으로 합니다.

Montana Interactive 는 여러 Hypervisor와 데이터 센터에 분산되어 있는 가상 머신에 NGINX Plus를 배포했습니다.
NGINX Plus는 동적 리버스 프록시로 작동하여 각 요청을 라우팅할 위치를 실시간으로 결정합니다.
두 개의 VM은 개발 및 사용자 승인 테스트 전용으로 사용되며, 두 개의 추가 VM은 Production 네트워크에 사용됩니다.

3. Montana Interactive, NGINX Plus 채택 결과

3-1. 향상된 측면

Ridle에 따르면 NGINX Plus는 속도, 유연성, 사용 편의성 측면에서 크게 개선된 기능을 제공합니다.
NGINX Plus 로드 밸런서는 사용자에게 일관되게 빠른 경험을 제공하고 있습니다.
또한 Montana Interactive 는 작업량이 많은 시간대에도 새벽 2시에 수동 재시작과 세션 중단을 없애는 것을 목표로 업스트림 그룹의 동적 재구성 등의 기능을 완전히 배포하게 되었습니다.

3-2. 적은 투자로 큰 영향 달성

NGINX Plus는 초당 수천 건의 요청과 수백만 명의 동시 사용자를 처리할 수 있도록 설계되었습니다.
몬태나의 모든 사람이 동시에 전자정부 애플리케이션을 사용하더라도 인프라는 쉽게 확장할 수 있습니다.
Montana Interactive 는 NGINX Plus를 통해 적은 투자로 상당한 양의 트래픽을 처리할 수 있습니다.

“NGINX Plus는 전체 인프라에서 차지하는 비중은 상대적으로 작지만 Gateway 역할을 합니다. NGINX Plus의 기능 덕분에 트래픽을 논리적으로 구성할 수 있습니다. 부하가 높아진 후에도 NGINX Plus는 중단없이 트래픽이 빠르게 이동하게 합니다. 페이지 로딩 시간과 브라우저 성능도 크게 개선되었습니다.”

– Montana Interactive의 IT 운영 매니저 James Ridle

3-3. 향상된 Montana Interactive 보안

Montana Interactive는 SSL offloading 및 Role-Based Access와 같은 NGINX Plus 기능을 사용하여 보안을 강화했습니다.
예를 들어, 일부 보호되는 정보나 애플리케이션은 해당 기관 직원만 사용할 수 있어야 합니다.
NGINX Plus는 애플리케이션에 액세스할 수 있는 사용자를 세밀하게 제어할 수 있습니다.
또한 정부 기관으로서 몬태나 인터랙티브는 다양한 규정 준수 테스트를 받아야 합니다. NGINX Plus의 보안 기능을 통해 Montana Interactive 는 전반적으로 A를 획득했습니다.

3-4. Live Activity Monitoring 및 Health Checks를 통한 애플리케이션 가용성 향상

Ridle은 Live Activity Monitoring 대시보드가 큰 도움이 된다고 말합니다.
지금까지 그는 이 대시보드를 사용하여 각 업스트림 노드의 자세한 성능 및 상태 정보를 실시간으로 확인하고 있습니다.
모든 Active 및 Idle Connection, Request, 서비스 상태, Server zone, Caches를 한 눈에 확인할 수 있습니다.

Health Checks를 통해 장애로 인해 사용자 경험이 중단되지 않도록 할 수 있습니다.
Health Checks는 업스트림 서버를 지속적으로 테스트하고 장애가 발생한 서버를 피하도록 NGINX Plus에 지시하므로 서버에 장애가 발생하거나 유지 관리를 위해 중단될 때 사용자에게 오류 페이지가 표시되지 않습니다.

3-5. 높은 응답성의 자동화 구현

자동화는 Montana Interactive 의 생명의 은인이며, Ridle은 업스트림 서버 그룹의 변경 사항을 관리하기 위해 NGINX Plus의 Auto Scaling 및 동적 재구성 기능을 활용하고 있습니다.
과거에는 새 애플리케이션을 안전하게 배포하려면 여러 단계의 테스트를 거쳐 서버를 단계적으로 온라인 상태로 전환해야 했고, 이 과정에서 며칠이 걸렸습니다.

“이제 애플리케이션을 자동으로 배포하거나 제거할 수 있습니다.” 라고 Ridle은 말합니다.
“며칠이 아니라 몇 분 만에 사용자 중단 없이 배포할 수 있습니다. 자동화를 통해 새로운 차원의 효율성을 확보하여 팀에 과부하를 주지 않고도 대행사에 더욱 역동적인 서비스, 기능 및 제어 기능을 제공할 수 있게 되었습니다.”

3-6. Montana Interactive 운영 개선

Montana Interactive 는 처음 NGINX Plus를 배포할 때 포트 80을 열어 두어야 하는 Legurcy 서비스를 사용했습니다.
이 팀은 새로운 배포에서 이 문제를 해결하기가 어렵다는 것을 알게 되어 NGINX 기술 지원팀에 도움을 요청했습니다.

“NGINX 지원팀은 목표를 효율적으로 달성할 수 있는 다양한 방법을 제시해 주었습니다.”라고 Ridle은 말합니다.
또한 그는 “그들은 문제를 빠르게 파악하고 심지어 우리 환경에 맞게 솔루션을 맞춤화했습니다. 마치 챔피언처럼 잘 작동했습니다. 전문 지식이 풍부한 숙련된 엔지니어와 협력하여 단시간에 도움을 받을 수 있었습니다.” 라고 덧붙혔습니다.

4. Montana Interactive 의 다음 단계

Ridle은 개발, UAT, Production 트래픽을 단 두 개의 VM으로 통합할 계획이며 NGINX Plus가 부하를 쉽게 처리할 수 있다는 확신을 가지고 있습니다.
다음으로 그는 NGINX Plus의 기능을 더 많이 활용할 계획입니다. 예를 들어, Content Caching을 통해 Montana Interactive 는 대용량 이미지 및 표와 같은 정적 콘텐츠를 제공하기 위해 일부 VM에서 수행해야 하는 무거운 작업을 일부 경감할 수 있게 될 것입니다.
더 많은 NGINX Plus 기능을 활용하면 기관과 시민을 위한 개선이 계속 이어질 것입니다.

“NGINX Plus는 DevOps 환경으로 전환할 수 있는 문을 열어주었습니다.” 라고 Ridle은 말합니다.
그는 계속해서 “업스트림 서버를 즉시 구성하고, 서비스를 자동화하고, API에 대한 보안 및 사용 정책을 적용할 수 있습니다. 이제 높은 성능과 안정성을 바탕으로 혁신을 이룰 수 있는 방법을 생각하니 기대가 됩니다.” 라고 덧붙혔습니다.

Montana Interactive 의 NGINX Plus 사용 사례처럼 고성능 L7 소프트웨어 로드 밸런서가 필요하신가요?
지금 NGINX Plus의 30일 무료 체험판으로 시작할 수 있습니다. 또한 NGINX STORE에 문의하여 다양한 사용 사례에 대해 상담 받아보세요.

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

* indicates required