2023년 9월의 이야기입니다.
제 프로젝트는 사용자가 특정 차트를 고르면, 코스피 코스닥 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개 정도를 골라 사용자에게 보여주는 것이 목표입니다.
비슷한 차트 검색기
전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?
www.similarchart.com
무서운 AWS
미지의 세계
AWS 역시 Docker에 이어 완전히 새로운 도전입니다. 게다가 이전에 공부한 적도 없고 그냥 클라우드 서비스정도로밖에 알지 못했습니다. 미지의 요소들이 많아 과연 배포가 가능할까 싶더군요.
얼마 전에 유튜브에서 AWS와 관련해 무언가를 잘못했다가 몇천만 원의 과금이 나온 영상을 봤습니다. 물론 연출된 상황이었지만 괜히 이런 영상을 봐서 뭔가 무서웠습니다. 제가 조금이라도 잘못하면 갑자기 많은 과금이 부과될 것 같았죠.
그래서 AWS는 좀 많이 공부해 보고 시작해야겠다고 생각했습니다.
위 책을 읽어보고, 챗 GPT선생님과 진득한 상담을 진행했습니다. 제 프로젝트를 배포하기 위해서는 현재 개발 환경에서 사용 중인 코드들 중 변경해야 할 부분이 있는지, DB는 RDS를 사용해야 하는지, 인스턴스 생성과 설정들은 어떻게 해야 하는지 등등을 상담했습니다.
챗 GPT에게 질문을 잘 하기 위해서는 기본적으로 어느 정도 해당 주제에 대해 알고 있어야 질문을 잘할 수 있다고 생각합니다. 그래서 책으로 자세히 공부하는 것도 필수인 것 같습니다.
난관 봉착
저는 일단 처음에는 프리티어로 주어지는 것들을 시작했습니다. 메모리 1GB, 스토리지 30GB, 1개의 vCPU를 가진 EC2 인스턴스를 받았습니다. 제 코드들이 메모리 1GB를 넘는 일이 없이 잘 돌아갈진 모르겠지만 일단 과금해야 하는 건 무서웠습니다. 어찌어찌 배포 환경에 맞게 코드를 변경하여 EC2환경에 코드를 올리고 무작정 실행해 보았습니다.
역시 실행했는데 얼마 지나지 않아 EC2 인스턴스가 반응을 하지 않더군요.. 단 1초의 순간이라도 메모리 사용량이 1GB를 넘기면 먹통이 되었습니다. 또한 CPU도 성능이 좋지 않아 기존 코랩환경에서 2시간이 걸리던 코드가 거의 24시간이 걸리더군요.
메모리를 사용량을 추적하며 최대한 청크 작업을 활용해 최적화를 진행하여 어찌어찌 코드를 수정해 와도 한번 테스트할 때 하루종일 걸리니 메모리 초과 없이 코드가 실행되는 데에 일주일정도의 시간이 걸렸습니다. 처음 코드실행이 정상적으로 완료됐을 때는 정말 기뻤었습니다.
또한 AWS를 사용해 보았다는 것 만으로 뭔가 보람찬 느낌을 받았습니다.
프리티어 인스턴스는 너무 느려
하지만 실행이 된다고 해도 24시간 이상이 걸려 너무 느렸습니다. 그래서 바로 다음으로 성능이 좋은 메모리 2GB, vCPU 2개를 결제해 버렸습니다. 한 달에 서버비 3만 원이 청구되지만 속도가 2시간으로 줄어 확실히 빨랐습니다. vCPU 1개와 2개 차이가 이렇게 심한 건가 싶네요.
마음 같아선 더 좋고 빠른 인스턴스를 장만하고 싶은데, 가난한 대학생에게 그건 힘들었습니다..
또한 1년이 지나면 RDS를 사용한 부분도 청구가 들어올 텐데, 조금 걱정이네요..
빨리 취업을 해야 할 수도
이제 웹페이지를 자랑할 수 있다!
물론 아직 미완성이지만 제 프로젝트가 누구나 사용할 수 있게 된 것만으로 기분이 뭔가 좋았습니다. 내친김에 도메인도 구매하여 친구들 몇 명에게 링크를 줘 보기도 했습니다.
물론 사용하는 사람은 아무도 없
빨리 제가 원하는 단계까지 완성시켜서 사람들이 사용했으면 합니다.
'프로젝트' 카테고리의 다른 글
6. 파이썬 메모리 관련 주의할 점과 matplotlib 메모리누수 문제 (0) | 2024.02.17 |
---|---|
프로젝트 - 5. 데이터 파이프라인, 데이터베이스 구조 정리 (0) | 2024.02.17 |
비슷한 차트 탐색 프로젝트 - 3. 프로젝트를 Docker로 구성해보자 (0) | 2024.02.17 |
비슷한 차트 탐색 프로젝트 - 2. Flask, Django, Spring 어떤걸 쓸까? (0) | 2024.02.17 |
비슷한 차트 탐색 프로젝트 - 1. 시간을 줄이기 위한 여러 실험과 테스트 (0) | 2024.02.17 |