TECH_COST_SCENARIOS

TECH_COST_SCENARIOS

Technical Cost Scenarios

Last Updated: 2026-03-18 Status: draft

문서 목적

이 문서는 현재 코드베이스 기준으로 실제 발생 가능한 기술 비용 항목을 모두 나열하고, 무료 -> Pro -> 초과 과금으로 넘어가는 지점을 시나리오 방식으로 계산한다.

특히 다음 질문에 답하기 위한 문서다.

  1. 어떤 외부 서비스가 실제로 돈을 먹는가
  2. 어떤 비용이 가장 먼저 커지는가
  3. 어느 성장 모멘텀에서 비용 구간이 바뀌는가
  4. 지금 구조에서 미리 막아야 할 숨은 고정비는 무엇인가

전제

현재 코드 기준 실제 사용 서비스

  1. Supabase
  2. NAVER Cloud Maps Geocoding / Reverse Geocoding
  3. SOLAPI SMS
  4. Cloudflare Pages / Workers 사용 가능성
  5. GitHub Actions 스케줄러
  6. Expo Push Service

코드 기준 실제 비용 발생 경로

  1. 소셜 로그인/세션 유지: Supabase Auth MAU
  2. 전화 인증 OTP 발송: Supabase Edge Function + SOLAPI SMS
  3. OTP 검증: Supabase Edge Function
  4. 파트너 주소 검색: address-suggest -> NAVER Geocoding 우선, 실패 시 OpenStreetMap fallback
  5. 지도 핀 이동 주소 확인: address-reverse -> NAVER Reverse Geocoding
  6. 파트너 매장 저장: geocode-partner -> 좌표 없을 때 NAVER Geocoding
  7. 파트너 사진 업로드: Supabase Storage
  8. 파트너 사진 조회: Supabase Storage Egress
  9. 관심매장 푸시 디스패치: dispatch-push-notifications Edge Function + Expo Push Service
  10. 푸시 디스패치 스케줄 실행: 현재 .github/workflows/dispatch-push-notifications.yml

계산용 가정

이 문서의 계산은 아래 운영 가정을 사용한다.

  1. 한 달은 30일 기준으로 계산한다.
  2. 파트너 대표 이미지 1장은 평균 120KB, 상세 이미지 1장은 평균 650KB로 본다.
  3. 파트너 1개가 사진 4장과 대표 썸네일 1장을 모두 채우면 저장 용량은 약 2.72MB로 본다.
  4. OTP 완료 사용자 1명당 실제 SMS 발송 수는 재전송을 반영해 평균 1.2건으로 본다.
  5. 주소 검색 1세션은 평균 Supabase Function 4회, NAVER Geocoding 6회로 본다.
  6. 핀 조정 1세션은 평균 Supabase Function 3회, NAVER Reverse Geocoding 3회로 본다.
  7. 푸시 디스패치 스케줄은 5분 간격이므로 월 8,640회 실행으로 본다.

주: 위 2~6번은 코드 흐름과 디바운스 설정을 기반으로 한 내부 추정치다. 실측 로그가 생기면 이 값을 운영 데이터로 교체해야 한다.

비용 항목 인벤토리

구분현재 사용 여부과금 시작 조건현재 중요도
Supabase Pro 플랜조건부운영 조직을 Free에서 Pro로 전환할 때높음
Supabase Compute조건부유료 조직 내 활성 프로젝트 수 증가높음
Supabase Auth MAU사용월 100,000 MAU 초과 시중간
Supabase DB Disk사용프로젝트 디스크 8GB 초과 시낮음
Supabase Storage Size사용조직 스토리지 100GB 초과 시중간
Supabase Egress사용조직 egress 250GB 초과 시매우 높음
Supabase Edge Function Invocations사용월 2,000,000회 초과 시중간
Supabase Realtime현재 사실상 미사용Realtime 도입 후낮음
NAVER Geocoding사용무료 제공량 초과 시중간
NAVER Reverse Geocoding사용무료 제공량 초과 시중간
NAVER 지도 렌더링사용 중이나 단가 확인 필요모바일 SDK 렌더링 과금 정책 확인 필요확인 필요
SOLAPI SMS사용첫 SMS 발송부터매우 높음
Expo Push Service사용현재 공식 문서상 직접 발송 비용 없음낮음
GitHub Actions 스케줄러사용private repo + 포함 분 초과 시매우 높음
Cloudflare Pages선택Free 빌드/제한 초과 또는 상위 플랜 사용 시낮음
Cloudflare Workers현재 미사용Worker/Cron 도입 시낮음
도메인 등록비선택도메인 구입/갱신 시낮음

