[NCP] CDN, Object Storage를 어떤 환경에서 사용하는게 좋을까?

2024. 4. 8. 15:50·Cloud
728x90

네이버클라우드플랫폼에서 CDN, Object Storage는 AWS에서 FrontCloud, S3와 비슷한 역활을 한다.

이 내용을 작성하게 된 건 내가 운영하는 웹 서비스를 들어갔을 때 너무 큰 이미지와 너무 큰 영상때문이였다.

동영상, 높은 용량의 사진등이 처음 사용자가 받아올 때 속도가 너무 느린 부분에 대해 어떤 방법으로 해결할 수 있을까? 

 

문제점

사용자가 접속 할 때 작동 구조는 이와 같다.

Client → WEB → WAS에서 이미지를 WAS에서 모두 응답해주고 있었고 이 구조는 문제가 많다.

  1. 첫 요청 시 큰 이미지를 모두 가져가서 사용자의 캐시에 남아 문제가 되지 않지만 이미지는 계속 받아가는 구조이다.
    이미지를 쪼개서 사용자에게 보내는 기술을 사용했고 이는 사용자가 새로고침할때마다 그 크나큰 영상을 계속 받았다.
    이는 사용자의 리소스 부담과 서버도 함께 부담되었다.

  2. 처음 홈페이지를 들어가면 너무 큰이미지들을 받아오느라고 인터넷이 느린 사용자들은 페이지가 정상적으로 뜨질 않았다.
    그러다보니 이는 사용자 이탈로 이어질 수 있다.

 

CDN, Object Storage를 사용하면 나아질까?

"작동 원리를 정확하게 모를 땐 도입하면 성능 많이 좋아질거같은데!?" 라고 했다.

'결론은 적합하지 않다' 였다. 이유는 간단했다.

네이버 처럼 주기적으로 이미지가 변경되고 라이브 스트리밍처럼 사용자가 계속해서 이미지를 받아와야 하는 경우에 사용하는게 좋다.

 

첫 요청과 다음 요청에 대해 어떻게 작동되는지 생각해봤다.

(NCP가아닌 AWS 그림밖에없어서...AWS로했다...)

홈페이지를 처음 들어갔을 때 이미지 20개정도와 고정으로 받아오는 이미지가 3개있다고 가정한다.

 

첫 요청

  1. 사용자는 DNS 질의를 통해 wonistorage.co.kr에 대한 주소를 받아옵니다.
  2. 그 주소를 따라 ELB를 통해 WEB서버 2개중 한곳으로 들어가 HTML, JS 등 정적데이터를 요청하고 응답받습니다.
  3. HTML, JS파일에서 Image를 받아오는 주소가 CDN에서 불러오게 되어있다면 CDN에 접근해 이미지를 받아온다.

 

두번 째 요청

  1. 동영상이 아닌 모든 동적데이터는 자신의 캐시에서 사용한다.
  2. 동영상과 이미지의 변동이 있는 경우에만 CDN에 요청하여 받아온다.

 

결론

Q. 동영상, 높은 용량의 사진등이 처음 사용자가 받아올 때 속도가 너무 느린 부분에 대해 어떤 방법으로 해결할 수 있을까?

A. 사용자의 환경에 따라 다르지만 현재 내 상황에서는 이미지와 영상이 계속해서 변경되지 않는 점을 고려했을 때 이미지의 크기를 줄이고 영상의 크기를 줄이는 방법이 제일 최선이다.

또한 이미지와 영상을 웹서버에서 응답해주도록 하고 동적데이터처리는 어플리케이션서버에서 처리하도록 하는것이 최선으로 보인다.

 

728x90

'Cloud' 카테고리의 다른 글

[AWS] EBS 볼륨 암호화  (0) 2024.07.16
[AWS] EBS의 개념  (0) 2024.07.16
AWS EC2 Instances Purchasing Options  (0) 2024.04.23
AWS 프리티어 비용 과금 되지 않도록 예산 설정하기  (0) 2024.04.16
Iaas, Paas, Saas 의 차이  (0) 2022.09.23
'Cloud' 카테고리의 다른 글
  • [AWS] EBS의 개념
  • AWS EC2 Instances Purchasing Options
  • AWS 프리티어 비용 과금 되지 않도록 예산 설정하기
  • Iaas, Paas, Saas 의 차이
정주원
정주원
개인블로그
  • 정주원
    Joon.eng
    정주원
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Linux (41)
      • Windows (0)
      • Network (4)
      • Database (0)
      • Cloud (23)
      • Docker (3)
      • Ansible (2)
      • Etc (4)
  • 블로그 메뉴

    • 링크

      • GITLAB(woni)
    • 공지사항

    • 인기 글

    • hELLO· Designed By정상우.v4.10.0
    정주원
    [NCP] CDN, Object Storage를 어떤 환경에서 사용하는게 좋을까?
    상단으로

    티스토리툴바