CDN_architecture

[클라우드 이해] CDN 아키텍처

콘텐츠 전송 네트워크 CDN(Contents Delivery Network) 은 PoP 서버에 콘텐츠를 저장하는 방식과 아키텍처에 따라 Push/Pull 방식, 분산형/통합형 아키텍처로 구분됩니다.

Push 방식과 Pull 방식

Push 방식은 원본 서버가 새로 업로드된 콘텐츠를 전 세계에 위치한 PoP 서버로 전달하는 방식입니다. 따라서 웹 사이트 소유자나 개발자가 콘텐츠에 변경사항이 발생할 때마다 PoP 서버로 콘텐츠를 Push 해야 하고, 지속적으로 유지 보수를 진행해야 합니다.

Push 방식의 경우 최초 구성 및 설정에 비교적 많은 시간이 걸리지만, 적시에 콘텐츠를 제공할 수 있으며, 콘텐츠가 업로드되거나 업데이트되어도 전송 오류가 발생할 확률이 적다는 장점이 있습니다.

Pull 방식은 PoP 서버가 원본 서버에서 콘텐츠를 가져오는 방식을 뜻합니다. JavaScript나 CSS, HTML 파일과 같이 사이즈가 비교적 작은 파일에 주로 활용됩니다. 단점은 웹 페이지를 처음 방문하는 경우 PoP 서버가 Origin 서버에서 데이터를 가져오는 과정이 필요해 때때로 응답 속도가 느려질 수 있다는 점입니다.

Pull 방식의 경우 Push 방식보다 최초 PoP 서버를 구성하기가 비교적 쉽고, 사용자의 요청이 있는 경우에만 원본 서버로부터 데이터를 가져오기 때문에 서버 자원을 절약할 수 있습니다.

분산형과 통합형 아키텍처

분산형 CDN 아키텍처(출처: 가비아)

분산형 아키텍처(Scattered Architecture)의 경우 비교적 사양이 낮은 서버를 구성, 특정 지역에 PoP 여러 개를 밀집해 운영하는 구성 방식입니다. 사용자와 서버 간의 물리적인 거리를 최소화했기 때문에 지연 시간을 최소화할 수 있다는 장점이 있습니다.

하지만 PoP가 너무 많아질 경우 이를 유지하는데 많은 비용을 지출해야 하고, 너무 많은 연결 지점으로 인해 특정 사용자에게는 오히려 지연 시간이 더 늘어날 수도 있습니다.

통합형 CDN 아키텍처(출처: 가비아)

통합형 아키텍처(Consolidated Architecture)는 고용량 서버로 구성된 소수의 PoP를 주요 데이터센터에 배치해 운영하는 구성 방식입니다. 운영하는 PoP 수가 분산형보다 적기 때문에 비용을 절감할 수 있고, 보안상 이점도 갖습니다.

하지만 고용량 PoP의 경우 분산형보다 복잡성이 높아 콘텐츠를 구성하고 배포하는 데 상대적으로 많은 시간이 걸리고, 그로 인해 네트워크를 신속하게 확장하기도 어렵다는 단점이 있습니다.

[CDN 시리즈 보기]
[클라우드 이해] CDN이란?