Skip to content
cdn-architecture
Solip2023. 5. 31 오전 8:00:056 min read

CDN의 발전과 아키텍처

지난 글에서는 CDN의 정의와 원리, 그리고 캐싱에 대해서 설명했습니다. CDN은 근접성을 기반으로 최종 콘텐츠 소비자에게 콘텐츠를 제공하기 위해 여러 위치에 서버를 분산해 콘텐츠를 저장, 전송하는 기술입니다. 여러 대의 PoP(Point of Presence) 서버에서 복사본을 저장하고 원본 서버에 로그와 정보를 제공하는 매커니즘을 통해 웹 사이트 성능 및 보안 강화 효과를 얻을 수 있습니다. 영상 스트리밍의 수요와 콘텐츠 공급자 수가 늘면서 폭발적으로 증가하는 대역폭에 효과적으로 대응하기 위해 CDN 기술은 점차 발전했습니다. 국내의 경우 판도라TV, 엠군과 같은 UCC 플랫폼이 성장하던 2006년부터 CDN 시장이 본격적으로 시작됐습니다.1 여러 발전 과정을 거쳐 지금의 CDN은 SaaS, IaaS, PaaS를 막론하고 클라우드 서비스의 모든 유형을 아우르며 지속적으로 발전하고 있습니다. 이번 글에서는 이러한 CDN의 변천사와 아키텍처에 따른 유형 등 보다 자세하게 CDN에 대해 알아보겠습니다.

 

 

CDN 의 발전

1999년 미국에서 처음 상용화를 시작한 CDN은 30여년 간 기술의 발전과 함께 진화했습니다. 서버 및 컴퓨팅 시설을 집합한 서버팜(server farm), 여러 캐시를 계층적으로 배치하는 계층적 캐싱(hierarchical caching), 특정 콘텐츠를 로컬 캐시에 저장하는 캐싱 프록시 서버(caching proxy server)와 같은 초기 네트워크 기술들이 끊김 없는 인터넷 환경을 위한 인프라 형성에 결정적인 역할을 했습니다.

 

이러한 기술을 토대로 1세대 CDN은 이미지, 웹 사이트와 같은 정적 콘텐츠 전송을 수행하면서 웹 사이트 속도를 더 높이고 증가하는 콘텐츠 볼륨을 지원했습니다. 이후 기업이 인터넷 사용자들에게 서비스와 제품을 원활히 제공할 수 있는 네트워크 환경을 위해 CDN이 발전했고, 오늘날 클라우드 컴퓨팅, 엣지 컴퓨팅 등 신 기술과 융합해 인터넷 사용자들에게 보다 인터랙티브한 서비스를 제공하게 됐습니다. 많은 ISP, 통신사, IT 기업 및 전통 방송사들이 CDN을 통해 전 세계적인 커버리지를 확보하며 비즈니스를 운영하고 있습니다. 이렇게 CDN은 세대를 거듭할수록 새로운 기술과 개념을 적용하며 진화하고 있습니다.

 

CDN의 발전요소

  1. 캐싱(Cashing): CDN은 정적 콘텐츠를 최종 소비자에게 저장하는 캐싱 시스템으로 시작했습니다. 지리적으로 분산된 엣지 서버에 콘텐츠를 저장해 데이터와 콘텐츠 소비자의 물리적인 거리를 좁힐 수 있습니다.
  2. 동적 콘텐츠(Dynamic Content): 동적 웹 어플리케이션이 증가하면서 CDN은 동적 콘텐츠 캐싱을 위해 변모했습니다. 엣지 서버에서 동적으로 생산되는 콘텐츠를 캐싱해서 오리진 서버에서 다시 데이터를 불러오지 않아도 바로 콘텐츠를 전송하는 방식입니다.
  3. 글로벌 네트워크: 세계 각국에 데이터 센터를 구축하면서 CDN의 도달 범위는 전 세계적으로 확대되었습니다. 이를 통해 대기 시간을 낮추고, 콘텐츠 소비자에게 더 높은 성능을 제공할 수 있습니다.
  4. 다중CDN(Multi-CDN): 온라인 비즈니스로 전환됨에 따라 CDN의 중요성이 높아지면서 많은 기업들이 다중 CDN 전략을 채택하고 있습니다. 여러 개의 CDN을 사용해 웹 사이트 운영업체는 가용성과 성능 보장을 위해 콘텐츠를 서로 다른 네트워크에 배포할 수 있습니다.
  5. 보안: 사이버 공격이 더욱 정교해짐에 따라 CDN은 DDoS 방어, 웹 애플리케이션 방화벽 및 SSL/TLS 암호화와 같은 보안 기능을 제공할 수 있도록 발전했습니다. CDN 서비스를 고려한다면 규모에 맞는 적합한 성능뿐 아니라 보안 면에서 신뢰할 수 있는 업체의 서비스인지 확인하는 것이 중요합니다.
  6. 엣지 컴퓨팅(Edge Computing): 사물 인터넷(IoT) 장치와 실시간 애플리케이션이 증가함에 따라 CDN에서 엣지 컴퓨팅을 제공할 필요성도 커졌습니다. 네트워크 엣지에 컴퓨팅 리소스를 배치해 CDN은 소스 인접한 곳에서 데이터를 처리, 대기 시간을 줄이고 성능을 향상할 수 있습니다.

