프론트엔드, 백엔드 | 프론트엔드, 백엔드 |
---|---|
루비 | 줄리 |
여행은 바쁘고 지친 일상 생활에서 벗어나 잠시 쉼표를 찍을 수 있게 해주고, 중요한 게 무엇인지를 깨닫게 해줄 때가 있습니다. 또한 여행으로 사랑하는 가족, 친구들과 추억을 쌓을 수 있고, 영감을 얻을 수 있습니다.
여행 중에 혹은 여행이 끝난 다음 여러분은 무엇을 하셨나요? 인상깊었던 여행지나 맛집 사진, 동영상을 올리거나 다른 사람들과 공유하지 않으셨나요? 사진이나 영상을 올렸다면, 혹은 내 경험을 공유했다면, 왜 그 행동을 하셨나요?
우리는 모두 자신의 경험이나 이야기를 다른 사람들과 나누고자 하는 욕망이 있습니다. 그리고 본질적으로는 다른 사람들과 연결되고자 하는 욕망이 있습니다.
바로 여기, 여행자들을 연결해주는 소셜 플랫폼, 트렌드 가자
가 있습니다.
그렇다면 트렌드 가자의 기능들을 살펴볼까요?
Framework | 선정 이유 |
---|---|
Spring Boot | Spring과 비교했을 때 환경 설정을 쉽게 할 수 있어서 개발 생산성 증가 |
MySQL | 구조화된 데이터 관리 및 오픈 소스 라이센스를 따르기 때문에 무료 사용 가능 |
MyBatis | 복잡한 쿼리 작성 시 Spring Data JPA보다 적합함. 쿼리를 작성하므로 직관적이라 문제가 발생 시 더 빨리 파악 가능 |
AWS EC2 | 추후 데이터 처리량 증가에 대비해 높은 안정성 및 확장성을 가진 EC2를 선택 |
NGNIX | 어떤 클라이언트도 내부 서버와 직접 통신하지 못 하게 하기 위해 reverse proxy 서버로 사용. 또한, 가벼우면서도 높은 성능을 가지고 있어서 선택 |
Amazon RDS | EC2 free-tier를 사용해서 사양을 고려했을 때 데이터베이스를 따로 분리하는 게 낫다고 판단 |
S3 | 업로드한 이미지 저장, 정적 리소스 파일 서빙용으로 사용 |
CloudFront | S3는 데이터를 보관하는 서비스인만큼 보안이 중요. S3를 퍼블릭으로 공개하지 않으면서 퍼블릭하게 접근할 수 있도록 하기 위해 사용 |
Github Actions | Jenkins와 비교했을 때 관리 측면에서 이점이 있어서 시간 및 리소스 비용 절감. 배포 작업이 많지 않아서 GitHub-hosted runners 사용 |