본문 바로가기
투자/투자생각

[투자 생각] CDN이란? : 우리가 넷플릭스를 안 끊기게 볼 수 있는 이유

by thomasito 2020. 11. 18.
반응형

  최근 미국 주식투자에 대한 관심이 뜨겁다. 아무래도 미국의 성장을 이끄는 Tech 주 들이 다수 분포해있기 때문이다. 오늘은 CDN이라는 기술들을 먼저 알아보고 나중에 관련 기업들을 한 번 분석해보려고 한다. 

CDN이란 무엇인가?

 CDN은 Contentes Delivery Network의 약자지리적, 물리적으로 떨어져 있는 사용자에게 컨텐츠 제공자의 컨텐츠를 더 빠르게 제공할 수 있는 기술을 말한다. 

 CDN은 왜 나왔을까?

그런데 우선 CDN이 무엇인지 알아보기 전에 도대체 CDN이란 개념이 왜 나왔는지 대충 배경을 아는 게 더 중요하다. 우리가 일반적으로 인터넷을 하면서 로그인을 하거나 어떤 버튼들을 누르는 행위 하나 하나는 오리진 서버에 내가 원하는 데이터를 요청하는 과정이다. 인터넷이용자를 클라이언트나 엔드유저라고 하고 내가 원하는 데이터를 던져주는 서버(컴퓨터)를 오리진 서버라고 한다. 우리가 모뎀을 쓰던 시절에 텍스트나 주고 받던 시절에는 별로 이런 고민이 없었다. 그러나 사진과 동영상처럼 용량이 큰 파일들을 사람들이 주고 받으면서 오리진 서버의 부담이 커지게 되었다.

 

일반적인 증권사의 IT 구조

 

CDN의 작동원리

 그런데 이 서버라는 게 좀 웃긴게 엔드 유저들이 서버용량을 넘어서서 지속적으로 콘텐츠를 요청하게 되면 오리진 서버가 죽어버린다. 대학교 때 수강신청을 한 번쯤 해본 사람이라면 광클의 경험이 있을 것이다. 특정한 시간이 딱 되서 로그인을 하면 나보다 먼저 들어온 접속자가 XXX명 있다고 알려주고 기다리라고 한다.(이것을 병목현상 bottleneck 이라고 한다.) 오리진 서버는 자기가 수용할 수 있는 용량이 있고 그보다 더 많은 트래픽이 들어오면 처음에는 기다리라고 줄을 세우다가 그것도 안되면 그냥 서버(컴퓨터)가 꺼져 버린다. 이게 그 회사의 메인 컴퓨터가 뇌사 상태가 되버리는 거니까 굉장히 심각한 일이다.

 

 

 

 그래서 사람들은 어떻게 하면 이런 트래픽을 분산시킬 수 있는 기술을 개발할 수 있을까 고민했다. 그래서 나온 것이 CDN의 개념으로 오리진 서버를 대신하여 엔드유저와 가까운 곳에서 엔드유저의 요청에 응답하는 것이다.

 

 

 예를 들어 넷플릭스의 오리진 서버는 미국에 있는데, 한국사람들이 종이의 집을 미친듯이 보고 있다면 물리적인 거리 때문에 전송품질에 심각한 문제가 생긴다. 이러한 경우 아예 전세계에 CDN을 놓고 거기서 콘텐츠를 전송해주는 것이다. 이렇게 하면 회사 입장에서도 서버의 트래픽 부하를 줄여 서버의 사망을 방지할 수 있다.

 

 이렇게 각 CDN을 통해 영상이 전송되므로 한국사람들에게도 넷플릭스는 고품질의 영상을 볼 수 있는 경험을 선사할 수 있다. 

 

 

 

 왼쪽이 오리진 서버에서 엔드유저들의 요청에 일일이 응답하는 것이고, 오른쪽이 CDN이 오리진을 대신하여 엔드유저와 물리적으로 가까운 곳에서 엔드유저들의 요청에 응답하는 것이다. 만일 CDN이 엔드유저들의 요청에 응답할 콘텐츠가 없다면 이 요청을 오리진 서버에 보내고 오리진 서버에 해당되는 콘텐츠를 엔드유저에게 다시 보낸다.

 

 

 

