[JoyMall] 네이버 클라우드를 활용한 사이드 프로젝트 아키텍쳐 도입기

청포도봉봉이·2024년 6월 8일
1

JoyMall

목록 보기
1/13
post-thumbnail

안녕하세요. 저는 F-lab 자바 백엔드 코스를 진행 중입니다.

F-lab을 진행하면서 사이드 프로젝트 아키텍쳐를 구성할 수 있게 네이버 클라우드에서

  • 신규 회원 크레딧 (10만원)
  • 2024 Green Developers (20만원)

을 받을 수 있었습니다.

이 글에서는 네이버 클라우드를 이용해서 제 사이드 프로젝트 JoyMall의 아키텍쳐 도입 후기에 대해서 소개하겠습니다.



프로젝트 소개


JoyMall은 알리 익스프레스, 쿠팡, CJ 올리브영 등에 영감을 받고 만들게 된 이커머스 플랫폼입니다.

이 프로젝트를 시작하게 된 것은 이커머스 플랫폼에 대한 이해를 하고 싶었습니다. 상품 등록, 주문, 결제, 배송, 쿠폰 등 확장 가능한 서비스들이 많고 또한 일상생활에서 가장 많이 사용하는 서비스지만 도메인 설계와 구현에 대한 고민을 하고 싶었습니다.

이커머스 플랫폼은 트래픽이 많고 대용량 데이터를 처리하는 서비스들이 많습니다. 따라서 엔터프라이즈급 개발에 최적화된 Java, Spring을 사용하여 개발하였습니다.

https://github.com/f-lab-edu/joy-mall



Ncloud에서 사용한 서비스와 적용


아래 그림은 JoyMall의 아키텍쳐 구성도입니다.

NCloud에서 사용한 서비스는 아래와 같습니다.

  • VPC
  • NCloud Kubernetes Service
  • Container Registry
  • Load Balancer
  • Cloud DB for MySQL
  • Cloud DB for Redis
  • Nas

저는 NCloud를 활용하여 쿠버네티스를 통한 컨테이너 기반 애플리케이션 관리 및 무중단 CI/CD 파이프라인을 구성했습니다. 이를 위해 Container Registry에 Docker 이미지로 만든 애플리케이션을 업로드하여 관리하였습니다.

또한 보안을 위해 VPC를 이용하여 private subnet과 public subnet으로 분리하여 외부에서 접근 가능 영역을 분리하여 안전성을 높였고 쿠버네티스 클러스터에 접속하기 위해 bastion server를 만들어 사용했습니다.

마지막으로 배포된 애플리케이션의 트래픽 분산을 위해 Load Balancer를 이용했습니다.

배포 시나리오

  1. main 브랜치 Merge
  2. Github Action을 통해 애플리케이션 빌드 & Docker 이미지로 빌드
  3. Container Registry에 업로드
  4. bastion server 접속 후 작성해 둔 k8s deployment shell script 수행



Ncloud 사용 중 특히 만족했던 점과, 아쉬웠던 점


Ncloud의 가장 만족했던 점은

  • 가이드 및 공식 문서가 매우 잘되어 있다.
  • 문의 사항에 대한 피드백이 매우 빠르다.
  • 실시간 요금에 대한 확인이 쉽다.

가이드 및 공식 문서가 매우 잘되어 있다.

ncloud는 위와 같이 클러스터를 생성할때 이해를 돕기 위한 텍스트 또는 해당 서비스에 필요한 다른 서비스를 위한 링크 이유 등을 바로 확인할 수 있었습니다.

저는 ncloud를 처음 사용해보았고, k8s와 vpc를 처음 사용해봤습니다. 하지만 앞서 말한 친절함 덕분에 이용서비스들을 문제 없이 생성할 수 있었습니다.

또한 서비스를 이용하는 중에 문제가 생겼을때는 공식 문서를 이용하여 대부분 해결할 수 있었습니다. 위 그림의 공식 문서를 보면 사람들이 NKS와 Load Balancer와 연동을 많이 하는 니즈를 알고 미리 문서화되어 있는 부분이 매우 편리했습니다.



문의 사항에 대한 피드백이 매우 빠르다.

6.6 은 현충일 공유일이였습니다.

위 그림을 보면 출근하시자마자 문의에 답변해주신걸 확인할 수 있습니다. 답변 내용도 최대한 이해하기 쉽게 설명해주시고 링크를 첨부하면서 성심성의껏 도와주시는 모습에 인상적이였습니다.



실시간 요금에 대한 확인이 쉽다.

위 그림을 보면 실시간으로 어떤 서비스에 얼만큼 크레딧이 사용되었는지 확인할 수 있었고, 매일 1번씩 문자로 잔여 크레딧을 알려줘서 매우 편리했습니다.




아쉬웠던 점은 구글링을 했을때 레퍼런스가 많이 존재하지 않다는게 아쉬웠습니다. 많은 분들이 사용해서 블로그를 남겨주시면 더더욱 좋은 서비스가 될거라 생각합니다.



Green Developers 프로그램 참여 소감


F-lab을 통해 Green Developers 프로그램에 참여할 수 있게 되었는데 무료 크레딧 제공해주셔서 좋은 사양의 좋은 서버와 다양한 서비스를 경험해봐서 좋았습니다. 아직 프로젝트 개발 중이라서 다른 다양한 서비스도 이용해보고 싶습니다. (개인적으론 네이버 AI 서비스를 사용해보고 싶네요!)



마무리


NCloud는 클라우드 인프라 구축과 운영에 있어 매우 편리하고 대한민국 사람이라면 거부감 없이 사용할 수 있는 서비스라고 생각됩니다. 앞으로도 NCloud와 함께 더 나은 서비스를 제공할 수 있을 것으로 기대됩니다!

profile
서버 백엔드 개발자

0개의 댓글