공식 단가 요약

1. Supabase

2026-03-18 확인 기준.

  1. Free: 프로젝트 2개, MAU 50,000, egress 5GB, storage 1GB, edge invocations 500,000
  2. Pro: 월 $25
  3. Compute: paid org의 각 프로젝트는 Micro 약 $10/월, paid org는 월 Compute Credit $10 포함
  4. 현재 앱의 Google/Apple/Kakao 등 소셜 로그인은 Third-Party MAU가 아니라 Supabase Auth MAU로 본다
  5. MAU 초과분: 100,000 MAU 초과 시 사용자당 $0.00325
  6. Egress 초과분: 250GB 초과 시 uncached GB당 $0.09, cached GB당 $0.03
  7. Storage 초과분: 100GB 초과 시 GB당 $0.021/월
  8. Edge Functions 초과분: 2,000,000회 초과 시 백만 회당 $2
  9. Disk 초과분: 프로젝트당 8GB 초과 시 GB당 $0.125/월
  10. Custom Domain Add-on: 프로젝트당 월 $10

2. NAVER Cloud Maps

2026-03-18 확인 기준.

  1. Web Dynamic Map: 0.1원/건, 월 10,000,000건 무료
  2. Static Map: 2원/건, 월 3,000,000건 무료
  3. Geocoding: 0.5원/건, 월 3,000,000건 무료
  4. Reverse Geocoding: 0.5원/건, 월 3,000,000건 무료
  5. Directions 5: 5원/건, 월 60,000건 무료
  6. Directions 15: 20원/건, 월 3,000건 무료

주: 공식 공개 가격 표에서 Web Dynamic Map, Static Map, Geocoding, Reverse Geocoding는 확인되지만 Mobile Dynamic Map 단가는 현재 확인하지 못했다. 현재 앱은 @mj-studio/react-native-naver-map을 사용하므로, 모바일 SDK 렌더링 과금 정책은 NCP 콘솔에서 별도 확인이 필요하다.

3. SOLAPI

2026-03-18 확인 기준.

기본 문자 단가:

  1. SMS: 18원/건
  2. LMS: 45원/건
  3. MMS: 110원/건

할인 구간:

  1. SMS 10,000건/월부터 15원/건
  2. SMS 100,000건/월부터 12원/건
  3. SMS 500,000건/월부터 11원/건
  4. SMS 1,000,000건/월부터 10원/건
  5. SMS 2,000,000건/월부터 9원/건

4. Cloudflare

2026-03-18 확인 기준.

  1. Website Free Plan: 무료
  2. Website Pro Plan: 월 $25 또는 연간 결제 시 월 $20
  3. Workers Free: 100,000 requests/day, Cron Trigger 5개
  4. Workers Paid: 최소 월 $5, 이후 백만 requests당 $0.30, 백만 CPU ms당 $0.02
  5. Pages Free: 월 500 builds
  6. Pages Functions는 별도 상품이 아니라 Workers 과금에 포함
  7. Cloudflare Registrar: 레지스트리 + ICANN 원가 기준, TLD마다 상이

5. GitHub Actions

2026-03-18 확인 기준.

  1. public repo의 standard runner는 무료
  2. private repo는 Free/Free for organizations 기준 월 2,000분, Pro/Team 기준 월 3,000분
  3. Linux 2-core standard runner 단가는 분당 $0.006
  4. GitHub는 job 사용 시간을 1분 단위로 올림 계산한다

6. Expo Push Service

2026-03-18 확인 기준.

  1. Expo 공식 FAQ 기준 push notification service 자체 발송 비용 없음
  2. 단, 프로젝트당 초당 600건 제한이 있다
  3. 현재 구조에서는 푸시 단가보다 push dispatch용 Edge Function 호출스케줄 실행 비용이 더 중요하다

무료 -> Pro -> 초과 과금 전환 지점

1. Supabase Free -> Pro 전환

실무적으로는 아래 중 하나가 보이면 Free를 끝내야 한다.

  1. 운영 프로젝트가 paused 되면 안 되는 시점
  2. 조직 egress가 5GB/월을 넘는 시점
  3. 조직 storage가 1GB를 넘는 시점
  4. Edge Function invocations가 500,000/월을 넘는 시점
  5. MAU가 50,000을 넘는 시점

