리셋 되지 말자

[CSAPI] 설계 본문

프로젝트

[CSAPI] 설계

kyeongjun-dev 2021. 9. 17. 12:19

토이 프로젝트

ClothesSeparationAPI의 줄임말로, 이미 어느정도 개발을 해놓은 상태(깃허브링크)다. 

위 그림처럼, 옷 입은 사진을 업로드하면, 옷만 분리된 이미지를 반환해주는 API 서비스다. 링크를 확인하면 어떻게 코드로 이루어져 있는지, 동작은 어떻게 하는지 확인 가능하다.
Tensorflow 모델을 수정하거나, 관련된 코드를 수정해서 이미지 처리 기능을 높이는게 목적이 아닌 해당 이미지 처리 기능을 웹 API 형식으로 제공하여 클라우드 까지 배포하는 것을 목표로 진행하려고 한다.
처음 개발할 당시에는 무조건 로컬에서 개발했는데, 이번에는 CI 환경을 구성한 뒤에 테스트 코드도 적용해 보려고 한다.

 

개발환경 구축

- 코드 저장소 GitLab
CI 환경을 구성하기 위한 코드 저장소로 GitLab을 이용하려고 한다. 이유는 GitLab-CI를 사용하기 위해서이다. 기존 프로젝트는 Jenkins를 사용했지만, GitLab이 자체적인 Container Image 저장소를 저장하는 등 기능도 많고 GitLab-CI와 연동이 쉬우므로 사용하기로 정했다.

- GitLab runner
GitLab을 코드 저장소로 사용할 때, 연동하기 쉬워서 사용한다. 무엇보다 yml 파일로 모든 과정을 설정할 수 있는게 편리하다고 판단했다.

- AWS Lightsail
GitLab runner를 설치하고, 테스트용 서비스가 실행되는 서버로 가격이 저렴한 AWS Lightsail을 이용한다. 고정 IP를 부여하고, 도메인과 https까지 설정한다.

- Docker
서비스들을 컨테이너 형태로 배포하기 위해 사용.

 

Comments