네이버 부스트캠프 그룹 프로젝트로, Ask-It
이라는 서비스를 개발했다. 우리는 NCP 크레딧을 지원받아 사용하였는데, 서비스 사용 후기를 남겨보고자 한다!
Ask-It은 우리 일상의 불편함을 해결하는 데에서 시작되었다. 네이버 부스트캠프에는 금요일마다 '마스터 클래스'라는 수업 시간이 있다. 마스터님께서는 항상 구글 스프레드시트로 Q&A를 받아 답변을 해주셨다. 하지만 스프레드시트는 사람이 많아지면 편집이 안 되는 문제가 발생했고, 무엇보다 '동시편집'을 지원하기 때문에 상대방의 질문을 실수로 지워버리는 상황이 많이 생겼다.
이를 개선하기 위해 Ask-It이라는 실시간 Q&A 서비스를 기획했다. 실시간으로 질문, 답변, 채팅을 통해 청중과 연사자가 소통할 수 있다.
Ask-It은 채팅, 실시간 Q&A, 권한 관리, 아카이빙 기능을 지원한다.
우리 팀은 다음과 같은 서비스를 이용했다 :
우리 서비스의 아키텍처는 다음과 같다 :
서버는 두 대를 운영했으며, 각각 다른 역할을 수행했다.
첫 번째 서버는 NGINX를 통한 리버스 프록시 서버로 활용되어 HTTPS 연결을 처리하고, 요청을 적절히 라우팅했다. /api
로 시작하는 요청은 백엔드 서버로 전달하고, 그 외의 요청은 정적 파일을 제공했다. 동일 서버에서 NestJS 기반의 REST API 서버와 Socket.IO 서버도 함께 운영했다.
두 번째 서버는 PostgreSQL 데이터베이스 전용 서버로 구성했다.
Object Storage는 React 기반 프론트엔드의 정적 파일 호스팅에 활용했으며, 다음과 같은 이점이 있었다:
우리 팀은 가비아를 활용해 ask-it.site
도메인을 신규 등록한 뒤, NCP의 Global DNS를 통해 도메인을 관리했다.
본 프로그램 참여를 통해 AWS 중심의 클라우드 지식을 NCP로 확장할 수 있었다. 이는 클라우드 서비스에 대한 더 넓은 이해와 다양한 인프라 구성 방식을 학습할 수 있는 좋은 기회였다. 크레딧 지원을 통해 실제 서비스를 구축하고 운영해볼 수 있었던 점에 감사하다.
6주라는 한정된 프로젝트 기간으로 인해 다양한 인프라 서비스를 실험해보지 못한 아쉬움이 있었다. 향후에는 NCP의 다양한 서비스들을 탐색하고 적용해보며, 더욱 견고한 인프라 구성을 시도해보고 싶다.