Free 플랜에서 실제로 가장 먼저 걸릴 가능성이 큰 항목

  1. 사진 egress
  2. 운영 안정성(프로젝트 pause 불가)
  3. GitHub Actions 스케줄러가 private repo인 경우 별도 비용

2. Pro 내 포함 구간

Pro + 1개 production project 기준 기본 월 비용은 다음으로 본다.

  1. Supabase Pro: $25
  2. Project 1 Micro Compute: 약 $10
  3. Compute Credit: -$10
  4. 기본 합계: 월 $25

추가 project가 붙으면:

  1. staging 1개 추가: +약 $10/월
  2. dev/staging 2개 추가: +약 $20/월

prod + staging를 모두 paid org에서 Micro로 유지하면 대략 월 $35 수준으로 본다.

3. Pro 초과 과금 전환점

항목포함량초과 시작점초과 단가
MAU100,000100,001$0.00325 / user
Egress250GB uncached + 250GB cached각 250GB 초과$0.09 / GB uncached, $0.03 / GB cached
Storage100GB100GB 초과$0.021 / GB-month
Edge Functions2,000,0002,000,001$2 / million
DB Disk프로젝트당 8GB8GB 초과$0.125 / GB-month

비용 구간이 바뀌는 실제 임계점

1. 사진 저장 용량

가정:

  1. 파트너 1개 전체 사진 세트 = 2.72MB

임계점:

  1. Supabase Free 1GB 도달: 약 376개 파트너
  2. Supabase Pro 100GB 도달: 약 37,647개 파트너

해석:

  1. 현재 구조에서 storage size는 Free 탈출 원인이 될 수는 있어도, Pro 이후 첫 번째 폭탄은 아니다.
  2. Pro 이후에는 저장 용량보다 egress가 훨씬 먼저 터질 가능성이 높다.

2. 사진 egress

egress는 현재 구조에서 가장 먼저 커질 가능성이 높은 비용이다. 이하 계산은 보수적으로 uncached egress 기준으로 본다.

가정:

  1. thumb 1회 로드 = 120KB
  2. detail 1회 로드 = 650KB

임계점:

  1. Free 5GB는 thumb 약 43,690회, detail 약 8,066회
  2. Pro 250GB는 thumb 약 2,184,533회, detail 약 403,298회

월 사용자당 이미지 소비량별 임계 MAU:

사용자당 월 이미지 egressFree 5GBPro 250GB
5MB약 1,024 MAU약 51,200 MAU
15MB약 341 MAU약 17,067 MAU
30MB약 171 MAU약 8,533 MAU

해석:

  1. consumer 트래픽이 붙는 순간 Free는 사실상 불가능하다.
  2. Pro에서도 사용자당 월 15~30MB만 써도 8.5k~17k MAU에서 egress overage가 시작될 수 있다.
  3. 현재 아키텍처에서는 MAU overage보다 egress overage가 먼저 올 확률이 더 높다.
  4. Smart CDN 캐시 적중률이 높으면 실제 청구는 이보다 낮아질 수 있지만, 운영 계획은 uncached 기준으로 잡는 편이 안전하다.

2.1 이미지 전달 대안 비교 (Supabase direct vs Cloudflare Images vs Cloudflare R2)

아래 비교는 최대 2장 정책을 전제로 한다.

가정:

  1. 첫 번째 이미지는 thumb + detail, 두 번째 이미지는 detail만 가진다.
  2. 파트너 1개 저장량은 약 1.42MB다.
  3. detail gallery full-load 1회는 약 1.30MB, Cloudflare Images deliveries 2건, R2 Class B reads 2건으로 본다.
  4. Supabase direct는 이미지 때문에 추가로 붙는 egress overage만 계산한다.
  5. Cloudflare ImagesImages Stored + Images Delivered + Unique Transformations overage를 계산한다.
  6. Cloudflare R2는 현재처럼 thumb/detail을 미리 생성해 업로드하는 구조를 가정하고 storage + Class B reads만 계산한다.
  7. Supabase Pro 기본요금과 compute는 DB/Auth 때문에 계속 필요하므로 공통비로 보고 비교에서 제외한다.

Cloudflare 기준 무료/과금 포인트:

  1. Cloudflare ImagesUnique Transformations 5,000건/월 무료, 초과 시 1,000건당 $0.50
  2. Cloudflare Images는 저장 100,000장당 월 $5, 전달 100,000건당 $1
  3. Cloudflare R2storage 10GB, Class B reads 10M, Class A 1M까지 무료
  4. Cloudflare R2 Standard는 초과 시 storage $0.015/GB-month, Class B reads $0.36/million, egress 무료

