-
Notifications
You must be signed in to change notification settings - Fork 4
3. 기술 선택 이유
Hyeyoung Kim edited this page Feb 17, 2022
·
2 revisions
- 스프링 부트는 많은 설정을 기본적으로 갖추고 있고 Apache Tomcat이 내장되어 있습니다.
- 스프링 Data JPA는 JPA를 더 쉽고 편하게 사용할 수 있게 해줍니다.
- 스프링 시큐리티는 보안과 관련된 많은 옵션을 제공하므로 일일이 보안 관련 로직을 작성하지 않아도 됩니다.
- JWT는 서버가 토큰을 발급하고 보내주면, 토큰이 클라이언트에 저장되기 때문에, 확장성이 좋습니다.
또한, 토큰 기반 인증 방식은 다양한 도메인에 관리하기가 쉽습니다.
- API 검증하고 자동으로 문서화하기 위해 사용했습니다.
- 오픈 소스 라이센스를 따르기 때문에 무료로 사용할 수 있어서 사용했습니다.
- 정형화된 데이터 구조를 사용하기 위해 사용했습니다.
- 프로젝트 형상 관리를 위해 선택했습니다.
- Milestone, Projects kan-ban board, branch, issue, PR를 사용하여 코드 리뷰, Merge를 진행했습니다.
- CI/CD 파이프라인을 구축하여 제대로 작동하는 소프트웨어를 자주 빠르게 배포하기 위해 사용했습니다.
- S3와 CloudFront로 구성하였습니다.
- S3의 정적인 웹호스팅 기능을 사용하여, 정적인 컨텐츠에 간단하고 유연하게 접근해주었고,
- Cloud Front를 통해, 웹 컨텐츠를 사용자와 가까운 곳에 전송함으로, 전송속도를 높여주었습니다.
- Gabia DNS를 사용하여, 프론트엔드 프로덕트 서버와 백엔드 프로덕트 서버의 API 통신이 되게 설정해주었습니다.
- AWS Certificate Manager는 SSL 인증서를 받기 위해 사용해주었고,
- AWS WAF를 통해, 웹의 비정상적인 트래픽을 탐지하고 차단하기 위해 사용해주었는데,
SQL Injection 차단 서비스를 설정해주어 보안을 강화시킬 수 있었습니다.
- ElasticBeanstalk로 백엔드 아키텍처를 구성하였습니다.
EB는 간단한 옵션만 조절하여, EC2와 ELB와 환경변수 값을 한번에 관리할 수 있습니다. - EB는 웹 애플리케이션을 배포하기 위해 사용했고 RDS를 연동시켜주었습니다.
- Docker는 빠르고 가볍게 동일한 개발환경을 구축하기 위해 사용했습니다.
- 또한, AWS ECR는 Container Registry로써, EB에 Docker 이미지를 배포하기 위해 사용했습니다.
-
TIL 작성을 잊지 않도록 알람 Message 제공하는 API
를 많은 사용자에게 제공하고 싶었습니다.
SNS 서비스로 가장 많이 사용하고 있는 Kakao API를 선택했습니다.