Search

KOSA AWS Developer 과정 - 팀프로젝트

Created
2025/08/01 14:16
Tags

개요

개발자로서 사실 인프라를 필요한 부분만 그때 배워서 쓰곤 했다.
다만 실무에서 인프라 담당자가 얘기하는 부분의 50%는 이해하지 못하곤 했다.
이해하지 못해도 다음 날 공부해와서 다시 제대로된 소통을 할 수 있게 됐었고, 그 과정에서 인프라에 대해 꽤나 흥미를 느끼게 된 것도 있었다.
재충전의 시간을 가지면서 관심을 가진 건 당연히 인프라에 대한 부분을 더 채워야겠다는 생각뿐이었고 DVA-C02 자격증을 따기위해 Udemy 영상을 보며 공부를 하곤 했다.
다만 이론은 이론일뿐 실제로 서비스를 써보지 않고선 실제 업무엔 도움이 안될 수 있다.
그러던 차에 보게된 공고가 이 학원에서의 실무 프로젝트, 무려 270만원의 AWS 인프라 비용을 제공한다는 것.
처음부터 모든 걸 구축해나갈 생각하니 너무 신나서 신청을 하게됐다.
중요한건 내 돈 들이지않고 모든 인프라 서비스를 써볼 수 있었다는 것

주요 방식

기본적으로 서비스를 만드는 프로젝트고 실무 경험이 있는 개발자가 나밖에 없다보니 개발 부분은 전부 담당하게 되었고, 대부분 학생과 팀을 이루게 되었으니 실무자 입장에서 자연스레 컨트롤 타워 역할을 하게 되었다.

프로젝트 개요

일단 팀이 모였을 때 모두의 목표가 일치했다. 바로 “대규모 데이터를 버티는 설계”를 해보자는 것
이번 과정은 2주간의 짧은 기간이 주어지지만 인프라에 대한 비용지원(월 최대 270만원까지 제공)이 굉장히 좋았기 때문에 원하는 서비스는 대부분 이용 할 수 있었다.
근데 대규모 서비스를 단순히 더미 데이터로 구현하기에는 한계가 있고 큰 도움이 되지 않을 것 같았다.
여전히 “채팅”이라는 도메인에 빠져있던 나는 채팅 수집 플랫폼을 만들자는 아이디어를 냈고, 그대로 채택되어 진행하게 되었다.
개인 특성상, 실무를 제외하고 대규모 인프라를 구성하고 경험하는건 굉장히 어려운데
인프라 구성부터 CI/CD, EKS 클러스터 관리, Bedrock, Kinesis 까지 다양한 서비스를 경험 할 수 있는 좋은 경험이 되었다.
인프라 구성은 회의를 통해 보완해나가며 아래와 같이 프로토 구조를 만들게 되었다.

얻은 점

EKS, Pod, Redis, RDS 클러스터링 구성(read replica), Queue를 통한 채널 관리, 비동기 관리 구조 등 굉장히 얻어가는게 많았다.
특히 Web Socket Application - Kinesis Data Stream - Kinesis Data Firehose - S3, Lambda - RDS로 이어지는 전체적인 데이터 적재 플로우 이해 할 수 있게 된게 컸고
S3 동적 파티셔닝과 그에 따른 비용 계산 등, 어렴풋이 이론으로만 알고 있던 것들이 훨씬 머릿속에 구체화되었다.
5년차 실무자 입장에서도 결코 적지 않은 배움을 얻게된 부분이었다.
사실 가난한 스타트업에 종사했던 입장으로서 저런 대규모 데이터를 다루는 서비스는 굉장히 비싸고 그만한 대규모 데이터를 다뤄볼 경험도 많지않았다.
분당 2000건 이상의 채팅 데이터가 쌓이는 걸 보고, 실제로 리소스가 어떻게 부하가 발생하는지, 어디에서 병목이 걸리는지 서비스가 어떤 장애가 발생하는지 인사이트를 얻을 수 있는 좋은 경험이 되었다. 2주라는 짧은 시간안에 프로젝트 기획, 인프라 설계, 개발, 발표까지 하느라 부하 테스트까지 할 순 없었지만 좋은 시간이었다.
아래는 이 과정을 진행하면서 정리했던 아키텍처 설계와 구체적인 개발정리 노트이며
이 과정을 통해 아래 해커톤 참가까지 이어지게 된다.