시나리오별 비교:

시나리오파트너 수월 이미지 트래픽Supabase directCloudflare ImagesCloudflare R2
B. 1개 생활권 라이브10075GB$0약 $1.19약 $0
C. 생활권 PMF 확인300300GB약 $4.50약 $4.76약 $0
D. 도시 확장 직전1,000900GB약 $58.50약 $14.28약 $0
E. MAU 100k 돌파2,0001.8TB약 $139.50약 $29.06약 $0

해석:

  1. Supabase direct250GB 포함량 안에서는 가장 단순하고 유리하다.
  2. Cloudflare Images는 저성장 구간에서는 Supabase 포함량을 포기하고 별도 비용을 추가하는 셈이어서 불리할 수 있다.
  3. 반대로 egress overage가 커지는 900GB+ 구간부터는 Cloudflare ImagesSupabase overage보다 훨씬 저렴해질 수 있다.
  4. 현재처럼 thumb/detail을 앱에서 미리 생성하는 구조라면 비용만 놓고는 Cloudflare R2가 가장 강한 대안이다.
  5. 다만 Cloudflare R2Cloudflare Images는 둘 다 현재 Supabase Storage URL/권한 흐름을 바꾸는 마이그레이션 공수가 있다.

운영 판단:

  1. 지금 단계에서는 Supabase direct + 최대 2장이 기본값으로 가장 현실적이다.
  2. 이미지 비용 절감만 목적인 외부 이전은 Cloudflare Images보다 Cloudflare R2 + 사전 생성 variant 유지를 먼저 검토하는 편이 합리적이다.
  3. 자동 포맷 변환, 중앙 variant 관리, 커스텀 전달 규칙 가치가 커지면 그때 Cloudflare Images를 검토한다.
  4. Supabase Storage Image Transformations는 저장소를 안 바꾸는 장점은 있지만, egress 자체를 없애지 못하고 별도 transformation 과금이 있어 1순위 대안으로 보지 않는다.

3. Edge Function invocations

현재 Edge Function 목록:

  1. address-suggest
  2. address-reverse
  3. geocode-partner
  4. sms-otp-send
  5. sms-otp-verify
  6. dispatch-push-notifications

고정 호출:

  1. dispatch-push-notifications 스케줄 실행만으로 월 8,640회

임계점:

  1. Free 잔여 함수 호출 가능량: 500,000 - 8,640 = 491,360
  2. Pro 잔여 함수 호출 가능량: 2,000,000 - 8,640 = 1,991,360

해석:

  1. 함수 호출 수 자체는 생각보다 늦게 터진다.
  2. 다만 푸시 스케줄은 트래픽이 없어도 계속 함수를 먹기 때문에 고정 호출로 분리해서 봐야 한다.

4. NAVER Geocoding / Reverse Geocoding

가정:

  1. 주소 검색 1세션 = Geocoding 6건
  2. 핀 조정 1세션 = Reverse Geocoding 3건
  3. 파트너 온보딩 1세션 = Geocoding 9건 + Reverse Geocoding 3건

무료 임계점:

  1. Geocoding 무료 3,000,000건 -> 주소 검색 세션 약 500,000회
  2. Reverse 무료 3,000,000건 -> 핀 조정 세션 약 1,000,000회
  3. 파트너 온보딩 세션 기준 -> 약 333,333회

해석:

  1. 현재 코드 구조에서는 NAVER geocode 비용이 초기에 먼저 문제 될 가능성은 낮다.
  2. 이유는 파트너용 호출 비중이 크고, address-suggest30초 캐시OpenStreetMap fallback이 있기 때문이다.
  3. 단, 나중에 사용자 일반 검색을 NAVER geocode 중심으로 열면 이야기가 달라진다.

5. SOLAPI SMS OTP

가정:

  1. 사용자 1명 OTP 완료당 평균 SMS 1.2건

임계점:

월 OTP 완료 사용자 수예상 SMS 건수SOLAPI SMS 비용
1001202,160원
1,0001,20021,600원
5,0006,000108,000원
8,33310,000180,000원 -> 할인구간 시작
10,00012,000180,000원 내외 (15원/건 구간)

