Cloud로 IT 워크로드를 수용할 때 가장 기본적으로 구성하게 되는 아키텍처는 웹 호스팅 형태일 것입니다.
즉, 'Web - App. - DB' 서버로 구성되는 3-Tier 웹 애플리케이션 아키텍처 입니다.
Cloud 기반의 아키테처 구성 시 고려할 요인이 많이 있겠지만, 가용성과 확장성을 고려한 '웹 호스팅 환경 구성(웹 애플리케이션)' 사례를 찾아 보았습니다.
ㅇ 기존(Non-Cloud)의 웹 호스팅 구성 사례
- 내/외부 방화벽(물리 혹은 소프트웨어)으로 보안을 보장
- 웹/앱 로드밸런서(물리 혹은 소프트웨어)를 통해 부하를 분산
- 다수의 서버를 로드밸런서 하위에 구성하여 가용성을 보장
-> 하지만, 정적인 워크로드 예측에 기반하여 인프라를 준비함으로 확장성을 효율적으로 고려하기 어려움
-> 즉, 불확실한 수요에 과잉 대응하거나, 과소 대응할 수 밖에 없음
ㅇ 클라우드 기반의 웹 호스팅 환경 구성
- 웹 애플리케이션 아키텍처는 가장 많이 활용되는 사례이므로, 거의 모든 CSP 사들이 참조 레퍼런스를 제공하고 있는 것 같습니다.
- 공통된 특징
. CSP에서 제공하는 로드밸런서를 통해 웹 티어의 부하를 분산
. 애플리케이션 서버 부하 분산은 소프트웨어 기반 로드밸런서(예를들어 haproxy)로 구성할 것을 권고
. 웹/앱 서버들의 가용영역(zone)을 분리하여 가용성을 높임(가용영역 단위 장애에 대응)
. 웹/앱 서버들을 오토스케일링 그룹으로 구성하여 부하기반의 확장성을 고려함
-> 평소, 필요한 만큼만 워크로드를 유지하고, 부하 발생시 즉시 확장 가능하도록 대응
. DB 서버에 대해서도 복수 가용영역을 활용하여 장애에 대응
1) AWS 사례
2) Azure 사례
3) KT Cloud 사례
그리고 요즘 트렌드에 부합하는 '웹 애플리케이션 아키텍처'에 대한 사례도 소개해 봅니다.
ㅇAWS사례: 마이크로서비스 아키텍처를 고려하여, Container/Serverless 기반으로 워크로드를 처리할 수 있도록 설계한 사례
#참고 자료1. AWS
d0.awsstatic.com/whitepapers/International/ko/AWS_Web_Hosting_Best_Practices_05252010.pdf
www.haproxy.com/blog/haproxy-amazon-aws-best-practices-part-1/
HAProxy on AWS: Best Practices Part 1 - HAProxy Technologies
In this blog post we'll demonstrate how to use HAProxy in combination with Amazon Elastic Load Balancing (ELB) and Amazon Application Load Balancer (ALB).
www.haproxy.com
#참고자료2. Azure
확장 가능한 웹 애플리케이션 - Azure Reference Architectures
이 참조 아키텍처의 검증 된 사례를 사용 하 여 Azure App Service 웹 응용 프로그램의 확장성 및 성능을 향상 시킬 수 있습니다.
docs.microsoft.com
#참고자료3. KT Cloud
cloud.kt.com/product/computing/auto-scaling/
Computing - Auto Scaling
[KT Cloud 발표 영상] 국내 DaaS 시장 현황 및 코로나19 환경에서 업무혁신 전략
cloud.kt.com
#참고자료4. Modern Web App
imranarshad.com/modern-architecture-with-fargate/
https://imranarshad.com/modern-architecture-with-fargate/
imranarshad.com
'Tech-Cloud' 카테고리의 다른 글
나의 첫 서버리스(Serverless) 체험기 (1) | 2021.08.06 |
---|---|
Cloud 기반의 고가용성 아키텍처 #1 - DB 구성하기 (0) | 2021.03.23 |
Amazon에서 AWS가 가지는 의미,존재감 (0) | 2021.03.15 |
AWS Solution Architect (0) | 2021.02.23 |
MS Azure - Telco를 위한 Cloud 제안(경쟁인가 협력인가?) (0) | 2021.02.17 |
댓글