☑️ ADC(Application Delivery Controller)란 무엇일까요?
애플리케이션 딜리버리 컨트롤러(ADC)는 웹을 통해 제공되는 애플리케이션의 성능, 보안 및 복원력을 향상시키기 위해 설계된 네트워크 장비입니다. ADC는 기존 로드 밸런싱 장비가 더 발전된 애플리케이션 딜리버리 요구사항을 처리하고 애플리케이션 성능을 향상시킬 필요성이 증가함에 따라 주목받고 있습니다.

☑️ 기업들이 ADC를 사용하는 이유는 무엇인가요?
애플리케이션은 수년에 걸쳐 상당히 발전해 왔습니다. 오늘날 "딜리버리(delivery)"라는 용어는 모바일 및 클라우드 시대에서 애플리케이션을 사용자에게 제공하는 방식을 의미하는 것으로 일반적으로 받아들여지고 있습니다. 엔터프라이즈 환경에서는 비즈니스 애플리케이션이 더 이상 로컬 서버에 설치된 데스크톱 기반 소프트웨어에 국한되지 않으며, LAN을 통해 사용자들이 접속하는 방식에서 벗어나게 되었습니다. 현대 애플리케이션은 모든 유형의 네트워크에서 작동해야 하며, 물리적 작업 공간을 넘어 다양한 위치에서 접근할 수 있어야 합니다.
엔터프라이즈에서 필수적인 구성 요소로 널리 배포되는 애플리케이션 딜리버리 컨트롤러(ADC)는 애플리케이션이 현재 사용되는 네트워크와 프로토콜에 적응할 수 있도록 지원합니다. 또한, 애플리케이션이 최적의 성능을 발휘하고 항상 가용하며, 사용자나 기업에 보안 위험을 초래하지 않도록 보장합니다.
이는 특히 하이브리드 근무 환경이 증가하는 상황에서 더욱 중요합니다. 일반적인 소비자는 일상적으로 사용하는 디바이스와 애플리케이션이 항상 원활하게 작동하고, 필요한 정보가 즉시 제공되기를 기대합니다. 이러한 기대치는 업무에서 사용하는 디바이스 및 애플리케이션에도 그대로 적용됩니다. 오늘날의 근로자들을 만족시키기 위해서는 비즈니스 애플리케이션도 개인적인 작업이나 엔터테인먼트를 위해 사용하는 애플리케이션만큼 직관적이고 사용하기 쉬워야 합니다. 많은 직원들은 더 이상 제한된 회사 소유 장비만을 사용할 필요 없이, 개인 디바이스를 활용해 원하는 시간에 업무를 수행할 수 있습니다. 사람들이 하루 중 언제든지 업무를 수행할 수 있기 때문에, IT 부서는 업무용 서버와 애플리케이션이 24시간 언제나 가용한 상태를 유지해야 합니다. 이를 위해 기업들은 IT 인프라에 막대한 투자를 하여 직원들이 필요할 때 언제든 애플리케이션과 정보를 이용할 수 있도록 보장합니다.
물론, 서버는 기계적 결함, 과부하, 보안 침해 등 여러 가지 이유로 인해 장애가 발생할 수 있습니다. 서버가 다운되면 해당 서버에서 실행되는 애플리케이션은 사용할 수 없거나 접근할 수 없게 됩니다. IT 조직은 이러한 상황을 대비하여 내결함성을 갖춘 환경을 구축할 수 있습니다. 데이터센터 또는 공동 배치 사이트(co-location site)에 추가 서버를 배치하는 것이 일반적인 페일오버(failover) 전략입니다. ADC는 애플리케이션 워크로드를 하나 이상의 사이트에서 활성 서버 클러스터에 분산시킴으로써 원활한 페일오버를 제공하여 애플리케이션의 고가용성을 보장할 수 있습니다.
☑️ ADC는 어떻게 작동하나요?
애플리케이션 딜리버리 컨트롤러(ADC)는 알고리즘과 정책을 활용하여 인바운드 애플리케이션 트래픽이 어떻게 분배될지를 결정합니다. 라운드 로빈(Round robin) 방식은 클라이언트 요청을 각 서버에 순차적으로 전달하는 기본적인 형태의 로드 밸런싱입니다. 이 방식은 모든 서버가 동일하다고 가정하며, 서버의 상태나 응답성을 고려하지 않습니다. 관리자는 ADC가 인바운드 요청을 어느 서버로 보낼지 결정하기 전에 여러 기준을 확인하도록 추가 정책을 구현할 수 있습니다. ADC는 패킷 헤더에서 키워드나 요청된 파일 유형을 검사한 후, 이 정보를 기반으로 적절한 서버로 요청을 전달할 수 있습니다.
애플리케이션 딜리버리 컨트롤러는 또한 강력한 모니터링 기능을 제공합니다. 기본적인 핑(ping) 테스트를 넘어 서버의 상태와 운영 가능 여부를 확인할 수 있습니다. 만약 모니터링 결과 서버에 문제가 발생했거나, 서버의 신뢰성을 보장하는 특정 기준을 충족하지 못하는 경우, ADC는 트래픽을 대체 서버로 우회하여 서비스 중단을 방지합니다.
또한, ADC는 모든 사용자 및 네트워크 트래픽에 대한 실시간 및 과거 분석을 수행할 수 있습니다. 여기에는 왕복 시간(RTT), 대역폭 사용량, 데이터센터 및 광역 네트워크(WAN) 지연 시간과 같은 지표가 포함됩니다. 이러한 정보는 헬프데스크 직원이 문제의 원인을 신속하게 파악할 수 있도록 돕고, 사용자에게는 빠른 문제 해결을 제공합니다.
☑️ ADC는 애플리케이션 성능 향상에 어떻게 도움을 주나요?
사용자 요구 사항에 맞춘 최적화
애플리케이션이 사용자 기대에 부응하지 못하면 생산성이 크게 저하될 수 있습니다. ADC는 특히 모바일 및 높은 지연 시간이 발생하는 네트워크에서 애플리케이션 성능을 향상시키기 위해 다양한 메커니즘을 활용할 수 있습니다. SQL 데이터베이스 로드 밸런싱은 성능을 향상시키는 한 가지 방법입니다. SQL 로드 밸런싱은 TCP 트래픽 로드 밸런싱에서 사용하는 기술과 유사하지만, 이를 데이터베이스 수준에서 적용합니다. 정책 기반 로직을 사용하여 각 SQL 트랜잭션을 처리함으로써, 데이터베이스 클러스터 내에서 처리할 수 있는 요청 및 연결 수를 증가시킵니다.
애플리케이션 딜리버리 컨트롤러가 제공하는 다른 일반적인 성능 최적화 기능으로는 서버 집약적 작업의 오프로드, 연결 멀티플렉싱, 압축, 캐싱 등이 있습니다. SSL 및 TLS는 웹 비즈니스에서 필수적인 요소입니다. 최신 암호화 방식으로 보호된 트래픽을 관리하는 것은 CPU에 상당한 부담을 줄 수 있습니다. ADC는 대량의 암호화된 트래픽과 비암호화된 트래픽을 처리할 수 있으며, 인증서 관리를 수행하고 서버에 도달하기 전에 트래픽을 복호화합니다.
TCP 멀티플렉싱은 대량의 인바운드 서버 요청을 처리하는 효과적인 방법입니다. TCP 멀티플렉싱은 ADC와 서버 간에 활성 연결을 유지합니다. 트래픽이 ADC에 도달하면, 열려 있는 채널을 사용하여 요청을 라우팅함으로써 각 트랜잭션마다 발생하는 비효율적인 "연결 열기-닫기" 오버헤드를 제거하여 서버 성능 저하를 방지합니다.
모바일 네트워크에서의 최적화
애플리케이션 딜리버리 컨트롤러(ADC)는 모바일 네트워크에서도 성능 향상을 제공할 수 있습니다. 고속 인터넷 연결을 염두에 두고 설계된 웹 페이지는 대역폭이 제한된 모바일 네트워크에서 동일한 사용자 경험을 제공하지 못하는 경우가 많습니다.
ADC는 모바일 네트워크에서 웹 콘텐츠 제공을 최적화하기 위해 여러 가지 창의적인 메커니즘을 활용할 수 있습니다. 도메인 샤딩(Domain Sharding)이 그중 하나의 예입니다. 연결 계층 최적화는 단일 도메인에 적용되며, 각 페이지의 콘텐츠를 여러 개의 서브도메인으로 분할하여 더 많은 채널을 동시에 열 수 있도록 합니다. 이를 통해 페이지 로딩 시간을 단축하고 성능을 향상시킬 수 있습니다. ADC는 전달되는 콘텐츠를 분석할 수 있으며, GIF 파일을 더 효율적인 PNG 형식으로 변환하여 대용량 이미지가 포함된 웹 페이지의 로딩 속도를 개선할 수 있습니다.
웹 페이지의 또 다른 주요 요소로는 스크립트와 CSS(캐스케이딩 스타일 시트) 파일이 있습니다. ADC는 불필요한 문자와 공백을 제거하여 이러한 파일을 압축할 수 있습니다. 압축된 파일은 네트워크를 훨씬 빠르게 전송할 수 있으므로 다운로드 시간이 크게 단축됩니다.
☑️ ADC는 애플리케이션 보안에 어떻게 도움을 주나요?
웹을 통한 애플리케이션 제공은 기존의 LAN 기반 애플리케이션에서는 고려할 필요가 없었던 새로운 위협과 취약점을 초래했습니다. 직원들이 점점 더 모바일화되고 애플리케이션 및 데이터에 원격으로 접근할 필요가 커짐에 따라, IT 부서는 외부 공격과 데이터 유출을 방지하기 위한 보다 강력한 보안 조치를 마련해야 합니다.
애플리케이션 딜리버리 컨트롤러(ADC)는 네트워크의 자연스러운 진입점 또는 게이트웨이 역할을 합니다. ADC는 애플리케이션에 접근하려는 각 사용자를 인증합니다. 만약 애플리케이션이 SaaS 기반이라면, ADC는 온프레미스 액티브 디렉토리 데이터 저장소를 이용하여 사용자의 신원을 검증할 수 있으며, 이를 통해 클라우드에 자격 증명을 저장할 필요가 없습니다. 이러한 방식은 보안을 강화할 뿐만 아니라, 여러 애플리케이션에 대한 싱글 사인온(SSO) 기능을 제공하여 사용자 경험을 향상시킵니다.
SAML은 XML 기반 프로토콜로, 현재 애플리케이션 로그인 프로세스를 간소화하는 데 널리 사용되고 있습니다. ADC는 SAML 에이전트로 작동하여, 사용자의 신원을 확인할 수 있는 다양한 데이터 저장소를 통해 사용자 인증을 수행할 수 있습니다. 일부 애플리케이션은 Facebook이나 Google과 같은 사이트의 자격 증명을 활용하여 사용자 신원을 검증한 후 접근을 허용합니다. 이와 같은 역할에서 ADC는 SAML 아이덴티티 공급자(IdP) 또는 서비스 공급자(SP)로 작동할 수 있습니다.
ADC는 속도 제한(rate-limiting) 조치를 구현하여 내부 서버 리소스를 분산 서비스 거부(DDoS) 공격으로부터 보호할 수 있습니다. DDoS 공격은 점점 더 빈번해지고 있으며, 특히 엔터프라이즈 웹 서비스가 주요 표적이 되어 서버를 과부하 상태로 만들어 비즈니스 운영을 방해하려는 시도가 증가하고 있습니다. 비정상적으로 대량의 인바운드 요청이 발생할 경우, ADC는 이러한 요청을 제한하거나 가용 대역폭 소비를 최소화하며, 경우에 따라 요청을 완전히 차단할 수도 있습니다.
애플리케이션 딜리버리 컨트롤러(ADC)는 로드 밸런싱과 고급 7계층(Layer 7) 보안 기능을 통합하였습니다. 기존에는 애플리케이션 계층 보호를 위한 웹 애플리케이션 방화벽(WAF)이 별도의 독립적인 솔루션으로 제공되었습니다. WAF는 네트워크 방화벽이 탐지하지 못할 수 있는 데이터 패킷 헤더의 의심스러운 콘텐츠나 악성 스크립트를 검사합니다. 현재 대부분의 ADC는 옵션으로 WAF 기능을 제공하여, 보안과 성능을 동시에 강화할 수 있도록 지원합니다.
애플리케이션 딜리버리 컨트롤러(ADC)는 긍정적 보안 모델(Positive Security Model)과 부정적 보안 모델(Negative Security Model)을 모두 지원할 수 있습니다. ADC가 "학습(Learning)" 모드로 설정되면, 트래픽을 분석하여 정상적인 동작을 나타내는 사용 패턴을 식별할 수 있습니다. 예를 들어, SQL 인젝션(SQL Injection)이나 크로스사이트 스크립팅(XSS)과 같은 악의적인 인바운드 요청이 감지되면, 이를 자동으로 식별하여 차단할 수 있습니다. 또한, ADC는 Qualys와 같은 타사 보안 제공업체와의 통합을 통해 서명 기반(Signature-based) 보호 기능도 활용할 수 있습니다. 이러한 보호 방법을 결합하면 ADC는 애플리케이션과 사용자를 위한 종합적인 하이브리드 보안 모델을 구현할 수 있습니다.
☑️ ADC의 미래는 어떻게 될까요?
ADC는 이미 IT 조직에 애플리케이션과 데이터를 안전하게 제공하는 중요한 역할을 수행하고 있습니다. 그러나 애플리케이션이 지속적으로 발전함에 따라, ADC도 계속해서 진화할 것으로 예상됩니다. 소프트웨어 정의 네트워킹(SDN)의 발전으로 인해, ADC는 기존 방식에서 벗어나 "서비스로서의 기능(ADC-as-a-Service)"을 제공해야 할 필요성이 증가하고 있습니다. 또한, 네트워크 프로토콜이 점점 더 애플리케이션 중심으로 변화함에 따라, ADC는 더욱 "자동화(Self-Automated)"된 형태로 발전하여 모든 유형의 애플리케이션에 대해 원활한 최적화 및 보호 기능을 제공해야 합니다.
☑️ 넷스케일러(NetScaler) - 애플리케이션 딜리버리 및 보안 플랫폼
NetScaler는 로드 밸런싱을 넘어, 멀티 클라우드 환경을 위한 고급 애플리케이션 딜리버리 기능을 제공합니다.
넷스케일러(NetScaler)는 모든 ADC 작업을 한 곳에서 관리할 수 있는 유일한 애플리케이션 딜리버리 및 보안 플랫폼입니다. 소프트웨어 기반 아키텍처를 사용하여 단일 코드 베이스로 구축되었기 때문에, 하드웨어, 가상 머신, 베어 메탈, 컨테이너 등 어떤 ADC 형태를 선택하더라도 동일한 동작을 보장합니다. 환경에 구애받지 않는 인텐트 기반, API 중심의 멀티 클라우드 환경을 위한 애플리케이션 딜리버리입니다. 작동방식과 기능 등 제품에 대한 자세한 내용은 제품 페이지를 통해 확인해보세요!
클라우드네트웍스는 업계 최고의 기술력을 보유한 전담팀을 통해 넷스케일러의 기술지원 서비스를 제공합니다. 넷스케일러에 대한 문의사항은 공식 파트너사인 클라우드네트웍스로 연락 부탁드립니다.
