DevOps Bootcamp/Daily Review

3/10 데브옵스 (CDN - Content Delivery Network)

CDN - Content Delivery Network

콘텐츠를 좀 더 빠르고 효율적으로 제공하기 위해 등장한 서비스

Content Delivery Network는 콘텐츠를 좀 더 빠르고 효율적으로 제공하기 위해 등장했습니다.

세계 곳곳에 분포하는 데이터 센터에 콘텐츠를 저장해 둡니다.

후 콘텐츠 요청을 받으면 지리적으로 가장 가까운 데이터 센터에서 콘텐츠를 제공해 주는 방식입니다.

 

CDN의 특징

원본을 복사하여 저장할 여러개의 캐시 서버로 구성

콘텐츠를 요청받은 경우 데이터를 전달하기 가장 유리한 캐시 서버에서 관련 콘텐츠를 제공 

- 제공할 컨텐츠를 가지고 있으며 위치상으로 가장 가까운 캐시 서버가 우선순위를 가짐

 

데이터 센터가 지도와 같이 위치하고 있다고 가정합니다. 원본 서버는 원본을 저장하고 있습니다.

그리고 S3와 같이 CDN에 속하지 않은 외부의 서버입니다. 이때 한국에서 콘텐츠 요청을 받는다고 가정하고 어떤 흐름을 통해 콘텐츠를 제공하는지 말씀드리겠습니다

CDN 네트워크는 요청한 곳과 가장 가까운 데이터 센터가 해당 콘텐츠를 저장하고 있는지 확인합니다. 지도와 같은 경우라면 중국에 위치한 데이터 센터가 확인하게 됩니다. 만약 해당 데이터 센터가 전달해야 할 콘텐츠를 가지고 있지 않다면, 다른 데이터 센터가 해당 콘텐츠를 가지고 있는지 확인해야 합니다. 이때 콘텐츠가 없는 데이터 센터를 제외한 나머지 중 지리적으로 가장 가까운 데이터 센터를 선택합니다. 모든 데이터 센터가 콘텐츠를 가지고 있지 않다면 원본이 저장된 원본 서버에서 콘텐츠를 제공해야 합니다. 이런 경우에는 콘텐츠를 데이터 센터에 저장하게 됩니다. 마찬가지로 요청한 곳과 가장 가까운 데이터 센터에서 콘텐츠를 저장합니다.

 

하지만 이번에는 지리적으로 가장 가까운 데이터 센터가 해당 콘텐츠를 가지고 있습니다. 해당 데이터 센터는 즉시 요청받은 콘텐츠를 제공해 줍니다. 콘텐츠를 요청한 곳은 미국에 위치한 원본 서버에서 콘텐츠를 받아오지 않고 상대적으로 가까운 중국에서 콘텐츠를 제공받게 됩니다.


CDN - Content Delivery Network

정적 및 동적 컨텐츠

CDN이 다룰 수 있는 콘텐츠의 종류는 정적 콘텐츠동적 콘텐츠로 구분할 수 있습니다.

정적 콘텐츠는 동영상, HTML 파일과 같이 변화가 거의 없는 콘텐츠와 더불어 뉴스 기사 등 개인화되지 않은 대중적인 콘텐츠에 해당합니다.

이런 콘텐츠들은 변화가 거의 없기 때문에 CDN의 캐시 센터에 저장하는 것이 적합합니다.

동적 콘텐츠는 위치, IP 주소 등 접근할 때마다 내용이 달라지는 콘텐츠입니다. 또한 카드번호, 전화번호 등 개인화된 정보 관련 콘텐츠가 해당됩니다. CDN에 저장되어 있는 콘텐츠들은 내용이 바뀔 때마다 CDN 서버들에도 변경 내용이 전파되어야 합니다. 그렇기 때문에 내용이 자주 바뀌는 동적 콘텐츠 자체는 CDN 네트워크가 지원하기 어렵습니다. 따라서 동적 콘텐츠 자체를 저장하기보다는 공통적인 HTML 파일 부분을 저장합니다.


CDN의 이점

 

CDN을 사용한다면 다음과 같은 이점을 얻을 수 있습니다.

 DDoS 공격에 대응이 가능합니다.

 분산 서비스 거부 공격(Distributed Denial of Service attack, DDoS)는 서버의 수용량보다 훨씬 많은 요청을 보내 서버를 사용 불가능하게 만듭니다.

만약 CDN의 데이터 센터 중 하나가 이런 이유로 사용이 불가능 해졌다고 했다고 가정해 보겠습니다.

