CDN이란?
May 15, 2018
CDN을 사용 해야 할까?
YAHOO DEVELOPER NETWORK 의 Best Practices for Speeding Up Your Web Site (https://developer.yahoo.com/performance/rules.html) 라는 글을 보면
웹사이트 속도 개선 방법의 한가지로 CDN을 사용하라고 이야기 한다.
사용자 응답시간의 80~90% 가 페이지의 구성 요소를 모두 다운 로딩 하는데 소요 되기 때문에 웹 개발자들은 페이지 로드 시간을 줄이기 위해 다양한 고민과 노력을 계속해 왔다.
CDN은 웹 어플리케이션 및 스트리밍 미디어를 비롯한 콘텐츠를 전송하도록 최적화 된 전세계적으로 촘촘히 분산된 서버로 이루어진 플랫폼이다.
CDN의 가장 대표적인 장점들은 아래와 같다.
- 페이지 로드 시간 감소
- Origin서버 부하 감소 및 동시 사용자 증가
- 지리적 이점을 이용 콘텐츠의 빠른 전달
- 이미 보유한 콘텐츠
이거 말고도 뭐 좋은 점이야 많겠지만 그렇다면 왜 모두들 CDN을 사용하지 않는 걸까?
사실 나는 개발할 때 CDN을 이용해서 jquery나 기타 라이브러리를 링크 하는게 매우 꺼려졌었는데 주된 이유는 뭔가 사이트가 독립적으로 완전하게 돌아가지 못할 것 같다는 점이었다.
또 가용성이나 효율에 대해서도 의심을 가지고 있었다. (CDN서버가 작동이 중지 될 수 있지 않을까? CDN서버가 더 느리지 않을까? )
뭐 내가 있었던 상황에서는 고민할 가치가 없이 CDN을 사용 하는게 맞다.
조금 다른 상황에서(컨텐츠 제공자 입장에서) 이렇게 좋은 CDN 이라는 친구를 왜 이용하는게 고민이 되냐 하면 가장 주요한 문제는 돈이다. 대부분의 CDN은 리소스 요청 횟수에 따라 월별로 돈을 지급하게 되어있다.
CDN 이 여러가지 문제(국가, 스팸 … ) 로 인해 브라우저에서 차단 될 수 있다. 이럴 경우 완전 망가진 웹 사이트를 고객이 보게 된다. (아.. 이 상황 정말 싫다..)
지리적 위치가 오히려 더~ 오래 걸릴 수 있다. (큰 CDN업체를 이용하면 크게 문제가 없을 문제… )
결론: 세상 어딜 가든 돈이 제일 문제다.