개요
회사에서 사용하지 못하는 기술 스택을 사용해보고 익혀보고, 데브옵스와 PM이라는 역할을 실습을 통해 경험해보기 위하여 퇴근 후 시간 및 주말에 사이드 프로젝트를 진행.
공부와 경험을 위한 사이트 프로젝트인 만큼 운영 비용을 최소화하고 운영에 있어 범용성이 높은 기술 스택을 사용하는 것을 목표로 진행.
- 프로젝트의 주제
알약을 촬영하여 식별 정보를 추출한 뒤 알약의 정보를 검색하는 애플리케이션
형상 관리 및 코드 통합
- github를 통해 레포지터리를 생성하여 코드 형상을 관리
- 레포지터리는 organization 소유로 생성
- github action을 통해 apk/aab (안드로이드), ipa (iOS) 파일을 빌드하여 코드 통합을 수행
- 버전 관리 규칙 (시맨틱 버저닝)을 정의하여 버전 관리
- github action에서 package.json을 참조하도록 하여 일정한 버저닝이 되도록 설정
서버 운영
- Google Cloud Platform에 서버리스 서비스를 운영
- 클라이언트에서 호출할 때만 비용이 발생하는 구조이기 때문에 가장 저렴하게 API 운용이 가능
- 사용자의 기기에 저장되는 애플리케이션 특성 상 수시로 빌드가 어렵기 때문에 외부 API 호출이 필요한 경우 서버리스 서비스를 리버스 프록시 서버로 운영
- 리소스 파일 다운로드의 경우 Cloud Flare의 R2 storage를 이용하여 애플리케이션에서 리소스 파일을 받을 수 있도록 처리
협업
- github에 organization을 생성하여 팀원들을 관리
- 레포지터리 별로 이슈 관리
- organization에 Project를 생성하여 담당자 별 칸반보드를 두어 팀원 각자가 본인이 한눈에 담당한 이슈를 관리할 수 있도록 정리
- 문서 레포지터리를 두고 마크다운으로 작성하여 워크플로우, 추상화, 규칙 등을 정리
- 긴급한 이슈 공유 및 상시 소통은 카카오톡 단체 채팅방으로 진행
- 회의의 경우 게더타운을 이용
- 무제한으로 음성으로 회의와 화면 공유가 가능
- 게더타운 외에 완전 무료인 디스코드도 괜찮은 선택일 것으로 보임
시크릿 파일 관리
- Private 구글 드라이브를 생성하여 팀원들에게만 공유
- 각 서비스들이 필요한 환경변수 파일이나 토큰 등의 시크릿 파일을 관리
- CI 시 필요한 시크릿은 github action 설정의 시크릿을 이용
결과
- Github를 통해 효과적으로 코드 관리와 통합 및 협업을 수행
- 서버리스와 Cloud Flare의 서비스를 통해 서버 운영비를 획기적으로 절약
- 서비스 공식 운영 전 월 0~100원 수준의 비용 발생
- 게더타운을 통해 무료로, 무제한으로 회의를 진행하여 원거리에 있는 팀원과 원활한 소통 진행
'Development > Project' 카테고리의 다른 글
25년 상반기 회고 (2) | 2025.06.24 |
---|---|
mermaid 똑똑하게 활용하기 (0) | 2025.02.02 |
일 잘하는 PM이 가지고 있는 역량 (0) | 2025.02.02 |
24년 하반기 회고 (0) | 2024.12.25 |
Kubernetes Korea Community Day 2024 참가 후기 (4) | 2024.09.28 |