해석:

  1. 전화 OTP는 MAU가 작아도 바로 현금이 나간다.
  2. 특히 OTP send -> verify는 Supabase MAU보다 먼저 돈이 붙는 항목이다.
  3. 전화 OTP가 온보딩 강제라면 기술비용 중 가장 먼저 체감되는 가변비가 될 가능성이 높다.

6. GitHub Actions 스케줄러

현재 스케줄:

  1. 5분마다 1회
  2. 월 실행 횟수 약 8,640회

GitHub는 부분 분도 1분으로 올림 계산하므로, private repo에서 각 job이 10초 안에 끝나도 월 8,640분으로 잡힐 수 있다.

임계점:

  1. GitHub Free / Free for org 포함 2,000분 초과
  2. GitHub Pro / Team 포함 3,000분 초과

private repo worst-case 비용:

  1. Free 기준 초과분 6,640분 x $0.006 = 약 $39.84
  2. Pro/Team 기준 초과분 5,640분 x $0.006 = 약 $33.84

해석:

  1. 이 항목은 사용자 트래픽이 없어도 발생할 수 있는 숨은 고정비다.
  2. repo가 public이면 무료지만, private이면 현재 구조 그대로는 비용 민감도가 높다.
  3. 같은 스케줄은 Cloudflare Workers Free Cron으로 옮기면 사실상 0달러로 처리 가능하다.

7. Cloudflare Workers / Pages

현재 구조에서는 선택 항목이지만, 비용 최적화 관점에서는 중요하다.

임계점:

  1. Workers Free: 100,000 requests/day, Cron Trigger 5개
  2. 현재 푸시 스케줄 용도라면 288 requests/day, Cron 1개이므로 Workers Free에 충분히 들어간다.
  3. Pages Free: 500 builds/month

해석:

  1. GitHub Actions private repo 비용을 피하려면 Cloudflare Workers Free가 더 유리하다.
  2. 웹 채널이 정적 중심이면 Cloudflare Pages Free로도 상당 기간 유지 가능하다.
  3. business-critical 웹 보안/WAF를 올릴 때만 Website Pro 월 $25를 검토하면 된다.

성장 모멘텀별 시나리오

시나리오 A. 내부 알파 / 파트너 온보딩 검증

가정:

  1. 파트너 30개
  2. MAU 300
  3. OTP 완료 사용자 100
  4. 파트너 온보딩/수정 세션 60

비용 해석:

  1. Supabase Free 가능
  2. NAVER Geocode 무료 구간 충분
  3. SOLAPI SMS는 약 2,160원
  4. repo가 private면 GitHub Actions가 오히려 가장 비싼 항목이 될 수 있음

결론:

  1. 이 단계의 핵심 비용 리스크는 트래픽이 아니라 스케줄러OTP

시나리오 B. 1개 생활권 라이브

가정:

  1. 파트너 100개
  2. MAU 5,000
  3. 사용자당 월 이미지 egress 15MB
  4. OTP 완료 사용자 1,000

비용 해석:

  1. 이미지 egress = 약 75GB
  2. Free는 불가, Pro 포함 구간 내
  3. SOLAPI SMS = 약 21,600원
  4. MAU 과금은 아직 없음
  5. NAVER geocode 과금도 아직 없음

결론:

  1. 이 단계의 기본 구조는 Supabase Pro + SMS 소액
  2. 아직 무서운 건 MAU가 아니라 이미지 egress 증가 속도

시나리오 C. 생활권 PMF 확인

가정:

  1. 파트너 300개
  2. MAU 20,000
  3. 사용자당 월 이미지 egress 15MB
  4. OTP 완료 사용자 3,000

비용 해석:

  1. 이미지 egress = 약 300GB
  2. Supabase Pro 포함량 250GB를 넘어 50GB 초과
  3. Supabase egress overage = 약 $4.50
  4. SOLAPI SMS = 약 64,800원
  5. MAU 과금은 아직 없음

결론:

  1. 이 단계부터는 egress overage가 실제로 보이기 시작한다.
  2. 여전히 MAU보다 이미지 소비량이 비용 변화에 더 민감하다.

시나리오 D. 도시 확장 직전

가정:

  1. 파트너 1,000개
  2. MAU 60,000
  3. 사용자당 월 이미지 egress 15MB
  4. OTP 완료 사용자 10,000

비용 해석:

  1. 이미지 egress = 약 900GB
  2. Supabase egress 초과분 = 650GB
  3. Supabase egress overage = 약 $58.50
  4. SOLAPI SMS = 할인구간 반영 시 대략 180,000원 수준
  5. MAU 과금은 아직 없음