머신 러닝(Machine Learning): 최근 들어 콘텐츠 전송 최적화를 위해 CDN에서 사용자 행동 및 기타 요소를 기반해 머신 러닝을 활용하기도 합니다.

 

CDN 아키텍처

 

CDN의 PoP(Points of Presence)는 서버의 신뢰성과 효율성 측면에서 캐싱 매커니즘의 주요한 기초가 됩니다. 각 PoP에는 캐싱과 연결 최적화 및 콘텐츠 전송 기능을 담당하는 여러 서버와 라우터가 작동하고 있습니다. 또한, 보안 솔루션을 제공하는 CDN의 경우 PoP에 디도스(DDos) 스크러빙(scrubing) 센터 및 보안 관련 기능을 수행하는 장비들을 운용하기도 합니다.

 

빠른 속도의 콘텐츠 전송이 이제 당연한 인터넷 품질로 여겨지면서 이러한 요구를 충족할 수 있는 CDN 아키텍처 설계의 필요성이 커졌습니다. 리소스를 많이 사용하는 미디어 파일을 배포하는 것부터 웹 사이트의 정적 파일 로드 시간을 최소화하는 것까지 모든 과정에서 콘텐츠 제공업체와 소비자에게 쾌적한 전송 환경은 중요합니다. 적절한 CDN 아키텍처를 구축해 전 세계 인터넷 사용자들에게 낮은 대기 시간과 효율적은 트래픽 부하 처리가 가능한 전송 환경을 제공할 수 있습니다.

 

CDN 아키텍처 종류

CDN 아키텍처는 콘텐츠 캐싱 방식에 따라 Push 및 Pull 모델로 나뉘며, PoP 분포에 따른 분산형과 통합형으로 구분됩니다. CDN 인프라가 모든 방식을 수용할 수 있는 것은 아니지만, 각 방법에는 최적화 시나리오와 관련된 내용에 따라 장단점이 있습니다.

 

Push Pull 모델

Push 모델은 원본 서버에서 PoP 서버로 콘텐츠를 전송하는 네트워크 방식입니다. 콘텐츠 소비자가 작업을 요청하면 원본 서버는 자동 및 수동으로 PoP 서버에 콘텐츠를 푸시하고 연결합니다. 이 때, 콘텐츠는 PoP 서버에서 캐싱 됩니다. Push 모델의 주요 원칙은 웹 사이트 소유자가 콘텐츠를 PoP 서버에 푸시하고 사이트 방문자의 요청이 있을 때 지속적으로 변경사항을 업데이트 할 수 있습니다. 소유자 혹은 개발자가 CDN 서버를 운영하는 방식으로 원본 서버가 콘텐츠를 가져올 때까지 기다리지 않고 작업 요청을 할 수 있습니다. 직접 운영관리하기 때문에 콘텐츠를 완벽하게 컨트롤 할 수 있습니다.

 

Pull 모델PoP 서버가 원본 서버에서 자동으로 콘텐츠를 가져와 소비자에게 전송하는 모델입니다. Pull 모델은 CDN이 대부분의 작업을 수행하기 때문에 세팅이 쉽다는 장점이 있습니다. 또한, 초기 요청이 있을 때만 웹 페이지 요소나 파일을 끌어오기 때문에 스토리지 사용을 최소화할 수 있습니다. 하지만, Pull 모델은 Push 모델보다 유연성이 낮아 트래픽 과중, 웹페이지 요소 및 파일 재쿼리 등으로 인한 일부 문제가 초래되기도 합니다.

 

분산형 및 통합형

분산형 CDN은 특정 지역에 중저용량의 PoP 서버를 밀집 배치하는 방식입니다. 서버 간 물리적 거리를 좁혀 속도 향상의 이점을 얻을 수 있습니다. 초기 CDN은 분산 모델 위주로 운영됐습니다. 광섬유 케이블의 확산으로 글로벌 네트워크 환경이 향상되면서 서버 간 물리적 거리를 최소화하는 방식이 주는 이점은 매력도가 낮아지게 됐습니다. 하지만, 근접성은 CDN에서 여전히 대표적인 아키텍처 전략으로 연결 환경이 좋지 않은 지역에서는 속도 향상의 효과를 얻을 수 있습니다.

 

