Skip to content

dev4hobby/deta-basic-fastapi-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deta.sh를 사용하게된 이유

Deta.sh

어디서 이런 듣도보도 못한 플랫폼을 들고왔냐고 하실 수 있습니다.

이 포스팅을 작성하게 된 계기는 Heroku의 무료사용 플랜 지원 중단으로 인해, 무료로 사용할 수 있는 플랫폼을 찾던 중에 알게된 내용을 기록하기 위함합니다.

Heroku? 그게 뭔데

제가 토이프로젝트 진행할 때, 당장의 수익은 발생하지 않지만 일단 만들어놓고 서비스 해보고싶다 라는 아이템들을 호스팅할 필요가 있었는데요.

물론 서버리스를 사용할 수 있지만, 서버를 항상 켜둬야 한다거나 연결성을 유지해야하는 경우 제약이 많았습니다.

그래서 저성능이지만 최소한의 비용으로 24시간 작동할 수 있는 호스팅 서비스를 찾고있었고, Salseforce의 Heroku가 적합해서 사용하고 있었습니다.

당시 대부분의 사용자들도 무료플랜을 이용하여 프로젝트를 띄웠고, 언제든지 어느정도 합리적인 비용을 결제하면 서버 성능을 올릴 수 있었기 때문에 잘 써왔던 것 같습니다.

영원할 것 같았던 우리의 만남은 여기까지

하지만 무료로 사용하면 언젠가는 아쉬운 일이 생길 수 밖에 없는 것 같습니다.

지난 2022년 8월 25일, Heroku가 로드맵을 발표하면서 무료플랜이 남용, 어뷰징되는 것을 관리하기위해 노력하고있다는 내용을 발표했는데요.

꽤 골칫거리였나 싶기도하고 다른 가치를 중점으로 두고싶었을 것 같다는 생각이듭니다.

자세한 내용은 이번에 발표된 Heroku 로드맵을 참고해주세요.

결과적으론.. 2022년 10월 26일부터 1년 이상 방치된 비활성유저의 계정과 스토리지가 제거되고, 2022년 11월 28일부터 무료사용 플랜 제공이 중단될 예정이라는 내용을 남기면서 무료로 사용하던 유저들이 플랜을 결제하거나 대거 이탈될 것 같습니다.

그럼 기존사용자들은 어떻게 해야하나

기존에 사용하던 Heroku가 무료사용자를의 자원을 모두 회수하게된다면..

제가 토이프로젝트 진행할 때 만들어둔 컨테이너들이 모두 삭제될 위기에 놓이게 되는데요.

그래서 일부 몇가지 프로토타입만 Deta.sh로 이주하려고 합니다.

무료플랜 기준 Heroku와의 차이점

Heroku Deta.sh
Coldstart 이슈에 취약한가? O X
인스턴스의 하루 최대 사용시간 18시간 24시간
가용성 엣지가 US에 있음 아시아지역을 포함한 대부분의 국가에 엣지 있음
컴퓨팅파워 좋지 못함 비교적 좋음
데이터베이스 buildpack 지원하지만 사용자경험 좋지 않음 NoSQL 내장, 쓸만함
무료플랜 곧 중단예정 지원함

Heroku의 무료플랜을 사용하는경우 하루 최대 18시간만 사용할 수 있다는 문제점이 있습니다.

심지어 사용자 요청이 들어오지않으면 30분 뒤에 서버가 멈춰버려서.. 멈춘 서버에 요청을 보내서 다시 켜야하는 번거로움이 있습니다. 그 시간동안 사용자는 계속 기다려야하는 단점이 있습니다.

그에 반하여 Deta.sh는 24시간 사용할 수 있고, 위의 예시와 같은 Coldstart 이슈에 취약하지 않으며..

NoSQL기반의 Database와 10GB의 스토리지를 무료로 제공하고있어서 Heroku보다 훨씬 편리하게 사용할 수 있다는 생각이 듭니다.

어떤 조건을 보더라도 넘어가는게 이득인 것 같다는 생각이 듭니다.

사용법

Deta.sh에서 계정을 만든 뒤에 아래 스크립트를 실행합니다.

curl -fsSL https://get.deta.dev/cli.sh | sh
deta login

deta new --python example
pip install deta
# make resources
# - main.py
# - requirements.txt
# - .env
deta update -e .env
deta deploy

deta logs

Releases

No releases published

Packages

No packages published