Expo EAS 비용 구조와 절약 전략
Expo Application Services(EAS)는 React Native 앱을 빌드, 제출, 업데이트하는 과정을 단순하게 만들어줍니다. 하지만 팀 규모와 빌드 빈도에 따라 비용 구조를 이해하고 써야 합니다.
EAS가 제공하는 것
EAS는 크게 세 가지 영역에서 도움을 줍니다.
- EAS Build: iOS/Android 앱 빌드
- EAS Submit: App Store와 Google Play 제출 자동화
- EAS Update: OTA 업데이트 배포
직접 네이티브 빌드 환경을 구성하지 않아도 클라우드에서 빌드할 수 있다는 점이 큰 장점입니다.
비용이 발생하는 지점
EAS 비용은 보통 다음 요소와 관련됩니다.
- 월 구독 플랜
- 빌드 크레딧 또는 빌드 사용량
- 동시 빌드 수
- OTA 업데이트 MAU
- 대역폭과 저장소 사용량
앱을 자주 빌드하거나 여러 고객 앱을 운영한다면 무료 플랜만으로는 부족할 수 있습니다.
비용을 줄이는 방법
1. 로컬 빌드 활용
가능한 경우 로컬 빌드를 활용하면 클라우드 빌드 사용량을 줄일 수 있습니다. 다만 iOS는 macOS와 인증서 관리가 필요하므로 팀 환경에 맞춰 판단해야 합니다.
2. 빌드 빈도 줄이기
네이티브 변경이 없는 수정은 OTA 업데이트로 처리하고, 실제 네이티브 빌드는 묶어서 진행하면 비용을 줄일 수 있습니다.
3. 프로필 분리
development, preview, production 프로필을 나누면 불필요한 production 빌드를 줄일 수 있습니다.
4. 자동화 범위 조절
모든 브랜치에서 빌드를 돌리기보다, 태그나 release 브랜치 기준으로 빌드하도록 CI를 설계하는 것이 좋습니다.
자체 빌드와 EAS의 균형
비용만 보면 자체 빌드가 유리할 수 있지만, 인증서, 키, 빌드 환경, 제출 자동화까지 직접 관리해야 합니다.
작은 팀에서는 일정 수준까지 EAS를 활용하고, 빌드 빈도가 늘어날 때 자체 빌드 또는 하이브리드 전략을 검토하는 방식이 현실적입니다.
듀오랩스가 보는 관점
EAS는 비용이 아니라 운영 시간을 줄이는 도구로 봐야 합니다. 앱이 적고 빌드 빈도가 낮다면 편의성이 더 중요하고, 앱 수와 배포 빈도가 늘어나면 비용 최적화 전략이 필요합니다.
함께 읽기
- 모바일 앱 스토어 배포 자동화를 설계할 때 볼 것들모바일 앱 배포는 빌드 파일을 만드는 것에서 끝나지 않습니다. 인증서, 서명 키, 스토어 메타데이터, 심사 정보, 버전 관리, 제출 자동화까지 함께 설계해야 반복 가능한 배포가 됩니다.
- 여러 고객 앱을 운영할 때 계정과 서명 키를 분리하는 방법React Native와 Expo로 여러 고객 앱을 개발·배포한다면 계정, 비용, 서명 키, 스토어 권한을 어떻게 나눌지 초기에 정해야 합니다. 이 구조를 잘못 잡으면 나중에 소유권 이전, 업데이트, 보안 관리가 복잡해집니다.
- React Native와 Expo에서 OTA 업데이트를 이해하는 방법OTA(Over-The-Air) 업데이트는 앱 스토어 심사를 거치지 않고 설치된 앱의 JavaScript 코드와 에셋을 갱신하는 방식입니다. React Native와 Expo 환경에서는 빠른 버그 수정과 작은 기능 개선에 매우 유용합니다.
- Expo 앱은 만들었는데 출시가 안 됩니다: `eas build`보다 먼저 준비할 것들Expo를 사용하면 네이티브 빌드 과정이 크게 단순해집니다. 하지만 앱스토어 출시까지 명령어 한두 줄로 끝나는 것은 아닙니다. 실제 자동 배포를 만들려면 앱 등록, 서명 자격 증명, 스토어 API 권한, CI/CD 승인 절차가 먼저 준비되어야 합니다.
- Watchman은 React Native 개발에서 왜 필요할까React Native나 Expo로 개발하다 보면 코드를 고쳤는데 앱에 바로 반영되지 않는 경우가 있습니다. 이때 원인 중 하나가 파일 변경 감시 도구인 Watchman 문제일 수 있습니다.