CDN 캐싱(caching)이란 무엇인가?

  휴대폰의 용량이 부족할 때 어플리케이션의 캐시를 지워본 경험이 다들 있을 것이다. 캐시는 데이터의 값을 미리 복사해놓는 임시 저장소를 의미한다. 쉽게 말해 자꾸 열어보는 중요한 파일은 그냥 바탕화면에 갖다놓고 필요할 때 마다 꺼내오는 것이다. 캐시 서버는 오리진 서버 이외에 자체의 임시 저장소를 가진 서버다. 따라서 이용자와 가까이 위치한 IDC(인터넷 데이터 센터)에 이 캐시서버를 마련해두고 오리진 서버가 가질 수 있는 부담을 줄여준다. 

 

1차 요청이 있었던 콘텐츠들은 캐싱서버에 저장되고, 추후에 캐싱서버에서 바로 콘텐츠를 꺼내준다.

 

 캐싱이라는 것를 이렇게 이해하면 간단하다. 예전에 대학교 때 발표자료를 다 완성하고 별도로 예상 Q&A 자료를 만들어놓은 적이 있다. 내가 작성한 자료에서 질문이 나올만한 부분을 팀원들과 논의하고 예상 질문에 대한 답을 미리 작성해두는 것이다. 그리고 실제 세미나 발표 때 예상한 질문이 나오면 사전에 준비한 자료로 대응하고, 예상하지 않은 질문이 나오면 팀원들이 준비하여 대답해주었다. 이렇듯 캐시 서버에는 미리 준비된 데이터베이스들이 있으므로 엔드유저의 요청에 응답하고, 준비가 안된 것들은 오리진 서버에 요청하여 응답하는 것이다.

 

 여기에는 static caching 과 dynamic caching이 있다. Statit caching 은 사용자의 요청이 없어도 오리진 서버에 있는 콘텐츠를 캐시 서버에 미리 준비해두는 것이고, Dynamic caching은 사용자의 요청에 준비하지 못한 콘텐츠를 오리진 서버에서 가져오고 이후에 동일 요청이 오면 캐시 서버에 저장해두었다가 대응하는 것이다. 아카마이 테크놀로지와 같은 글로벌 CDN 없체들은 이러한 dynamic 캐싱을 지원하는 것이다.

 

 결국 CDN 캐싱은 오리진 서버의 부담을 감소시키고 엔드유저의 요청에 빠르게 콘텐츠를 제공할 수 있는 기술이라고 보면 되겠다.

 

CDN 업체들의 비즈니스 모델

 CDN 비즈니스는 기본적으로 구독 경제이다. 트래픽 사용량에 따라서 과금하는 pay as you go 방식과 월간 이용하는 트래픽의 한도를 정해놓고 사용하는 월정액제 방식이 있다. 대부분의 회사들이 이 두가지 방식을 혼용하여 서비스를 제공하고 있다. 중요한 것은 5G 시대와 IoT의 시대가 오면서 트래픽은 필연적으로 증가할 수 밖에 없기 때문에 앞으로 CDN 시장은 증가할 수 밖에 없다는 점이다. 

 

출처:미래에셋대우 리서치 센터

 

이후 글에서는 CDN을 대표하는 기업인 아카마이 테크놀로지와 패스틀리에 대해 알아보도록 하겠다.

 

# CDN이란

# CDN작동원리

# 아카마이테크놀로지

# 패스틀리

# 클라우드페어


참고자료 (관련 링크 클릭)

 

미래에셋대우 리포트 <클라우드와 COVID-19 : CDN의 부상>

위키피디아 CDN

아카마이 테크놀로지 홈페이지 

클라우드플레어(Cloudflare) 홈페이지

반응형

댓글