길고 길었던 약 3개월 간의 최종 프로젝트인 Munggae Project의 끝이 얼마 남지 않았습니다!
남은 기간 및 프로젝트 종료 이후까지 이제까지 달려왔던 프로젝트의 회고록을 작성해보려고 합니다.
우선 첫 번째 키워드는 바로 아키텍쳐 구성입니다.
아키텍쳐 구성에 말씀 드리기 앞서서 이번 최종 프로젝트를 간단히 설명 드리자면 다음과 같습니다.
뭉게뭉게 서비스: 디스코드와 노션의 장점을 접목한 새로운 형태의 카카오테크 부트캠프 커뮤니티 플랫폼
단순한 커뮤니티 사이트를 만드는 것이 아닌 현재 불편함을 느끼고 그것을 우리가 새롭게 만들어서 불편함을 없애는 것과 동시에 부가적인 기능을 통해서 더욱 향상된 커뮤니티를 만들어 보자라는 생각에서 시작했습니다.
그렇다면 커뮤니티 사이트를 만들고 운영할때 아키텍쳐 구성에서 중요한 점이 무엇인가? 에서 시작을 해보았습니다.
1. 커뮤니티 사이트는 24시간 언제든 어떤 상황에서도 정상적인 사이트 실행이 되어야 하고 장애 발생 시에도 무중단으로 빠르게 복구하는 시스템을 갖춰야한다.
2. 부트캠프 커뮤니티 특성에 맞춰서 사용자가 많이 접속해 트래픽이 몰리는 시간 대에도 리소스를 동적으로 확장 시키는 시스템을 갖춰야한다.
3. 시스템을 구축하고 나서 꾸준한 사이트 성능 최적화를 위한 모니터링과 로깅이 필요하다.
이 3가지를 중점적으로 생각해보았고 아키텍쳐 구성을 시작했습니다.
무중단 배포, 오토 스케일링 등의 확실한 필요성을 커뮤니티라는 키워드에서 느꼈고 전체적인 아키텍쳐 구성에 쿠버네티스 도입을 결정하게 되었습니다.
직접 인스턴스위에 쿠버네티스를 구축하는 방법과 Amazon EKS를 이용하는 방법이 있었으나
EKS는 관리형 서비스이자 쉽게 고가용성 및 확장성이 보장이 되며 프로젝트 기간이 짧다는 점에서 운영 부담이 높은 직접 구축하는 방안보다는 EKS를 활용한 아키텍쳐 구성을 선택하게 되었습니다.
(직접 아키텍쳐를 구성 해보았습니다. 상당히 쉽지 않았네요..)
구성할 때 가장 흥미로웠던 점은 backend(Spring server)가 마치 controller 역할을 담당하여 AI 서비스 들과 연결되는 구성을 실시했는데, 팀원들의 현재 가지고 있는 지식내에서 MSA 구현을 시간내에 하기엔 불가능하다고 생각했으며, AI 서비스들은 나눠서 최대한 서버의 부담을 나누는 방향으로 아키텍쳐 구성을 해보았습니다.
아키텍쳐 구성의 세세한 내용들은 다음 키워드들을 통해서 더 정리 해드리겠습니다.
감사합니다!
'munggae-cloud' 카테고리의 다른 글
Munggae Project 두 번째 키워드: CI/CD (0) | 2024.12.25 |
---|