Jaa


모범 사례 : Windows Azure 웹 사이트 (WAWS)

모범 사례: 윈도우 애저 웹 사이트 (WAWS)

이 게시물은 2월 10일에 게시된 Best Practices: Windows Azure Websites (WAWS) 번역입니다.

편집 참고: 이번에는 Windows Azure 웹 사이트 팀에서 프로그램 관리자를 맡고 있는 Sunitha Muthukrishna에 의한 기사를 소개합니다.

윈도우 애저 웹 사이트 (WAWS, 영어) 을 사용하여 고도로 확장 가능한 웹 사이트를 윈도우 애저에서 생성할 수 있습니다. WAWS의 주요 장점은 다음과 같습니다.

  • 효과적인 자원 활용 :  사용자 수의 증가에 따라 응용 프로그램의 사용도 증가합니다. 웹 사이트의 트래픽 패턴을 기반으로 사전에 조정할 수 있습니다.
  • 사용량기준의 과금제 : 비용은 클라우스 서비스를 선택함에있어 주요 요소입니다. 애저 웹 사이트 사용량에 따라 요금 체계 (종량제, 6 개월 또는 12 개월 플랜)을 선택할 수 있습니다. 자세한 내용은 윈도우 애저 웹 사이트 요금 정보 페이지를 참조 하십시오.
  • 시장에 빠른출시 : 이제 인프라가 아닌 응용 프로그램 개발에 집중할 수 있습니다. 그 어느 때 보다 개발자의 창의력과 생산성을 높이는 것에 시간을 소요할 수 있고 응용 프로그램 출시 기간을 단축할 수 있습니다.

 

모범사례

이 모범 사례는 윈도우 애저 웹 사이트 인프라를 효과적으로 활용하고 최종 사용자에게 성능과 안정적인 웹 사이트를 배포하는데 도움이 됩니다

 

확장가능한아키텍처구축

윈도우 애저 웹 사이트는 애저 환경에서 확장 가능한 솔루션을 구축할 수 있지만, 서비스에서 제공하는 확장 가능한 인프라로 웹 사이트를 최대한 활용하기 위해서는 신중을 기해야 합니다.

확장 가능한 솔루션은 다음을 고려해야 합니다.

1. 아키텍처의 병목구간은 사이트의 응답 시간을 크게 하는 원인이 될 수 있습니다. 따라서 현행 아키텍처 주요 병목 상태를 조사해야 합니다. 병목구간은 응용 프로그램의 설계 불량 또는 대역폭 제한 등 여러 가지 이유로 발생합니다. 이를 해결 하기 위해 응용 프로그램 아키텍처 리팩토링을 수행합니다.

2. 일반 부하에 가장 적합한 구성을 찾기위해 다양한 규모의 조직 (인스턴스의 크기와 수의 조합)에서 웹 사이트의 부하 테스트를 실행합니다. 부하 테스트를 실행하려면 비주얼 스튜디오 또는 아파치 Jmeter (영어) 등 다양한 도구를 사용할 수 있습니다.

3. 웹 분석 도구를 사용하여 웹 사이트의 트래픽 패턴 및 초당 평균 요청 수 등을 조사합니다.

4. 뜻하지 않은 트래픽 증가가 발생하는 경우에 대비해 자동 배율 조정을 설정합니다. 자세한 내용은 「웹 사이트를 조정하는 방법 (영어)」의 문서를 참조하십시오.

5. 응용 프로그램의 데이터베이스 계층을 사용하는 경우 애저 캐싱 서비스 등 분산 캐시 솔루션을 통합하여 성능을 향상시킵니다.

고가용성을 위한 내구성아키텍처디자인

WAWS에서는 높은 수준의 서비스 수준 계약 (SLA - 영어) 를 제공하지만, 업무의 연속성을 고려해 볼때 클라우드 솔루션을 사용하는 동안 서비스 오류가 발생할 수 있는 위험이 존재하고 이를 완화하는 방법을 아는 것이 상당히 중요합니다.

다음은 장애 완화를 위해 꼭 알아야 하는 솔루션입니다.

  • 윈도우 애저 SDK를 사용하거나 Cloud Cellar (영어) 와 같은 타사 서비스를 사용하여 컨덴츠를 보호하는 자동화된 백업 및 복구 전략이 필요합니다.
  • 두 개 이상의 데이터센터 웹 사이트의 중복 복사본을 설치하고 수신된  트래픽 로드를 데이터 센터에 분산합니다.
  • 데이터 센터에서 오류가 발생시 자동 장애 조치가 가능하게 Global Traffic Manager  기능을 설치합니다.
  • 웹 사이트와 함께 CDN 서비스를 설치하고 콘텐츠 캐싱을 통해 성능을 향상 시키는 동시에 웹 사이트 가용성도 향상시킵니다.
  • 가능하다면, WAWS에서 운영하는 웹 사이트와 긴밀하게 작동하는 구성 요소 및 서비스의 종속성을 제거합니다.

