Ask-It 서비스를 위한 NCP 사용기

이지호·2024년 12월 21일
0
post-thumbnail

네이버 부스트캠프 그룹 프로젝트로, Ask-It이라는 서비스를 개발했다. 우리는 NCP 크레딧을 지원받아 사용하였는데, 서비스 사용 후기를 남겨보고자 한다!

Ask-It 프로젝트 소개

Ask-It은 우리 일상의 불편함을 해결하는 데에서 시작되었다. 네이버 부스트캠프에는 금요일마다 '마스터 클래스'라는 수업 시간이 있다. 마스터님께서는 항상 구글 스프레드시트로 Q&A를 받아 답변을 해주셨다. 하지만 스프레드시트는 사람이 많아지면 편집이 안 되는 문제가 발생했고, 무엇보다 '동시편집'을 지원하기 때문에 상대방의 질문을 실수로 지워버리는 상황이 많이 생겼다.

이를 개선하기 위해 Ask-It이라는 실시간 Q&A 서비스를 기획했다. 실시간으로 질문, 답변, 채팅을 통해 청중과 연사자가 소통할 수 있다.

Ask-It은 채팅, 실시간 Q&A, 권한 관리, 아카이빙 기능을 지원한다.

채팅
실시간 Q&A
권한 관리
아카이빙

👇아래 링크에서 서비스를 사용해볼 수 있다!

Ncloud에서 사용한 서비스

우리 팀은 다음과 같은 서비스를 이용했다 :

서비스 이용 내역

Ncloud 서비스 적용하기

우리 서비스의 아키텍처는 다음과 같다 :

아키텍처 구조도

Server (VPC)

서버는 두 대를 운영했으며, 각각 다른 역할을 수행했다.

첫 번째 서버는 NGINX를 통한 리버스 프록시 서버로 활용되어 HTTPS 연결을 처리하고, 요청을 적절히 라우팅했다. /api로 시작하는 요청은 백엔드 서버로 전달하고, 그 외의 요청은 정적 파일을 제공했다. 동일 서버에서 NestJS 기반의 REST API 서버와 Socket.IO 서버도 함께 운영했다.

두 번째 서버는 PostgreSQL 데이터베이스 전용 서버로 구성했다.

Object Storage

Object Storage는 React 기반 프론트엔드의 정적 파일 호스팅에 활용했으며, 다음과 같은 이점이 있었다:

  1. 성능 최적화: 정적 파일을 Object Storage와 CDN으로 제공함으로써 응답 속도와 비용 효율성을 개선했다.
  2. 효율적인 캐싱: Object Storage와 CDN의 장기 캐싱 정책을 활용하여 클라이언트의 로딩 속도를 최적화했다.
  3. 확장성: Object Storage를 통해 서버 부하를 분산시키고 대규모 트래픽에도 안정적인 서비스를 제공할 수 있었다.

Global DNS

우리 팀은 가비아를 활용해 ask-it.site 도메인을 신규 등록한 뒤, NCP의 Global DNS를 통해 도메인을 관리했다.

Ncloud 사용 중 만족스러웠던 점 & 아쉬웠던 점

만족스러웠던 점

  1. 문서가 모두 한글로 작성되어 있다는 점이 너무 좋았다.
  2. Private 서브넷의 서버도 패키지 설치가 가능했다. NCP에서 제공하는 사설 레포지토리를 통해 인터넷 연결 없이도 필요한 패키지를 설치할 수 있었다.

아쉬웠던 점

  1. 비용 효율성 문제: 가장 기본적인 서버 스펙에서도 월 6만원 수준의 비용이 발생하여, Ask-It 같은 소규모 프로젝트에서 활용하기에는 비용 부담이 컸다.
  2. 인프라 접근성 이슈: SSH 접속 시 pem 키가 직접적인 접속 키가 아닌 루트 계정의 비밀번호를 얻기 위한 용도로만 사용되어, 추가적인 공개키 등록 과정이 필요했다.
  3. 기술 자료의 한계: 타 클라우드 서비스 대비 커뮤니티와 레퍼런스가 부족하여, 문제 해결 시 참고할 수 있는 자료가 제한적이었다.

Green Developers 프로그램 참여 소감

본 프로그램 참여를 통해 AWS 중심의 클라우드 지식을 NCP로 확장할 수 있었다. 이는 클라우드 서비스에 대한 더 넓은 이해와 다양한 인프라 구성 방식을 학습할 수 있는 좋은 기회였다. 크레딧 지원을 통해 실제 서비스를 구축하고 운영해볼 수 있었던 점에 감사하다.

마지막으로

6주라는 한정된 프로젝트 기간으로 인해 다양한 인프라 서비스를 실험해보지 못한 아쉬움이 있었다. 향후에는 NCP의 다양한 서비스들을 탐색하고 적용해보며, 더욱 견고한 인프라 구성을 시도해보고 싶다.

0개의 댓글

관련 채용 정보