통합형 CDN은 전략적으로 배치된 주요 데이터 센터에 고용량 PoP 서버를 운영하는 방식입니다. 따라서 분산형보다 광범위한 커버리지를 제공하며, 콘텐츠 전송이 최신 인터넷 환경에 최적화되어 있습니다. 대형 데이터 센터에서 서버가 운영되기 때문에 신속하고 유연한 관리가 가능합니다. 또한, 저용량 서버에 비해 높은 디도스 공격 대응력을 보입니다. 하지만, 연결성이 낮은 지역에서는 통합형 CDN은 다소 효율이 떨어지며 설치가 복잡하기 때문에 신속한 네트워크 확장이 어렵다는 단점이 있습니다.

 

CDN 아키텍처 설계 시 고려 사항

 

PoP 위치

아키텍처 설계 단계에서 PoP 위치를 전략적으로 배치함으로써 대기 시간을 최소화할 수 있습니다. 데이터가 전송되는 구간에서 네트워크가 교차되는 주요 지점에 PoP를 설치하면 최적의 연결 환경을 구현할 수 있습니다.

 

확장성

CDN의 성능과 신뢰성을 유지하면서 트래픽 처리 능력을 확장할 수도 있습니다. CDN의 확장성을 유지하기 위해서는 대량의 트래픽을 처리할 수 있는 강력하고 분산된 인프라를 설계해야 합니다. CDN 확장성을 위한 전략은 다음과 같습니다.

  1. 서버 추가: 트래픽 증가를 대비해 네트워크에 서버를 추가하거나 여러 위치에 분산하는 방법입니다.
  2. 로드 밸런싱: 로드 밸런싱을 통해 트래픽을 분산시켜 서버 과부하를 방지할 수 있습니다.
  3. 자동 스케일링: 트래픽 수준에 따라 CDN이 자동으로 서버를 추가하거나 제거해 자동으로 확장/축소가 가능합니다.

 

신뢰성

더 중요한 것은 콘텐츠 소비자에게 일관되고 신뢰할 수 있는 강력한 콘텐츠 전송 환경을 의미합니다. 연결 끊김이나 다운타임 등으로 원활한 콘텐츠 제공이 불가할 경우 비즈니스 운영에 큰 영향을 미칠 수 있으므로 신뢰성은 중요한 요소입니다. CDN 인프라에 리던던시(Redundancy, 이중화 및 복제)를 구성하거나 네트워크 모니터링, 디도스 및 악성 코드 위협 대응 등의 보안 조치 등을 통해 CDN 서비스의 신뢰성을 지킬 수 있습니다.

 

팬데믹으로 트래픽 양이 방대해지고, 온라인 기반 서비스들이 급격히 증가하면서 CDN 시장의 전망에도 청신호가 켜졌습니다. 마켓앤마켓(MarketsandMarkets)의 보고서는 2027년까지 전 세계 CDN 시장이 연간 12.5%씩 성장해 약 345억 달러 규모를 기록할 전망이라고 분석했습니다.2 인터넷 기반의 서비스나 제품을 제공하는 기업이라면 CDN은 비즈니스와 웹 인프라 구성에 필수적인 요소입니다. 네트워크 성능을 높이는 아키텍처를 구축함으로써 웹 사이트 성능 향상, 신뢰성과 확장성 보장, 대역폭 비용 절감 및 보안 기능 강화 등 다양한 이점을 얻을 수 있습니다. 따라서 웹 사이트 특성, 비즈니스 규모 등에 맞는 적합한 CDN 서비스를 비교·선택할 수 있으며, 상시 모니터링 및 점검 등 보안 측면에서도 신뢰할 수 있는 업체를 선택하는 것이 중요합니다.

 

 

세줄 요약 

  1. 네트워크 기술의 발전과 함께 CDN은 단계적인 성장을 거쳐 오늘날 클라우드 컴퓨팅에도 적용되고 있음
  2. 최적의 CDN은 네트워크 환경에 맞는 아키텍처 설계가 중요
  3. CDN을 통해 웹사이트 성능, 보안, 신뢰성 및 확장성 보장 가능

 

 

해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 다우기술에 저작권이 있습니다.
해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

Featured images via gettyimages.

 


 

References

 

1.   클라우드까진 알겠는데 ‘CDN’은 뭔가요..."산소 같은 존재", 지디넷코리아, 2021. 08. 27.

2.   Content Delivery Network Market b - Global Forecast to 2027, MarketsandMarkets, 2022.03.

 

RELATED ARTICLES