하나의 데이터 센터를 사용하지 못한다고 하더라도 다른 데이터 센터는 여전히 동작하고 있습니다.

다른 데이터 센터에서 콘텐츠를 제공받으면 그만입니다.

게다가 데이터 센터들은 거대한 컴퓨팅 능력을 가지고 있기 때문에 DDoS 공격으로 서비스 장애가 발생하기 어렵습니다.

 

 


로딩속도 증가로 인한 사용자 경험의 향상입니다. 

만약 어떠한 사이트가 로딩이 완료되기까지 10초 정도 소요된다고 한다면 어떤 행동을 취하게 될지 생각해 봅시다.

기다리는 사람도 분명 있겠지만, 대부분은 해당 사이트를 떠나는 것이 일반적입니다.


비용의 절감 (트래픽 분산으로 인한 트래픽 관련 비용 절감)

세계 곳곳에서 여러 서비스 요청이 발생하는 가운데, 모든 요청을 한곳에서 처리한다고 가정해 봅시다. 그렇다면 과연 어떤 것이 필요하게 될까요? 바로 매우 높은 성능의 서버와 이를 감당할 수 있는 인터넷 회선입니다. 그러나 두 가지만 필요로 하지 않습니다.

높은 성능을 내야 한다면 그만큼 소모되는 전력도 많습니다. 또한 인터넷 회선도 엄청난 요청을 감당해야 하기 때문에 높은 비용을 지불해야 합니다. 이때 비용은 절대 선형으로 증가하지 않습니다. 즉 한 곳에서 모든 요청을 처리한다면 엄청난 비용이 발생하게 됩니다.

하지만 서버들을 계 곳곳에 분산시킨다면 지역에 맞게 서버의 성능과 인터넷의 성능을 낮춘다 해도 무리 없이 서비스를 제공할 수 있습니다. 또한 외국에 있는 사용자들의 로딩 시간을 단축시킬 수 있습니다. 따라서 사용자 경험 향상 및 비용 절감의 효과를 볼 수 있습니다.

 


CDN이 서버를 분산하는 방식

 

크게 Scattered 방식과 Consolidated 방식을 사용

 한 가지 방식만 사용하는 것은 아닙니다. 필요에 따라 Scattered 혹은 Consolidated 방식을 선택하여 사용


Scattered 방식

Scattered 방식은 최대한 빠른 응답속도를 목표로 하고 있습니다.

따라서 세계 곳곳에 비교적 낮은 성능의 데이터 센터를 구성하고 연결해 두어야 합니다.

해당 방식은 관리해야 하는 데이터 센터의 수가 많기 때문에 데이터 센터 유지 비용 또한 높습니다.

따라서 클라우드 제공자는 관리 비용을 사용자에게 전가합니다. 그렇기 때문에 사용 요금이 매우 높습니다.

그렇다고 해서 지금은 사용되지 않는 방식은 아닙니다. 수요가 적은 지역에 데이터 센터를 세워야 할 때는 해당 방식이 유리합니다.



Consolidated 방식

기존의 Scattered 방식과 다르게 데이터 센터들을 통합하여 운용하는 방식입니다.

따라서 Scattered 방식에서 사용했던 낮은 성능 대신 고성능의 데이터 센터들을 운용해야 합니다.

비록 답시간이 증가하지만 데이터 센터의 수가 줄어듦으로 데이터 센터의 관리 및 유지 비용을 절감할 수 있습니다.

유지 관리 비용이 적어진다는 것은 사용자들에게 전가되는 요금이 줄어든다는 의미입니다.

따라서 데이터 센터 통합하면 할수록 사용자들의 부담이 줄어듭니다. 해당 방식은 연결 수요가 많은 지역에 데이터 센터를 설립해야 한다면 적절한 방식입니다.


CDN 시간에 따른 변화

CDN의 변화에 대해 설명하자면 다음과 같습니다.

초기에는 응답 속도에 중점을 두었습니다.

따라서 Scattered 방식, 정적 콘텐츠 CDN이 주류였습니다.

그렇기 때문에 응답속도는 매우 높았지만 사용자에게 전가되는 비용이 매우 높았습니다.

하지만 점차 동적 콘텐츠를 지원하고 데이터 센터를 통합하기 시작했습니다.

관리하는 데이터 센터의 수가 줄어들기 때문에 사용자에게 전가되는 비용은 줄어들고 있습니다.
또한 DDoS 공격 등 사이버 공격에 대응하고 어느 상황에서도 콘텐츠를 제공할 수 있도록 보안과 안정성에 집중하고 있습니다.

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Bootcamp/Daily Review 다른 글

    이전 글

    다음 글