졸업작품 프로젝트를 할 때, 팀 구성이 랜덤으로 되었습니다. 저도 많은 경험이 있던 것은 아니지만, 다른 팀원들의 경우 학교 수업 이외의 프로젝트 경험이 없었습니다. 모두가 서툴렀지만 그럼에도 완성도 높게 프로젝트를 완성하고 싶었고 경진대회에 입상을 하고 싶었습니다. 저는 프로젝트에서 팀장, 백엔드와 아키텍처 설계를 맡아서 했습니다.
해당 프로젝트는 웹 애플리케이션으로 웹 백엔드(Java)와 분석 모듈(Python)로 구성되어야 했습니다. 이렇게 단일 서버가 아닌 경우는 처음 해보는 것이었기에 어려움이 있었습니다. 우선은 아는 범주 내에서 아키텍처를 설계해 나갔습니다. 톰캣과 젠킨스를 두어 깃허브 웹 훅으로 간단하게 CI/CD를 구축하는 것을 기본으로 두고 분석 모듈을 어떻게 할지 고민했습니다.
기존에 도커를 사용했던 경험과 서치를 통해 별도의 우분투 컨테이너를 구축했습니다.
하지만 두 모듈 사이에는 파일 공유, 통신 등의 문제가 남아있었습니다. 도커의 볼륨으로 공유 볼륨을 두어 이를 해결했고, 통신의 경우 소켓 통신을 사용하였습니다. 한정된 시간 안에 도메인 설계 및 서비스 로직 구현을 하는 동시에 해보지 않았던 아키텍처 설계 및 서버 구축을 함께 하는 것은 저에게 큰 도전이었습니다. 하지만 경험을 토대로 점차 확장시키며 고민한 끝에 프로젝트를 완성할 수 있었고 경진대회에서도 우수상을 수상할 수 있었습니다.
글자수 698자1,189Byte