결론:

  1. 이 단계의 핵심 비용은 Supabase egress + SMS
  2. 아키텍처를 안 바꾸면 MAU 100k 전에 egress 최적화가 먼저 필요하다

시나리오 E. MAU 100k 돌파

가정:

  1. 파트너 2,000개
  2. MAU 120,000
  3. 사용자당 월 이미지 egress 15MB

비용 해석:

  1. MAU 초과분 = 20,000
  2. Supabase MAU overage = 약 $65
  3. 이미지 egress = 약 1.8TB
  4. Supabase egress 초과분 = 1.55TB
  5. Supabase egress overage = 약 $139.50

결론:

  1. MAU 초과분 자체보다 egress 초과분이 더 크게 나올 수 있다.
  2. 따라서 100k MAU 도달 전후의 핵심 기술 과제는 Auth 비용 절감이 아니라 미디어 전달 구조 변경이다.

우선순위 판단

현재 구조에서 먼저 터질 가능성이 큰 항목 순서는 아래로 본다.

  1. GitHub Actions 스케줄러의 private repo 비용
  2. SOLAPI SMS OTP
  3. Supabase 이미지 egress
  4. Supabase Pro 전환
  5. Supabase MAU overage
  6. NAVER Geocoding overage
  7. Supabase Edge Function overage
  8. Supabase Storage size / DB disk

권장 대응

지금 바로

  1. 푸시 스케줄러를 GitHub Actions에서 Cloudflare Workers Cron 또는 다른 always-on scheduler로 옮기는 것을 우선 검토한다.
  2. 전화 OTP를 필수 온보딩으로 유지할지 재검토한다.
  3. 파트너 이미지 원본/상세 이미지의 평균 실제 용량을 로그로 측정한다.

PMF 직전

  1. 이미지 egress를 월별로 추적한다.
  2. 사용자당 월 이미지 egress를 KPI처럼 본다.
  3. Naver geocode 호출 수를 기능별로 분리 집계한다.

도시 확장 전

  1. 사진 전달을 Supabase direct public URL 그대로 둘지 재검토한다.
  2. 이미지 캐싱/리사이징/CDN 분리를 검토한다.
  3. SMS OTP를 유지할 경우 발송량 할인 구간과 재전송률을 같이 본다.

핵심 결론

  1. 현재 구조에서 가장 먼저 위험해질 가능성이 큰 비용은 MAU가 아니라 이미지 egress다.
  2. 전화 OTP는 소액처럼 보이지만, 초기 단계에서 가장 빨리 붙는 현금성 가변비다.
  3. NAVER Geocoding은 무료 제공량이 커서 초기 폭탄 가능성은 낮다.
  4. GitHub Actions 5분 cron은 repo가 private일 경우 숨은 고정비가 될 수 있다.
  5. 기술비용 최적화의 1순위는 인증이나 DB가 아니라 스케줄러 구조미디어 전달 구조다.

출처

  1. Supabase Billing Overview: https://supabase.com/docs/guides/platform/billing-on-supabase
  2. Supabase Compute: https://supabase.com/docs/guides/platform/manage-your-usage/compute
  3. Supabase MAU: https://supabase.com/docs/guides/platform/manage-your-usage/monthly-active-users
  4. Supabase Storage Size: https://supabase.com/docs/guides/platform/manage-your-usage/storage-size
  5. Supabase Billing FAQ: https://supabase.com/docs/guides/platform/billing-faq
  6. NAVER CLOUD Maps Pricing: https://www.fin-ncloud.com/charge/region/ko
  7. NAVER CLOUD notice on AI NAVER API -> Maps migration: https://www.ncloud.com/support/notice/all/1930
  8. SOLAPI Messaging Pricing: https://solapi.com/msg
  9. SOLAPI Tiered Pricing: https://solapi.com/tiered-pricing
  10. Cloudflare CDN / Website Plans: https://www.cloudflare.com/en-in/application-services/products/cdn/
  11. Cloudflare Workers Pricing: https://developers.cloudflare.com/workers/platform/pricing/
  12. Cloudflare Workers Platform Pricing: https://workers.cloudflare.com/pricing
  13. Cloudflare Pages Limits: https://developers.cloudflare.com/pages/platform/limits/
  14. GitHub Actions Billing: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions
  15. GitHub Actions Runner Pricing: https://docs.github.com/en/billing/reference/actions-minute-multipliers
  16. Expo Push FAQ: https://docs.expo.dev/push-notifications/faq/