멋쟁이사자처럼 대학 11기 해커톤 및 네이버 클라우드 플랫폼(Ncloud) 사용 후기

영남대학교 멋쟁이사자처럼 대학 11기에서 BE 파트로 참여하면서, 네이버 클라우드 플랫폼을 통해 배포 환경을 구축하게 되었고, 이에 따른 후기를 작성하려 한다.


  지난 주에 드디어 멋쟁이사자처럼 대학 11기 해커톤에 다녀왔다. 소프트웨어 마에스트로 과정을 병행하면서 우여곡절이 많았는데 그래도 결국에는 해커톤 프로젝트까지 무사히 마무리 지었다.

  우리 팀은 자동차 소모품 시장에 만연한 연령/직업/지역별 정보 불균형을 해소하기 위해 ‘사용자 니즈에 맞는 타이어 정보 검색 및 아카이빙 디지털 플랫폼’을 기획하였다. 타이어 정보 필터 검색검색한 타이어 찜하기, 타이어 업계 소식 아카이브 가능을 주요 기능으로 내세웠다.

  우리 프로젝트의 시스템 아키텍처는 아래 그림과 같다.

image

  우리 프로젝트의 아키텍처는 VPC를 구축한 후, 간단하게 필요한 서비스만 사용하는 식으로 구축을 하였다. 보다 더 제대로 구축을 하려면 Subnet이나 ACL에 대해 더 공부해서 적용을 했어야 했는데 현재 내 네트워크 지식의 부족함과 시간 관계 상 꼭 필요한 서비스만 사용하였다.
  우선 Server에 NGINX를 통해, 리액트로 구현한 웹 페이지를 배포하였고, Spring Boot를 통해 API 서버를 배포하였다. 이에 필요한 데이터베이스는 PaaS 기반의 서비스인 Cloud DB for MySQL을 사용하였고, Object Storage를 통해 정적 파일을 관리하도록 하였다.

  아래는 내가 사용한 NCP 서비스에 대한 간략한 설명이다.

  • VPC
    • 가상 사설 클라우드
    • 우리 프로젝트의 독립된 네트워크 환경을 구축하고 관리하기 위해 사용하였다.
  • Server
    • 가상 머신(VM) 형태로 제공된다.
    • 웹 페이지와 API 서버를 배포하기 위해 사용하였다.
  • Object Sotrage
    • 파일, 이미지, 비디오 등 데이터를 저장할 수 있는 스토리지 서비스이다.
    • 타이어 이미지, 사용자 이미지 등을 저장하기 위해 사용하였다.
  • Cloud DB for MySQL
    • 데이터베이스 호스팅, 관리하는 서버이다.
    • PaaS 기반의 서비스로 개발자는 데이터베이스에 대해서만 관리하면 되고, NCP에서 서버를 관리해주는 개념이다.
  • SSL VPN
    • NCP에서 가상 사설 네트워크 연결을 위한 VPN이다.

  결과적으로 우리 팀은 해커톤 입상에는 실패하였다. 입상 실패에는 여러가지 요인이 있겠지만, 바쁜 일정으로 인해 팀원들간 부족한 커뮤니케이션 시간과 아직은 부족한 나의 기술 스택 지식을 꼽고 싶다. 이번 기회를 통해 ‘한정된 시간만을 할애해야하는 프로젝트’에 대해 시행 착오를 겪어볼 수 있었다. 함께 프로젝트한 팀원들은 다들 좋은 사람들인 것 같다. 소프트웨어 마에스트로 과정을 병행하면서 꽤 많은 스트레스를 받고 있는데, 이번 프로젝트는 반대로 적은 시간을 할애했지만 나에게 재미를 주는 프로젝트였던 것 같다. 함께 고생한 팀원 모두에게 수고했다라는 말을 전하고 싶고, 다음에도 기회가 된다면 함께 프로젝트를 진행해보면서 내가 가지고 있는 지식들을 공유하는 경험을 해보고 싶다.

image