개발자
안녕하세요. 현재 자그마한 B2B 솔루션 회사에서 운 좋게 SaaS 프로젝트에 참가하게된 2년차 주니어 엔지니어입니다. 현재로써는 운영 아키텍처가 정해지지 않은 상태이고, EKS 기반의 퍼블릭 개발환경에서 CI/CD 및 메인 서비스에 대한 PoC를 진행하는 중에 있는데요,, 프로덕션으로 들어간다고 하면 Git과 같은 레포지토리 서버는 당연히 EKS 클러스터가 위치한 Private VPC에 구성되어야 하는게 맞는걸까요? ex) VPC Peering을 활용한 운영환경 <-> 개발환경 간의 분리, VPN G/W 활용...등 혹, 위 언급드린 방식이 올바른 경우라면 소스 커밋과 같은 작업들은 개발자들이 어떤 식으로 수행하는지 궁금합니다. 그 외로 SaaS <-> 레거시 개발환경과의 큰 차이가 존재하는 부분에 대해 언급을 주신다면 정말 감사하겠습니다:)
답변 1
안녕하세요. 슈퍼코딩에서 커리큘럼을 설계하고 있는 CL입니다. 먼저, 2년차 엔지니어로 SaaS 프로젝트의 인프라 레벨을 직접 고민하고 있다는 점에서 정말 인상 깊고 반가운 질문이었습니다. 지금 고민하고 계신 방향이 아주 정확합니다. 질문 중심으로 핵심만 간결하게 나눠볼게요. --- 1. Git 리포지토리 서버는 Private VPC에 구성되어야 하나요? > 결론: 일반적으로는 아닙니다. SaaS 환경에서는 대부분 GitHub, GitLab Cloud, Bitbucket Cloud 등 퍼블릭한 SaaS Git 서비스가 CI/CD의 트리거 포인트로 사용됩니다. 즉, Git 자체는 Private VPC 안에 두기보다는 외부에서 접근 가능한 위치에 두는 게 일반적입니다. 다만 코드 자체를 외부에 절대 공개할 수 없는 보안 수준의 SaaS라면 기업 내 GitLab Self-hosted 인스턴스를 구축해 Private VPC 내에 구성 + VPN 또는 Bastion Host를 통해 접근하는 방식도 고려됩니다. → 핵심은 Git 서버의 보안 정책과 조직의 접근 통제 기준에 따라 달라집니다. --- 2. Private 환경에서 개발자들이 소스 커밋은 어떻게 하나요? > 대표적으로 다음 방식이 사용됩니다. - Bastion Host + SSH Tunneling → 개발자는 Bastion을 통해 내부 Git 서버에 접근 가능 → Git remote 설정 시 SSH 주소 사용 - VPN Gateway → 사내 망 접속 후, 내부망에서 Git 커밋 및 Push 수행 - GitLab CI or GitHub Enterprise + Agent 연결 → 사내망에 Git Agent를 설치해서 외부 Git 요청은 Agent가 실행 보통 내부망 Git 서버를 사용하는 경우는 이런 구조를 통해 커밋이 이뤄지고, ArgoCD/FluxCD 같은 GitOps 도구는 내부 Agent로 쿠버네티스와 연동됩니다. --- 3. SaaS 환경과 레거시 환경의 차이? 아주 좋은 포인트를 짚으셨고, 다음 3가지가 가장 큰 차이입니다. A. Immutable Infrastructure SaaS는 기반 구조를 매번 재배포 가능하게 만들고, 환경에 의존하지 않는 구성이 필수입니다. (IaC, Helm, Kustomize 등 필수) B. 자동화 기반 운영(DevOps 필수) 레거시 환경이 수동 배포나 로컬 기반에 머문다면, SaaS는 GitOps, CI/CD, 모니터링, 로깅, 오토스케일링이 기본 내장됩니다. C. 멀티 테넌시 고려 레거시는 1 고객 1 배포가 대부분이었다면, SaaS는 구조상 1 플랫폼 → N 고객 운영을 위한 테넌시 설계 (DB, 로그, 설정 분리 등)까지 요구됩니다. --- - Git은 퍼블릭이 일반적, 하지만 보안 요건에 따라 Private도 가능 - Private Git 접근은 Bastion/VPN/Agent 구조로 해결 - SaaS는 아키텍처/배포/운영의 ‘자동화와 분리’가 생존조건 지금처럼 인프라 구조를 미리 고민하고 계신다면, 곧 아키텍처 설계자로 자연스럽게 성장하실 수 있을 겁니다. 응원합니다. 읽어주셔서 감사합니다. — CL@Supercoding Curriculum Lead @Supercoding | Helping You Navigate Career Shifts
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!