안녕하세요. 상일입니다.
이제 데브레인 오픈이 한주 앞으로 다가왔습니다. 시간이 참 빠르네요 하하..
이번 주는 데브레인 아키텍처 구성을 알려드리겠습니다.
우선, 제가 아키텍처를 구성해 본 것은 처음이었는데요.. AWS를 사용해 본 것도 처음이었습니다..
의욕에 자료를 찾아보면서 앞서 만들어 보긴 했는데 사실 잘 구성했는지는 저도 의문입니다
(첨언해 주시면 고수분들의 의견을 적극 수렴하겠습니다)
웹 애플리케이션은 React로 개발했으며 AWS S3 버킷을 사용하고 API 서버는 Java/Spring으로 개발되었고 AWS EC2 인스턴스를 사용합니다.
프런트엔드는 CloudFront를 통해 CDN 서비스를 사용해 S3의 파일들을 캐싱하고 있습니다.
백엔드는 RDS DB서버와 S3 파일서버가 각각 연결되어 데이터를 저장하고 있습니다.
서버는 테스트를 위한 스테이징 서버와 운영을 위한 운영서버로 구성했습니다.
스테이징 서버는 운영서버로 배포되기 전에 먼저 배포되어 테스트를 진행할 수 있는 환경입니다.
`develop` 브랜치는 스테이징 서버에 `master`브랜치는 운영서버에 각각 배포되도록 설정되어 있습니다.
또, 배포 자동화를 위한 파이프라인을 구축했습니다.
Github Actions와 AWS CodeDeploy를 통해 구축했고 코드가 Push 되는 브랜치에 따라 각각 설정된 서버로 자동으로 CI / CD가 동작하게 됩니다.
비용을 절감하기 위해 스테이징 서버에는 프런트엔드와 백엔드를 모두 하나의 서버를 사용해 테스트를 진행할 수 있도록 구축했습니다.
그리고 모든 PR에는 테스트가 동작하게 만들어 코드 리뷰 시 코드에 집중할 수 있는 환경을 만들었답니다. 자동화된 테스트에서 PASS가 뜬다면 코드의 기능에는 이상이 없다는 뜻이니 코드에 집중할 수 있겠죠??
이상, 간단하게 제가 구축한 아키텍처에 대해 알려드렸습니다.
모두 5월 16일 오픈 날 뵐 수 있었으면 좋겠습니다!!
'일상' 카테고리의 다른 글
KensingtonWorks 디바이스 인식 해결 (0) | 2021.07.29 |
---|---|
깃허브 꾸미기 (0) | 2021.03.30 |
Mac (0) | 2021.03.29 |