개요
일단 채팅 서비스를 구현한다고 가정했을 때 상황에 따른 아키텍쳐를 고려해보자. 어떤 구조를 통해서 구현할 것인가?!
너무 성능을 높일 기대를 해서 시작을 늦추는 것 보다는 우선 구현 후 문제를 하나하나 풀어가는 식으로 구현에 일단 초점을 맞춰보자.
아키텍처 선택
AWS 의API Gateway (Websocket API) 와 lambda 구성으로 아키텍쳐를 구현할 생각이다 (참고). 이유는 일단 백엔드의 아키텍처 및 퍼포먼스에 너무 집중을 하기에는 개발 리소스가 너무 적다는 점. 그래서 스케일에 대한 고민을 최대한 덜 수 있는 구조를 선택하고 싶었다. 그리고 서비스 초기에 사용자가 사용하지도 않는 서비스에 요금을 내는 것에 대한 부담이 있어서 온 디멘드 요금이 매력적으로 느껴지기도 했다. 그리고 확인해보니 비용이 그리 비싸지도 않기도 했고!
CI / CD
AWS 의 gateway + lambda 로 구성된 서비스라 Serverless 를 통해서 배포 자동화를 편하게 구축할 수 있을 것 같다.
Front
처음부터 예쁘게 만들 자신이 없었기에 UI 라이브러리를 사용하기로 결심. Semantic UI 라이브러리를 사용할 것. 이유는 별 이유 없이 제공되는 컴포넌트가 깔끔하고 예뻐보였다.