Content Delivery Network (CDN) 는 콘텐츠를 좀 더 빠르고 효율적으로 제공하기 위해 등장했습니다.
세계 곳곳에 분포하는 데이터 센터에 콘텐츠를 저장해 둡니다.
이후 콘텐츠 요청을 받으면 지리적으로 가장 가까운 데이터 센터에서 콘텐츠를 제공해 주는 방식입니다.
CDN의 특징
원본을 복사하여 저장할 여러개의 캐시 서버로 구성
콘텐츠를 요청받은 경우 데이터를 전달하기 가장 유리한 캐시 서버에서 관련 콘텐츠를 제공
제공할 콘텐츠를 가지고 있으며 위치상으로 가장 가까운 캐시 서버가 우선 순위를 가짐
원본 서버는 원본을 저장하고 있습니다.
CDN 네트워크는 요청한 곳과 가장 가까운 데이터 센터가 해당 콘텐츠를 저장하고 있는지 확인합니다.
만약 해당 데이터 센터가 전달해야 할 콘텐츠를 가지고 있지 않다면, 다른 데이터 센터가 해당 콘텐츠를 가지고 있는지 확인해야 합니다.
이때 콘텐츠가 없는 데이터 센터를 제외한 나머지 중 지리적으로 가장 가까운 데이터 센터를 선택합니다.
모든 데이터 센터가 콘텐츠를 가지고 있지 않다면 원본이 저장된 원본 서버에서 콘텐츠를 제공해야 합니다.
이런 경우에는 콘텐츠를 데이터 센터에 저장하게 됩니다.
마찬가지로 요청한 곳과 가장 가까운 데이터 센터에서 콘텐츠를 저장합니다.
CDN이 다룰 수 있는 콘텐츠의 종류는 정적 콘텐츠와 동적 콘텐츠로 구분할 수 있습니다.
정적 콘텐츠(Static Contents)
내용이 거의 변하지 않는 콘텐츠
1. HTML, 파일, 동영상과 같은 콘텐츠
2. 변화가 없는 콘텐츠
3. 개인화되지 않은 대중적인 콘텐츠 (뉴스 기사)
동적 콘텐츠(Dynamic Contents)
접속할 때마다 내용이 바뀌거나 사용자 마다 다른 내용을 보여주는 콘텐츠
1. 위치, IP 주소, 사용시간 관련 콘텐츠
2. 사용자가 접근할때 마다 내용이 달라지는 콘텐츠
3. 카드 번호, 전화번호등 개인화된 정보 관련 콘텐츠
컨텐츠가 바뀔때 마다 캐시 서버에 바뀐 컨텐츠가 전파되어야 함
-> 공통적인 부분을 캐시 서버에 저장
그렇기 때문에 내용이 자주 바뀌는 동적 콘텐츠 자체는 CDN 네트워크가 지원하기 어렵습니다.
따라서 동적 콘텐츠 자체를 저장하기보다는 공통적인 HTML 파일 부분을 캐시 서버에 저장합니다.
CDN의 이점
1. DDoS 공격에 대해 어느정도의 대응이 가능
한곳의 서버가 DDoS 공격을 받아 사용불가 -> 지리적으로 가까운 다른 서버에서 콘텐츠 제공
데이터 센터들은 거대한 컴퓨터 능력을 가지고 있기 때문에 DDoS 공격으로 서비스 장애가 발생하기 어렵습니다.
높은 성능을 내야 한다면 그만큼 소모되는 전력도 많습니다.
또한 인터넷 회선도 엄청난 요청을 감당해야 하기 때문에 높은 비용을 지불해야 합니다.
이때 비용은 절대 선형으로 증가하지 않습니다.
즉 한 곳에서 모든 요청을 처리한다면 엄청난 비용이 발생하게 됩니다.
서버를 세계 곳곳으로 분배
낮은 성능의 인터넷, 서버로 감당 가능
사용자 경험 향상 및 비용 절감 효과
네트워크 구성 방법
CDN이 서버를 분산하는 방식:
Scattered 방식과 Consolidated 방식을 사용합니다. 한 가지 방식만 사용하는 것은 아님.
필요에 따라 Scattered 혹은 Consolidated 방식을 선택하여 사용한다.
최대한 낮은 응답시간에 집중
1. 세계 곳곳에 최대한 많은 캐시 서버를 제공
2. 낮은 수용량의 데이터 센터 및 캐시 서버
3. 매우 높은 관리비용 및 사용자 요금
4. 연결 수요가 적은 지역 대상으로 적절한 방식
기존의 Scattered 방식과 다르게 데이터 센터들을 통합하여 운용하는 방식입니다.
따라서 Scattered 방식에서 사용했던 낮은 성능 대신 고성능의 데이터 센터들을 운용해야 합니다.
비록 응답시간이 증가하지만 데이터 센터 수가 줄어듦으로 데이터 센터의 관리 및 유지 비용을 절감할 수 있습니다.
유지 관리 비용이 적어진다는 것은 사용자들에게 전가되는 요금이 줄어든다는 의미입니다.
따라서 데이터 센터를 통합하면 할수록 사용자들의 부담이 줄어듭니다.
해당 방식은 연결 수요가 많은 지역에 데이터 센터를 설립해야 한다면 적절한 방식입니다.
시간에 따른 변화
초기에는 응답 속도에 중점을 두었다.
따라서 Scattered 방식, 정적 콘텐츠 CDN이 주류였습니다.
그렇기 때문에 응답속도는 매우 높았지만 사용자에게 전가되는 비용이 매우 높았습니다.
하지만 점차 동적 콘텐츠를 지원하고 데이터 센터를 통합하기 시작했습니다.
즉 관리하는 데이터 센터의 수가 줄어들기 때문에 사용자에게 전가되는 비용은 줄어들고 있습니다.
또한 DDoS 공격 등 사이버 공격에 대응하고 어느 상황에서도 콘텐츠를 제공할 수 있도록 보안과 안정성에 집중하고 있습니다.