안녕하세요 makeviibe 입니다.
외주 프로젝트에서 인프라 세팅은 단순히 “서버 하나 띄우는 일”처럼 보이지만,
실제로는 VPC, 보안 그룹, EC2, RDS, S3, 도메인, 로드밸런서 등 수많은 요소가 유기적으로 연결돼야 하는 복잡한 작업입니다.
여기서 사람이 한 번만 실수해도, 장애나 보안 문제가 발생할 수 있습니다.
그래서 저희 makeviibe 팀은 외주 프로젝트에서도 Pulumi, Terraform 같은 IaC(Infrastructure as Code) 도구를 적극 사용하고 있습니다.
✅ 왜 Pulumi / Terraform을 쓰는가?

💥 수동 인프라 세팅의 리스크
- 같은 EC2를 2번 만들면서 보안 그룹 설정이 달라짐
- 누가 언제 무슨 이유로 S3 정책을 바꿨는지 모름
- 테스트 환경에만 적용된 설정이 실서버에도 적용되어 장애 발생
- 담당자 퇴사 후 “어디에 무슨 서버가 있는지”부터 다시 파악해야 함
→ 코드로 관리하면 이런 리스크가 크게 줄어듭니다.
⚙️ makeviibe가 실제로 사용하는 구조
- Pulumi + TypeScript 기반 IaC
- GitHub에 인프라 리포 분리 (infra repo)
- PR 기반으로 모든 인프라 변경 코드 리뷰
- 변경 이력은 Git과 Slack을 통해 실시간 공유
- 환경별 스택(dev/prod 등) 구분 가능
🧩 Git과 연동하면 가능한 것들

💡 makeviibe의 실무 전략

📄 Pulumi/Terraform이 인수인계에 강한 이유
- 환경 구성 문서, IP, 포트, VPC 구조를 따로 적을 필요 없이
- → 코드가 곧 문서
- 새 팀원이 코드만 보면 전체 인프라 구성 이해 가능
- 퇴사자 인수인계에도 “코드 + 변경 내역”만 전달하면 끝
- 오류 수정도 ‘재현 불가’가 아니라 ‘코드 수정 후 다시 배포’
🧠 클라이언트에게도 중요한 이유

🏁 마무리
Pulumi나 Terraform은 단순히 “자동화”가 목적이 아닙니다.
사람의 실수 가능성을 줄이고, 명확한 이력을 남기며, 인수인계를 원활하게 만드는 것.
이게 바로 외주 프로젝트에서도 IaC를 적극 도입하는 이유입니다.
makeviibe는 짧은 프로젝트라면 그에 맞는 효율적인 방식,
장기적인 운영이 필요한 프로젝트라면 확장성과 안정성을 우선하는 방식으로
적절한 선택지를 제안드립니다.
'개발일지' 카테고리의 다른 글
| 📊 [2편] 기능 추가보다 중요한 건 ‘데이터’입니다 – 사용자 로그의 진짜 활용법 (1) | 2025.07.30 |
|---|---|
| 📌 [1편] 로그에도 두 종류가 있습니다 – ‘사용자 로그’와 ‘시스템 로그’의 차이 (0) | 2025.07.30 |
| 처음부터 서버리스? 아니요, 우리는 이렇게 확장합니다 (4) | 2025.07.25 |
| 🛡 역할 기반 권한 시스템(RBAC), 우리는 이렇게 구성합니다 (4) | 2025.07.21 |
| 🔐 인증과 인가, 실무에서 어디까지 나눠야 할까? (3) | 2025.07.18 |