기본적인 클라우드 기반 웹 애플리케이션 설계
Analysis
고객사는 온라인 교육 플랫폼을 운영하는 스타트업으로 , 다양한 분야의 인터넷 강의를 제공하며, 강의 저장 및 스트리밍을 위한 설계가 필요한 상황입니다. 또한 시험기간에 트래픽이 몰리는 경향이 있으므로 이에 따른 대비와 인터넷 강의 동영상 및 과제 제출물을 저장하고 관리하는 스토리지 시스템이 요구됩니다.
Architecture Blueprint

- 고객사의 규모에 맞게 서로 다른 두 가용영역에 일반적인 3-tier 아키텍쳐를 채택합니다.
- 서버의 기능에 따라 Auto-Scaling 그룹을 구성합니다.
- 수강생의 요청트래픽은 DNSPod의 라우팅을 거쳐 Anti-DDos를 통과하여 클렌징 과정을 거칩니다.
- 첫 번째 CLB에 의해 분산된 로드는 CVM에 도달하여 static 강의컨텐츠에 대한 요청을 처리하고 두 번째 로드밸런서를 통과하여 WAS 그룹에서 데이터베이스와 통신합니다. (고객사에서 RDBMS를 선호함에 따라 TencentDB for MySQL를 사용)
- 수강과정에서 발생하는 수강생의 과제 제출물은 CFS로 관리하고, 생성되는 시스템로그와 파일들은 COS에 저장합니다.
- 수강생의 COS를 통한 컨텐츠 제공 시 CDN 혹은 EdgeOne로 캐싱하여. 빠르고 안정적인 접근성을 보장합니다.
Overall
본 Tencent cloud 아키텍쳐는 고객사의 비지니스 초기 단계에서부터 장기적인 성장까지 다양한 시나리오를 고려하도록 설계되었습니다. 초기에는 보수적으로 시작하여 시스템과 사용자 기반의 성장에 따라 점진적으로 확장하는 전략을 채택합니다. 이 방식으로 비용 효율성을 유지하면서 사용자 경험을 최적화할 수 있습니다.
Products we used
- CVM : https://www.tencentcloud.com/products/cvm
- EdgeOne : https://www.tencentcloud.com/products/teo
- DNSPod : https://www.dnspod.com/ - Anto-DDos : https://www.tencentcloud.com/products/ddos-pro
- CLB : https://www.tencentcloud.com/products/clb
- Auto-Scaling : https://www.tencentcloud.com/products/as
- TencentDB for MySQL : https://www.tencentcloud.com/products/cdb