CDN이란?

Lia·2022년 10월 20일
2

💻 CS

목록 보기
2/2
post-custom-banner

넷플릭스, 왓챠를 비롯해 유튜브, 틱톡 등 우리는 지금 끊임없이 쏟아지는 콘텐츠 홍수 속에 살고 있다. OTT 서비스는 전례 없는 호황기를 맞았고, AI, 사물인터넷, 자율 주행 등 대용량의 데이터를 주고받는 신기술이 등장하고 있다.

이렇게 폭발적으로 증가한 데이터를 지연 없이 처리하기 위해서는 데이터를 분산해서 전달하는 기술이 필수적이다. 이에 지리적으로 먼 거리에 떨어져 있는 사용자에게 지연 없이 콘텐츠를 분산해 전달할 수 있는 CDN 서비스가 등장한 것이다.

CDN이란?

Content Delivery Network의 약자인 CDN은 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술을 의미한다.

CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화한다. CDN은 각 지역에 캐시 서버(PoP, Points of presence)를 분산 배치해, 근접한 사용자의 요청에 원본 서버가 아닌 캐시 서버가 콘텐츠를 전달한다.

예를 들어 미국에 있는 사용자가 한국에 호스팅 된 웹 사이트에 접근하는 경우 미국에 위치한 PoP 서버에서 웹사이트 콘텐츠를 사용자에게 전송하는 방식이다.

CDN이 필요한 경우

인터넷을 통해 비즈니스를 운영하거나 웹 사이트에서 그래픽 이미지, 동영상 파일 등의 콘텐츠를 제공한다면 CDN 서비스를 이용할 필요가 있다. CDN은 동영상 스트리밍이나 온라인 게임, 대용량 파일 전송, 그리고 해상도가 높아 용량이 큰 이미지를 다루는 쇼핑몰, 포털 사이트 등에서 안정적인 서비스 제공을 위해 활용되고 있다.

하지만 특정 국가나 지역만을 타깃으로 하는 웹 서비스를 운영한다면 CDN 서비스를 활용할 필요가 없다. 이 경우 CDN을 이용하면 오히려 불필요한 연결 지점이 늘어나 웹 사이트의 성능 저하를 불러올 수 있기 때문이다.

CDN의 작동원리

  1. 최초 요청은 서버로 부터 컨텐츠를 가져와 고객에게 전송하며 동시에 CDN캐싱장비에 저장한다.

  2. 두번째 이후 모든 요청은 CDN 업체에서 지정하는 해당 컨텐츠 만료 시점까지 CDN캐싱장비에 저장된 컨텐츠를 전송한다.

  3. 자주 사용하는 페이지에 한해서 CDN장비에서 캐싱이 되며, 해당 컨텐츠 호출이 없을 경우 주기적으로 삭제된다.

  4. 서버가 파일을 찾는 데 실패하는 경우 CDN 플랫폼의 다른 서버에서 콘텐츠를 찾아 엔드유저에게 응답을 전송한다.

  5. 콘텐츠를 사용할 수 없거나 콘텐츠가 오래된 경우, CDN은 서버에 대한 요청을 프록시로 작동하여 향후 요청에 대해 응답할 수 있도록 새로운 콘텐츠를 저장한다.

CDN 활용 사례

온라인 동영상 스트리밍 서비스를 제공하는 넷플릭스(Netflix)는 전 세계의 사용자들에게 안정적인 서비스를 제공하기 위해 2011년에 자체 CDN을 구축했다. 넷플릭스의 서비스 범위가 전 세계에 걸쳐 있고, 구독자의 절반 이상이 미국 외의 지역에 분포하고 있어 콘텐츠를 안정적이고 빠르게 세계 각지로 전달하기 위해서는 CDN 기술이 필수적이기 때문이다.

이와 더불어 세계 최대 숙박 공유 서비스인 에어비앤비(Airbnb) 또한 CDN 기술을 활용해 전 세계 고객에게 언제 어디서나 숙박 시설과 각종 액티비티를 예약할 수 있는 서비스 환경을 구축했다.

국내에서는 NC소프트나 카카오게임즈 같은 온라인 게임 기업이 CDN을 활용, 북미나 유럽과 같이 지리적으로 먼 지역의 사용자에게 안정적이고 빠른 게임 플레이 환경을 제공하고 있다.

세상은 끊임없이 새롭고 다양한 콘텐츠를 요구한다. 또 콘텐츠를 지연 없이 소비하고자 하는 콘텐츠 소비자의 욕구는 날로 늘어나고 있다. 아무리 좋은 콘텐츠라고 해도 지연이 빈번하다면 이내 그 콘텐츠는 사용자로부터 외면받게 될 것이다.

CDN으로 전송가능한 컨텐츠 ▶  디지털화될 수 있는 모든 데이터

- 동영상

  • 오디오 스트림

  • 앱/게임/OS 업데이트와 같은 소프트웨어 다운로드

  • 의료 정보와 금융 정보가 포함된 데이터 레코드

CDN의 장점

▶  CDN을 사용하지 않는 경우

  • 콘텐츠를 담고있는 서버(Origin Server)들은 모든 사용자의 요청에 일일이 응답해야 한다.

이는 막대한 트래픽을 유발하고, 트래픽이 과도하게 증가하거나 부하가 끊임없이 들어오는 경우 장애가 발생할 확률도 크다.

▶  위의 예와 같은 경우에 CDN을 사용한다면

  • CDN을 사용함으로써 서버의 트래픽 부하 및 비용을 줄이고 사용자에게 빠른 서비스 제공도 가능하다. 장애 확률도 낮춰 줄 수 있다.
  1. 웹사이트 로딩 속도 개선

  2. 인터넷 회선 비용 절감

  3. 컨텐츠 제공의 안정성

  4. 웹사이트 보안 개선

📍Reference

CDN(콘텐츠 배달 네트워크)이란? - Azure

가비아 라이브러리

profile
꺾이지않기ᕙ༼*◕_◕*༽ᕤ
post-custom-banner

0개의 댓글