*이 글은 참고로 프로젝트가 종료된 후 작성되고 있다.
| 이전 포스팅
| 들어가며
지난 포스팅의 시점 이후 숱한 회의를 거듭하여 아래와 같은 프로젝트 진행 방향에 대해 결정하게 되었다.
- 입지 분석에 대한 머신러닝을 진행하여 최적의 입지를 선정
- 입지를 그냥 문서로만 표현하면 전달력이 떨어질 것 같음!
- 본인이 Django 개발 경험이 있으니 >> 웹 앱 형태로 구현해보자!
- 실시간 전기차 충전소 정보도 보여주고, 제대로 된 분석도구를 최대한 만들어보자!
| 구상
회의 후 어떻게 운영을 해볼까, 고민을 해보았다.
개발 환경을 어떻게 할지부터.. 운영은 어떻게 할지, 고려해야 할 것들이 뭐가 있는지..
한정된 시간 속에서 최고의 결과물이 나와야 했기 때문에 고민이 많았다.
개발 환경
- 본인은 파이썬이 가장 익숙하고, Django 개발 경험이 많다. 그래서 Django로 결정.
- 새로운 프레임워크에 도전하기 보다는 익숙한 것으로 하기로 결정했다.
- IDE는 역시 가장 익숙한 PyCharm과 VSCode를 쓸거다.
- node.js 서버를 하나 띄워서 github webhook을 이용한 배포 자동화를 시도해볼 생각인데, 배포가 잦진 않을 것 같아 고민중.
운영 계획
- AWS 프리티어 등을 활용해볼까도 했다.
- 그러나 개인 NAS가 항상 자원이 남아서 이쪽에서 운영을 해보기로 했다.
- Proxmox로 NAS를 운영 중이고, Docker용도로 굴리는 Ubuntu VM이 있어서 그쪽에서 운영할 계획을 세웠다.
- 이미 Django 기반의 고객사 업무 지원도구(전산)를 호스팅하고 있기 때문에 역시 익숙하다는 이유가 주된 결정 이유이다.
- DB는 무난한 mariaDB를 쓰기로 했다.
- 웹 서버는 역시 Nginx로 할 계획이다.
관리 환경
- Docker-Compose로 Stack을 만들어 운영해볼 구상을 하게 되었다.
- Docker-Compose가 궁금한 분들은 여기로..
- phpMyAdmin을 Docker로 하나 띄워서 DB 관리를 좀 편리하게 해볼 생각이다.
- Docker를 UI로 편리하게 관리할 수 있게 해주는 Portainer는 이미 Ubuntu VM에서 운영 중이라 자동으로 따라온다.
이 포스팅을 프로젝트 종료 후 쓰고 있으니, 과거 시점으로 쓰기가 참 어렵다.
프로젝트가 진행될 때에 초안이라도 써놓을걸, 싶기는 하지만 그땐 여유가 없을 정도로 열심히 했다는 반증이기도 하다.
결론적으로는 위 구상대로 거의 진행되었다.
이후 포스팅에서 어떻게 세세하게 셋업을 하고, 무슨 시행착오를 겪었는지 남겨보도록 하겠다.