2026-01-08
1일 1아티클
강남언니
Multi-Tenancy
정의
- 하나의 소프트웨어 인스턴스가 여러 사용자 그룹(테넌트)에게 서비스를 제공하는 소프트웨어 아키텍처
- 각 테넌트는 데이터와 설정을 공유하지 않고 자신만의 독립된 환경처럼 시스템 사용
k8s 적용 구조
- common service : 유저 관리, 메타정보 관리 등 공통 서비스
- tenant service : 각 tenant에게 고유하게 할당되는 서비스 (템플릿 서비스가 있고, tenant 추가될때마다 그 템플릿을 찍어내어 새롭게 공간 할당해주는 느낌)
k8s Manifest 관리
- kustomize, Argo CD, gomplate(manifest yaml file 생성 방식), etc.
DB 관리 전략
- 각 tenant별 DB 클러스터 부여 관리 (초기 비용 많음)
- 통합 DB 이용 → 격리된 DB에 데이터 마이그레이션 가능하면서, 데이터 스미카에 변화가 적도록 하는 최적의 도구 필요 → NoSQL 기반 MongoDB 채택
멀티버전 서비스
- 파트너들마다 니즈 다름 → 같은 서비스여도 파트너별로 다른 버전 제공 필요
- service image들에 대해 semantic version 관리 전략 채택
- 해당 version의 image는 git tag 참조한 image build 및 deploy
오늘 배운 것
- AI 공용 명세서
- 아이디어 회의 및 취합
- AI 미니 프로젝트
내일 할 일
- AI 공용 명세서 (con.)
- 아이디어 회의 (con.)