이런 기능을 넣으려고 한다면 EC2 같은 서버를 검토해봐야 합니다.
1. 사용자가 아무것도 안 해도 계속 확인해야 하는 기능 예시: - 주식 가격을 계속 확인하다가 특정 가격이 되면 알림 보내기 - 새로운 주문이 들어왔는지 계속 확인하기 - 특정 사이트의 데이터를 계속 수집하기 - 새로운 파일이 들어왔는지 계속 감시하기 - 외부 시스템의 상태를 24시간 체크하기 이런 서비스는 사용자가 버튼을 누르지 않아도 서버가 계속 일을 하고 있어야 합니다. 2. 실시간으로 계속 연결되어 있어야 하는 기능 예시: - 배달기사 위치를 실시간으로 보여주는 서비스 - 러닝 앱에서 사용자의 위치를 계속 기록 - 실시간 채팅 - 실시간 게임 - 실시간 주식 시세 - 실시간 관제 화면 - 여러 사용자가 동시에 수정하는 협업 기능 3. 오래 걸리는 작업을 뒤에서 계속 처리해야 하는 서비스 예를 들어 사용자가 1GB짜리 영상을 올렸다고 해보겠습니다. 서비스가 해야 하는 일: 영상 업로드 → 화질 변환 → 자막 생성 → 썸네일 생성 → AI 분석 → 완료 알림 몇 초 만에 끝나지 않을 수 있습니다. 다른 사례: - AI 영상 생성 - 대용량 PDF 분석 - 수백 장 OCR - 대량 이미지 변환 - 수만 건 엑셀 데이터 처리 - 대량 이메일 발송 - 대규모 데이터 크롤링 이런 경우에는 “손님이 주문하면 바로 끝나는 일이 아니라, 10분·30분 동안 계속 작업해야 하는 서비스” 이런 기능의 비중이 크다면 EC2나 별도의 작업 서버를 검토해야 합니다. 4. 정해진 시간에 알아서 일을 해야 하는 서비스 예시: - 매일 오전 9시에 사용자에게 리포트 발송 - 매일 밤 주문 정산 - 매주 월요일 이용자 통계 생성 - 매시간 데이터를 수집 - 매일 새벽 데이터 백업 - 특정 시간마다 외부 API에서 데이터를 가져오기 단순한 예약 실행 몇 개 정도라면 Vercel에서도 충분히 처리할 수 있지만, 수집 → 분석 → 정산 → 파일 생성 → 메일 발송 처럼 정기적으로 해야 할 작업이 점점 복잡해지면 별도 서버 구조를 검토해야 합니다. 5. 서버에 특정 프로그램을 직접 설치해야 하는 기능 예를 들어 서비스를 만들다가 AI가 갑자기 다음 프로그램을 설치하라고 할 수도 있습니다. FFmpeg, Chrome / Chromium, Python 프로그램, 특정 이미지 변환 프로그램, 특정 문서 변환 엔진 , 자체 AI 모델, 특수한 시스템 프로그램 등 “내 서비스가 웹사이트만 실행하는 게 아니라 서버 컴퓨터 안에 별도의 프로그램까지 설치해서 사용해야 하는가?” 이렇다면 EC2를 검토하는 것이 좋습니다.