-
CDN(Content Delivery Network)?CS 2024. 6. 22. 02:40
인터넷 사용이 일상화되는 만큼, 웹사이트 속도는 사용자 경험에 큰 영향을 미치는 중요한 요소가 되었다.
사용자들은 웹사이트 로딩 속도가 느리면 금방 지루해하며, 다른 사이트로 이동할 가능성이 높다. 따라서 웹사이트 관리자들은 사용자에게 더 나은 경험을 제공하기 위해 웹사이트 속도 향상을 위한 노력을 지속해야 한다.
그리하여 웹사이트 속도를 향상시키는 방법 중 가장 효과적인 CDN을 사용하게 되는데, 이 CDN에 대해서 자세히 알아보고자 한다.
CDN(Content Delivery Network)?
웹사이트 콘텐츠를 전 세계 여러 곳에 분산된 서버에 저장하고 사용자에게 가장 가까운 서버로부터 콘텐츠 제공하는 기술이다.
CDN은 웹사이트의 이미지나 CSS, JS 파일과 같이 정적 콘텐츠와 웹 페이지 자체, 영상 스트리밍과 같은 동적 콘첸트 모두를 지원한다. 웹 사이트 트래픽이 많거나 사용자들이 전 세계 여러 곳에 분포되어 있는 경우, CDN을 사용하면 웹사이트 속도를 크게 향상할 수 있다.
CDN 등장 배경
서버는 웹사이트에 방문하는 클라이언트의 요청에 따라 컨텐츠를 보내주며, 너무 많은 요청이 들어올 경우 과부하가 생기게 되는데, 트래픽이 많은 웹사이트의 경우, 전 세계에서 수많은 요청들이 들어오게 된다.
예를 들어, 유튜브나 구글과 같은 글로벌 서비스는 수많은 유저를 보유하고 있으며, 이 유저들의 위치 또한 다양하고, 범위가 넓다.
해외에 서버가 있는 사이트를 한국에서 접속할 경우 지역적으로 먼 거리로 인해 콘텐츠를 불러오는 속도가 현저히 느려질 것이다.
이러한 수많은 요청이 겹치게 되면, 서버에서는 요청을 감당해낼 수 없어 과부하가 걸리기 쉽상이다.
그리하여, 이러한 과부하 현상을 막고 지역적으로 먼 거리에 위치한 곳에서 서버에 요청을 보내도 콘텐츠를 불러오는 속도가 느려지는 현상을 방지하고자 CDN이 등장하게 된 것이다.
CDN 사용하지 않을 경우 CDN 사용할 경우 CDN 작동 방식
CDN 작동 방식은 다음과 같다.
- 사용자가 웹 브라우저에 웹사이트 주소 입력하면, 사용자의 브라우저는 가장 가까운 CDN 서버에 콘텐츠를 요청한다.
- CDN 시스템은 사용자의 위치, 네트워크 상태, 웹사이트 트래픽 등을 고려하여 가장 적합한 CDN 서버를 선택한다.
- 선택된 CDN 서버는 사용자에게 요청된 콘텐츠를 빠르게 전송한다. CDN 서버에는 웹사이트 콘텐츠가 미리 저장되어 있기에, 사용자는 원본 서버에서 직접 콘텐츠를 다운로드하는 것보다 훨씬 빠르게 콘텐츠를 받을 수 있다.
- CDN 서버는 사용자에게 전송한 콘텐츠를 캐시에 저장한다. 동일한 콘텐츠가 다시 요청될 경우, CDN 서버는 캐시에서 콘텐츠를 제공하여 원본 서버에 대한 부하를 줄일 수 있는데, 이를 캐싱이라고 한다.
CDN 사용의 장점
웹사이트 속도 향상
CDN은 사용자에게 가장 가까운 서버로부터 콘텐츠 제공하기에, 웹사이트 로딩 속도를 크게 향상할 수 있다.
사용자 만족도 향상
사용자들은 로딩 시간이 길수록 지루함을 느끼는데, CDN을 통해 웹사이트 속도 향상으로 사용자 만족도 높인다.
번드폭 감소
CDN 사용하면 원본 서버에 대한 부하를 줄여, 번드폭 사용량을 감소시킬 수 있다.
번드폭은 데이터 전송 속도를 나타내는 단위로, 초당 전송 가능한 비트 수를 의미한다.
가용성 향상
CDN은 전 세계 여러 곳에 서버를 가지고 있기에, 웹사이트 가용성을 높일 수 있다.
SEO 개선
웹사이트 속도는 SEO에도 중요한 요소이기에, CDN을 사용하면 검색 결과에서 웹사이트 순위를 높일 수 있다.
여기서, SEO란 Search Engine Optimization의 약자로, 검색 엔진 최적화를 뜻한다.
CDN 종류
엣지 CDN
- 사용자에게 가장 가까운 위치에 서버를 배치하여 최적의 성능을 제공하는 CDN이다.
- 인터넷 서비스 제공업체(ISP)의 네트워크 가장자리에 위치한 서버를 사용하기에, 사용자와의 거리가 가장 짧다.
- 정적 콘텐츠뿐만 아니라 동적 콘텐츠도 지원하며, 빠른 속도와 높은 가용성을 제공한다.
- 대표적으로 Akamai, Cloudflare, Amazon CloudFront 등이 있다.
기본 CDN
- 원본 서버와 가까운 위치에 서버를 배치하여 콘텐츠를 빠르게 전송하는 CDN이다.
- 엣지 CDN만큼 빠르지는 않지만, 원본 서버에 대한 부하를 줄이고 콘텐츠 전송 속도를 향상시킬 수 있다.
- 비용이 저렴하며, 비교적 작은 규모의 웹사이트에 적합하다.
- 대표적으로 DigitalOcean, Linode, Vultr 등이 있다.
결론
CDN은 웹사이트 속도를 향상시키고 사용자 경험을 개선하는 데 매우 효과적인 기술이다.
웹사이트 트래픽이 많거나 사용자들이 전 세계 여러 곳에 분포되어 있는 경우, CDN 도입을 적극적으로 고려해야 한다.
CDN 서비스는 다양하기에, 웹사이트의 특성에 맞는 적합한 CDN 서비스를 선택하고 정확하게 설정해야 한다. 또한, CDN 도입 후 웹사이트 성능을 지속적으로 모니터링하고 필요에 따라 CDN 설정을 조정해야 한다.
'CS' 카테고리의 다른 글
브라우저 렌더링 과정 (0) 2024.07.03 TCP vs HTTP (0) 2024.06.22 DNS(Domain Name System)? (0) 2024.06.19 HTTP/HTTPS? (1) 2024.06.19 GitHub Actions (1) 2024.06.02