사진과 같이 나의 깃 저장소를 지정한다.
그리고 환경변수에 prod 프로필에 맞는 변수를 저장해준다. 여기서 중요한 점이있다.
스프링에서 application-prod.yml 을 설정해줄때 dev 환경과는 다르게 import: classpath:application-db.yml 설정을 빼주어야한다.
사실 당연한 이야기다. classpath:application-db.yml 파일은 gitignore를 통해 깃허브에 올라가지 않았을 것이기 때문이다. 또한 해당 변수들은 이전 사진처럼 배포할때 환경변수로 다 지정하기 때문이다.
그리고 port 번호를 8080으로 지정하고 Dockerfile path를 지정해주면 배포 끝이다.
배포를 성공적으로 마치게 된다면 도메인 주소가 나온다. 해당 도메인을 이용해서 테스트를 끝!
사진과 같이 모든 애플리케이션을 배포하였다. (지금은 다 종료한 상태)
사진을 보면 성공적으로 API 요청을 잘 받아온다. 여기서 문제점이있다. 테스트에서 볼 수 있듯이 나는 DB 서버와 테스트 했지 플라스크 서버와는 테스트 하지 않았다. 이유는?
ㅎㅎ.. 클라우드 타입의 리소스 한계 때문이다. 메모리를 1GB 밖에 사용하지 못한다. 하나의 어플리케이션을 사용할때 0.5GB를 사용하기 때문에 3개의 어플리케이션을 동시에 사용하지 못한다.
결제를 하여 해당 기능을 추가적으로 더 사용하려고 했는데 아직 지원하지 않는 기능이다..
데모 프로젝트를 통해 애플리케이션 개발과 배포 과정에 대한 깊은 이해를 얻었고, 특히 클라우드 환경에서의 작업의 편리함과 한계를 경험했다. 사진 처리 기능 추가가 앞으로의 주요 과제로 보인다. 현재 사용 중인 클라우드 서비스는 사용자 친화적이지만, 결제 기능 부재와 리소스 제한이 단점으로 드러났다. 특히, YOLOv8 모델을 효과적으로 운용하기 위해서는 더 높은 성능이 필요함을 깨달았다. 이에 따라, 앞으로의 배포는 아마존 클라우드 서비스를 고려할 예정이다. 이번 데모 프로젝트는 중요한 학습 경험이었으며, 실제 과제 진행 시 클라우드 타입의 한계를 인지하고 대비할 수 있게 되었다. 이러한 실습이 내가 애플리케이션 개발에 있어서 실험적인 접근을 선호하는 이유다.