예를 들어, 데이터베이스를 사용하는 웹 사이트는 어떤 이유로 인해 데이터베이스 서비스가 일시적으로 중지하고 아키텍처의 한 곳에서 오류가 발생합니다. 데이터베이스는 가장 중요한 아키텍처적 구성 요소이기 때문에  제외할 수 없습니다. 이러한 경우 다음과 같은 대책이 있습니다.

 - 여러 데이터 센터에 복제된 데이터베이스 간에 데이터를 동기화하여 재해의 영향을 줄일 수 있습니다.

 - 재해 발생 시 내구성을 고려하여 응용 프로그램을 디자인합니다.

종속 구성 요소를 사용해야 하는 경우, 견고성을 높이기 위해 복제 라는 전략을 사용합니다.

  • 클라우드로 이동하기 전에 예기치 않은 재해 발생에 대비한 위험 완화 전략을 수립합니다.
  • 스테이징 환경을 만들어 장애 발생시 웹사이트가 어떻게 동작하는지에 대한 장애 발생 현상을 시뮬레이션 합니다.

 

인프라자동화

웹 사이트를 원활히  유지하기 위해서 개발 및 배포 등 클라우드 솔루션에 관련된 다양한 작업을 수행해야 합니다. 이 작업을 자동화하여 응용 프로그램의 릴리스 주기 관리를 용이하게 합니다. WAWS 기능은 모든 WAWS REST API에서 액세스할 수 있으므로 쉽게 자동화할 수 있습니다.

웹 사이트 관리의 중요한 작업에는 다음과 같은 것이 있습니다.

 

  • 웹사이트배포

배포하는 경우Web Deploy (영어),Git (영어), FTP와 같은 다양한 방법을 사용할 수 있습니다. 사용자의 마음에 있던 도구를 Windows Azure SDK 에 내장하여 웹 사이트에 콘텐츠 배포를 쉽게 자동화할 수 있습니다.

 

  • 테스트 사이트를사용하여 테스트

WAWS는 테스트 게시를 지원합니다. 이 기능에서는 업데이트를 고객에게 제공하는 웹 사이트에 적용하기 전에, 테스트 버전의 웹 사이트에 배포하여 프로덕션 환경에서 테스트를 수행할 수 있습니다. 자세한 내용은 「윈도우 애저 웹 사이트에서 테스트 배포(영어)」을 참조하십시오.

 

  • 진단로깅사용

WAWS는 응용 프로그램 디버깅을 돕기위해 진단 기능이 내장되어 있습니다. 진단 기능을 사용하려면 다음 두 가지가 있습니다.

  • 사이트 진단 : 자세한 오류 로깅, 실패 한 요청 추적 및 웹 서버 로그 기록이 가능합니다.
  • 응용 진단 : 웹 응용 프로그램에서 생성된 정보를 검색할 수 있습니다.

자세한 내용은 「윈도우 애저 웹 사이트의 진단 로깅 사용 (영어)」을 참조하십시오.

 

  • 감시기능사용

WAWS는 관리자 페이지에서 모니터링 기능을 사용할 수 있습니다. 이 페이지에서는 CPU 시간, HTTP 클라이언트 오류 HTTP 서버 오류 등 다양한 지표에 대한 경고를 설정하고 웹 사이트를 지속적으로 모니터링할 수 있습니다. 자세한 내용은 「윈도우 애저 웹 사이트를 모니터링하는 방법 (영어)」을 참조하십시오.

 

  • 보안

WAWS 플랫폼은 보안 및 안정성에 대한 주요 산업 표준을 준수하여 고객에게 안전한 플랫폼을 제공하고 있습니다. 그러나 응용 프로그램에 취약점이 있는 경우 아키텍처는 공격을 받을 위험이 있습니다.

WAWS에서 안전한 솔루션을 구축하기 위해서는 응용 프로그램을 만들 때 외부공격에 대응 가능한 보안 코딩 방법을 따라야 합니다. 자세한 내용은 「 안전한 코드를 작성하는 방법 (영어)」을 참조하십시오.

 

참고정보

Windows Azure 웹 사이트 자습서 (영어)

Windows Azure 트래픽 관리자 (영어)

Windows Azure의 문서

Web Deploy API 사용 방법 (영어)

Windows Azure의 보안 및 규정 준수에 대 한 개요