API 서버 배포 방안 탐색 (Koyeb, Cloudtype, Oracle cloud)

Kimsoohyun·2023년 11월 21일
1

MLOps Toy Project

목록 보기
3/5
post-thumbnail

Intro

이전 포스트에서는 간단한 API 서버를 만들었다.
집에 있는 컴퓨터를 항상 켜놓을 수 없으니 API 서버를 배포할 수 있는 방안을 찾아보자.

Verse

배포 서비스 선정

예전에 Heroku를 사용한 적이 있어서 Heroku를 이용해볼까 싶어서 홈페이지를 찾아갔지만... 어느샌가 유료로 전환됐다고 한다.
Heroku를 대체할 수 있는 서비스를 찾아보던 중 Koyeb이라는 서비스를 찾아서 어느정도 파봤다. 글을 작성하는 시점에서는 너무 오래 전이라서 잘 기억은 나지 않지만 기억을 더듬어서 작성해보겠다.

Koyeb

Koyeb에서 리포지토리를 연결하여 배포하는 형식은 잘 됐던 것으로 기억한다.
하지만 Github Action을 통해 CD를 진행하는 부분이 잘 안되기도 하고, 모종의 이유로 다른 서비스를 알아봤던 것 같다. (너무 오래돼서 정확히 기억은 안나지만 뭔가가 안돼서 화났던 기억은 난다.) Docs를 정독해도 내용이 많지 않고, 인터넷에 참고할 만한 정보 또한 적어서 좀 더 정보가 많은 서비스로 옮겼던 것 같다.

그렇게 찾게된 서비스가 CloudType이다.

Cloudtype

Cloudetype은 한국이 운영하고 있는 서비스라 한국어로 된 Docs가 있었다. 내용 또한 꽤나 자세했고, 디스코드 서버를 운영중이라 질문하면 운영하시는 분들에게 답변을 받을 수도 있었다.
컨테이너도 최대 2개를 사용할 수 있어 DB나 다른 컨테이너가 필요할 때 사용할 수 있다고 생각되어서 옮기게 되었다. (Koyeb은 아마도 컨테이너가 1개 밖에 안됐던 것 같다.)

홈페이지에는 최대 4개 지원이라고 나와있지만, RAM인가 어떤 것 때문에 더이상 컨테이너를 늘릴 수 없었던 것으로 기억한다. (찾아보면 방법은 있었을듯)

Cloudetype도 컨테이너 기반의 서비스이다보니 여러 개의 컨테이너를 한번에 관리하기 까다로웠고, 컨테이너 기반이 아닌 클라우드 서비스가 간절했다.

이것 저것 방법을 찾아보던 중 지친 나머지 그냥 편하게 AWS를 돈주고 쓸까도 고민하다가, 클라우드 서비스 중에서 무료로 제공해주는 것이 있는지 찾아보다가 Oracle cloud를 접하게 되었다.

Oracle cloud

무려 무료로 아래와 같은 서비스를 이용할 수 있다.
Oracle cloud

이렇게 좋은 것이 있었는데 왜 몰랐을까를 후회하며, 정신없이 가입을 진행했다.

하지만 처음엔 몰랐다. Oracle cloud를 사용하기 위한 최대의 난관이 가입이라는 것을.

모든 정보를 입력해주고 카드 등록을 완료하고 가입신청 버튼을 눌렀을 때, 트랜잭션 오류 어쩌고 하면서 가입이 거절됐다.
처음에는 카드 정보를 잘못 입력한줄 알고 다시 입력해보기도 하고, 소유한 다른 카드들로 재시도 해봤다. 하지만 결과는 똑같았고, '이래서 무료여도 많이 안알려졌구나'라는 생각도 들었다.

구글링을 통해 한참을 찾아보던 중, '해당 오류를 마주하면 창 닫고 내일 하세요.'라는 블로그 글을 봤다. 내가 잘못해서 가입이 거절된 것이 아니라 Oracle 가입 시스템이 원래 그렇다고 한다.

깔끔하게 포기하고 그 다음날부터 생각 날 때마다 가입신청을 했다. (덕분에 카드 번호 외웠다.)
그렇게 시도한 지 2주쯤 지났을까... 평소와 똑같이 의미없는 시도를 하던 중, 갑자기 평소와는 다른 화면이 나왔다.
Oracle 가입성공

감격스러운 순간이었다. 드디어......!
고생 끝 행복 시작 :)

Outro

그렇게 Koyeb -> Cloudtype -> Oracle cloud의 길고 긴 배포 방안 탐색이 끝났다.
이제 Oracle cloud를 이용해서 이전에 만들었던 FastAPI를 배포하는 작업을 진행하면 된다.

profile
어제보다 나은

0개의 댓글