국비학원 졸업 프로젝트 AWS EKS 기반 물류 관리 자동화 구축
Description: 국비학원 졸업 프로젝트로 4명이서 2개월간 작업하면서 겪고 배운점을 기록한 글입니다. 특히 팀원을 부드럽게 설득하기위한 협상안과 모두를 납득시키기위한 객관적인 지표의 중요성을 배웠습니다.
현재 노트: KR-120.00 국비학원 졸업 프로젝트 AWS EKS 기반 물류 관리 자동화 구축
상위 분류: KR-120 팀프로젝트
프로젝트 소개
이 프로젝트는 인프라와 클라우드 환경에서 CI/CD 파이프라인을 구축하는 것을 목표로 진행되었습니다. 특히 애플리케이션 개발보다는 CI/CD의 구현과 안정적인 배포 자동화가 핵심 과제였습니다. 국비학원 졸업 프로젝트로, 팀원 4명과 함께 협력하여 수행했습니다.
기간: 2022.05~2022.07
참여 인원: 4명
프로젝트내 본인 역할
- CI/CD 파이프라인 구축: GitHub Webhook을 활용하여 코드 푸시 시 Jenkins가 자동 호출되도록 설정.
- 배포 자동화 구현: Jenkinsfile과 Dockerfile을 작성하여 CI/CD 프로세스 전반을 구성.
- EKS 클러스터 구축: Kubernetes 기반의 EKS 환경을 설정하여 애플리케이션 배포 및 관리.
프로젝트중 겪은 어려움과 해결법
- 팀원 설득 및 조율: 서로 납득할 만한 협상안 제시하기
- 프로젝트 초기에 한 팀원이 실제 DB 데이터를 기반으로 mockup 검증을 해야 한다는 의견을 강하게 주장하며 기술적 구현에만 치중한 상황이 있었습니다. 그러나 프로젝트의 핵심 목표는 자동화였으며, 마감 기한이 정해져 있었기에 해당 팀원의 의견을 일부 수용하되 적절한 타협안을 제시했습니다.
"일정 기간 내 검증이 불가능할 경우, 실제 DB 데이터 대신 간단한 5개 이하의 데이터를 사용한다"는 방안을 제안했고, 팀원이 이를 받아들여 원만하게 기한 내에 목표를 완수할 수 있었습니다. 이를 통해 효율적인 조율과 협상의 중요성을 깨달았습니다.
- 팀 의견을 하나로 모으기: 로그 활용으로 객관적 근거 제시
프로젝트 막바지에 EKS 클러스터가 예상치 못하게 동작하지 않는 문제가 발생했습니다. 팀원들과 함께 문제를 해결하고자 여러 의견을 나눴으나 원인을 파악하는 데 어려움을 겪었습니다.
이 과정에서 Kubernetes 로그를 통해 클러스터의 CPU 자원이 부족하다는 메시지를 발견했고, 이를 통해 테스트 환경의 EC2 스펙이 달랐음을 알아냈습니다. 이후 EC2의 사양을 조정하여 문제를 해결했고, 로그와 같은 객관적 지표가 팀의 의견을 모으고 문제를 해결하는 데 큰 역할을 했음을 배웠습니다.
결론 및 배운 점
이 프로젝트를 통해 팀원과의 원활한 소통과 협상 능력을 키울 수 있었습니다. 특히, 기술적 의견 차이를 조율할 때 현실적인 대안을 제시함으로써 목표 지향적 협상안 도출의 중요성을 배웠습니다.
또한, 로그와 같은 객관적 지표를 활용하여 문제 해결 방향성을 명확히 제시함으로써 팀원들의 신뢰를 얻고 효율적으로 문제를 해결할 수 있었습니다.
PPT 내부의 이미지 발췌