다운타임 검증이어서 다운타임 검증을 해봅시다. 검증기간은 3일간으로 하겠습니다. 다음이 검증에 사용한 소스코드입니다.다운타임 측정 방법 Discord의 설정이나, 소스 코드의 내용에 대해 가볍게 설명하겠습니다. (관심이 없는 분은 안 보셔도 무방합니다.) 먼저 프라이빗 채널을 만들고 거기에 Bot을 추가합니다. 이렇게 해두면 다운타임의 검증을 병행해 실시할 수 있게 되고, Bot의 부하 경감도 예상해볼 수 있습니다(소속되어 있는 채널의 메시지 밖에 취득할 수 없기 때문에).또, 프라이빗 채널 이외의 메시지에는 반응하지 않도록 설정되어 있습니다. 사용할 파일은 send.py, main.py, chk.py, chk.sh 입니다. send.py 와 chk.py 를 Raspberry Pi 상에서 서비스로서 움직..
서문: 서버리스 컴퓨팅과 전통적인 백엔드 호스팅의 비교를 통해 어떤 것을 선택해야 하는지에 대한 고려 사항을 다루는 글입니다. 본문: 1. 서버 관리: AWS Lambda: 서버리스 아키텍처의 핵심인 서버 관리의 부담을 덜 수 있습니다. 코드를 업로드하고 실행하면 AWS가 인프라 관리를 처리합니다. 일반적인 백엔드 호스팅: 사용자는 서버 인프라를 직접 설정하고 관리해야 합니다. 2. 비용: AWS Lambda: 사용한 컴퓨팅 리소스에 대해서만 비용을 지불하므로 트래픽이 낮을 때는 비용이 낮을 수 있지만, 높은 트래픽의 경우 비용이 증가할 수 있습니다. 일반적인 백엔드 호스팅: 고정된 비용이 있어 트래픽과 상관없이 일정한 비용이 발생합니다. 3. 확장성: AWS Lambda: Lambda는 요청에 따라 자..
CLI V3 를 사용한 디플로이 방법 Railway CLIV3에서는 크게 변경 사항이 있습니다. 첫 번째로,railway init 시에 .env 파일을 읽어주지 않게 되었습니다. 두 번째로 환경 변수 설정 명령어인 railway variables set 를 입력 및 실행 할 수 없게 되었습니다. 왜 이런 개편(개악?)을 했는지는 모르겠습니다. (Discord 커뮤니티에서 질문해봤어요.보안이라든가의 영향일지도 모르겠습니다.) 그러면 CLIV3를 사용한 디플로이 방법에 대해 설명하겠습니다.기본적인 커맨드 조작은 V2와 큰 차이가 없습니다.우선은 Railway 커맨드로 인스톨하는 방법입니다. Linux, macOS, Windows: GitBash 환경에서는 아래와 같이 명령어를 입력해줍니다. Shell Scr..
Deploy 계정이 준비되었으면 이제 디플로이를 해봅시다. 디플로이의 방법으로는 GUI 하고 CLI 두 종류가 있습니다. Railway의 UI가 아주 심플해서 GUI로 디플로이 하는 편이 편할겁니다. 또 CLI는 커맨드가 시원찮은 이미지가 있어서 쓰기 불편할 수 있습니다. (굳이 CLI 쓸 필요가 없다고 개인적으로는 생각합니다) GUI 에서 디플로이 하는 방법 필요한 파일을 Github 의 레포지토리에 추가합니다. 필요한 파일은 main.py, requirements.txt, Dockerfile 입니다. 이번에 사용한 main,py 파일에 관해서는 다운타임검증에서 설명할테니 일단 생략하겠습니다. 각각 구동시키고 싶은 Bot의 소스코드를 작성합니다. requirements.txt 파일은 pip freeze..
들어가며 무료로 사용 가능한 호스팅 서비스인 Railway 와 Discord.py 를 사용한 Discord Bot 의 구축과 운용에 관해 정리해보았습니다. 2023/09/17 추가 기록 Railway의 호스팅 서비스가 유료화되었습니다. 내용은 이하 사이트를 참고해주세요. 스펙이 좋아서 어디로 갈아탈지 고민중입니다. 개인적으로는 5달러를 계속 지불할 용의도 있습니다. Railway 란 Railway 란, 클라우드 베이스로 어플리케이션의 디플로이가 가능한 플랫폼입니다. 말하자면 PaaS(platform as a Service) 라고 불리는 서비스로 분류됩니다. 대단히 심플한 UI 에다가 GitHub 연동이 가능하여 쉽게 디플로이가 됩니다. 또한, 여러 언어를 사용 가능하며, 소규모 프로젝트부터 대규모 프로젝..
Uptime Robot 설정 Uptime Robot 이 뭐냐면 무료로 web 사이트를 사활감시(가동상황 지속적 체크) 지속 모니터링해주는 서비스입니다. 사이트에 액세스해서 우상단의 [Register for FREE] 에서 계정을 만듭니다. 계정을 만들었다면 자동적으로 "Dashboard" 페이지로 이동할 겁니다. (이동하지 않는다면 홈에서 [Go to Dashboard] 를 누릅니다) 계속해서 좌상단의 [Add New Monitor] 에서 감시대상을 추가합니다. 설정은 Monitor Type 을 HTTP(s) 로, Friendly Name 에 적당한 이름, URL에 아까 메모해둔 Render에 표시되었던 URL, Monitoring Interval 을 5분으로 설정(무료 계정에서는 5분 간격이 제일 짧은..
한 포스팅에 다 올리려니까 양이 좀 많아보여서 잘랐습니다. Web Services on the free instance type are automatically spun down after 15 minutes of inactivity. When a new request for a free service comes in, Render spins it up again so it can process the request. https://docs.render.com/free Render 에는 GitHub 의 repository에 변경이 생겼을 때, 자동적으로 재 deploy 해주는 기능이 있습니다. Deploy 계정의 준비가 되었으면 드디어 Deploy 하러 가보겠습니다. 필요한 파일을 gitHub의 repo..
찾아보니까 Heroku 가 작년인가? 에 유료화가 되어서... 디스코드 봇을 배포해보기에는 허들이 높아졋당.. 그러던 와중 따라해 볼 만한 qiita 의 포스트를 발견, 다른 분도 필요할지도 모르니까 번역해둡니다. 제일 하단에 원문이 있으니 원문 보실 분들은 원문으로. 저는 한국어로 읽기 편하게 간딘히 조금 다듬었음을 알립니다. 무료로 쓸 수 있는 호스팅서비스인 Render 와 Discord.py를 사용한, Discord Bot의 구축과 운용에 관해 정리해보았습니다. Render 란 Render 란, 웹사이트나 어플리케이션을 호스트하기 위한 클라우드호스팅 서비스입니다. 정적사이트, Docker 컨테이너, 서버리스 함수, 데이터베이스, 백엔드 API 등, 여러 종류의 어플리케이션을 호스팅할 수..
개인적으로 얄팍한 코딩사전 줄여서 얄코님의 영상을 본 게 전부이다. 컨테이너를 들어서 통째로 옮겨줘용 원래 엄청나게 복잡했던 무슨 일을 줄여줘용 독커는 복어에용 복.커. (이런 영상 아닙니다) 밖에는.... 그런데 왜 도커에 대해 포스팅을 하냐면, 디스코드 봇을 만들어서 24시간 돌아가게 하려고 보니까 어떤 분이 도커파일을 만드신겨. 그게 딱 다섯줄밖에 없었는데 이게 디스코드 봇 만들어서 올리는데 왜 필요한거지의 호기심 때문에 시작되었다. 다른 포스팅을 봐도 역시 이과생들의 말은 알아듣기 어렵네만 오백번 ... 차근차근 읽으면서 모르는거 또 찾아보고 피상적으로나마 알게 되었다. 하이퍼 바이저(Guest OS) - (생성) > 운영체제1(Cpu 할당), 운영체제 2(Cpu 할당), 운영체제3(Cpu할당....