Onda2Me Front(Firebase) + Back(Cloud Run) 통합 웹서비스 구축
1. 구글 클라우드?
구글 클라우드(Google Cloud) 는 구글 인프라(컴퓨팅, 스토리지, 네트워킹, 데이터분석, 머신러닝)를 서비스 형태로 제공하여 웹사이트나 앱을 개발할 때 서비스를 조합하여 인프라를 구성하고, 코드의 빌드과정을 거쳐 고객에게 서비스를 제공할 수 있도록 개발자에게 구글에서 제공하는 클라우드 컴퓨팅 서비스 제품으로 웹/앱 애플리케이션을 기획할 때 별도의 서버 구축없이 무료 또는 유료로 구글 클라우드 서비스를 조합하여 인프라 구성이 가능하다.
2. Python 및 JavaScript가 포함된 동적 웹 애플리케이션 예시
출처: https://console.cloud.google.com/products/solutions/details/dynamic-web-app
1. 솔루션 조합 제품
2. 솔루션 구성도
3. 솔루션 요약
- 웹 클라이언트는 Firebase 호스팅에서 호스팅됩니다.
- 웹 클라이언트는 Cloud Run 서비스로 실행되고 Python으로 작성된 API 백엔드를 호출합니다.
- Python 애플리케이션의 구성 및 기타 보안 비밀이 Cloud Secrets Manager에 저장됩니다.
- PostgreSQL용 CloudSQL은 Python 애플리케이션의 관계형 데이터베이스 백엔드로 사용됩니다.
- 애플리케이션의 정적 애셋과 컨테이너 이미지는 Cloud Storage에 저장됩니다.
Google Cloud Run은 아래 그림과 같이 Springboot 동적 웹서비스도 가능하지만, Cloud Run은 빌드 -> 배포의 과정이 번거롭고, 페이지 호출 시 CPU 사용량에 따라 요금이 부과되는 유료 서비스이기에 요금 절약을 위해 Onda2Me 서비스를 Front (= Firebase)와 Back (= Cloud Run) 기능을 분리하여 재구성하였다.
- Cloud Run Springboot 웹서비스 (Front + Back)
3. Firebase + Cloud Run 통합 웹서비스
1. Onda2Me 프로젝트 구성
-
Google Cloud Service + Web API 구성
- BackEnd : Google Cloud Run + Firestore
- FrontEnd : Google Firebase
- Web API : 기상청 API 허브, 공공 데이터, Riot Games API 등 활용
-
Onda2Me 프로젝트 구성도
-
Onda2Me 메인페이지 구성도
2. Onda2Me 구글지도 연동 서비스
-
구글지도 연동 구성도
-
구글지도 연동 FrontEnd (Firebase)
-
구글지도 연동 BackEnd API (Cloud Run)
+ 참고
1. Firebase 서비스 구성법
2. Cloud Run 서비스 구성법
3. Cloud Run 빌드 및 배포 배치파일
- gbuild.bat 실행방법
rem ----------------------------
rem @gbuild.bat
rem google cloud build window batch 파일
rem gcloud builds submit --tag gcr.io/project-name/service-name:tag-name
rem ----------------------------
IF ["%1"]==[""] (
echo NO Tag : 15.map
GOTO:EOF
) else (
gcloud builds submit --tag gcr.io/onda2me/service-name:%1
)
GOTO:EOF
- gdeploy.bat 실행방법
rem ----------------------------
rem @gdeploy.bat
rem google cloud deploy window batch 파일
rem gcloud run deploy onda2me --tag gcr.io/project-name/service-name:tag-name
rem ----------------------------
IF ["%1"]==[""] (
echo NO Tag : 15.map
GOTO:EOF
) else (
gcloud run deploy onda2me --image gcr.io/onda2me/service-name:%1
)
GOTO:EOF
gdeploy.bat 15.map
댓글남기기