피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Laravel Storage Facade 기반 Google Drive 통합으로 무제한 스토리지 구현
Laravel Google Drive Filesystem: Unlimited Cloud Storage with Familiar Syntax
AI 요약
Context
로컬 서버 디스크 용량 제한 및 AWS S3와 같은 클라우드 스토리지의 비용 증가 문제 발생. 새로운 API 학습 비용과 복잡한 SDK 통합으로 인한 개발 생산성 저하가 병목 지점으로 작용.
Technical Solution
- Laravel Storage Facade 인터페이스를 그대로 활용하는 어댑터 패턴 기반 설계
- Google Drive API를 Laravel의 파일 시스템 추상화 계층으로 통합하여 일관된 인터페이스 제공
- Storage::disk('google') 호출을 통한 기존 로컬 스토리지 로직의 무중단 마이그레이션 구현
- SDK 직접 호출 대신 Facade 문법을 유지하여 Vendor Lock-in 위험 제거 및 개발 경험 최적화
- 전용 오픈소스 패키지를 통한 Google 인프라의 확장성과 Laravel 프레임워크의 편의성 결합
Impact
- 10,000개 이상의 상품 이미지 저장 및 서빙을 통한 이커머스 플랫폼 스토리지 확장성 확보
Key Takeaway
인프라의 물리적 변경 사항을 애플리케이션의 추상화 계층(Abstraction Layer) 뒤로 숨김으로써 비즈니스 로직의 수정 없이 저장소 엔진을 교체하는 유연한 아키텍처 설계 가능.
실천 포인트
1. 저장소 교체 시 API 직접 호출 대신 프레임워크의 추상화 인터페이스 사용 여부 확인
2. 클라우드 비용 최적화를 위해 S3 외의 대체 저장소(Google Drive 등)의 API 제약 사항 검토
3. 파일 시스템 어댑터 도입을 통한 환경별(Local, Cloud) 저장소 스위칭 전략 수립