본문 바로가기

Windows Azure

Architecture

Architecture

( http://www.windowsazure.com/en-us/develop/net/architecture/ )

 

Windows Azure 에서 공통적인 디자인 패턴 구현과 어플리케이션을 어떻게 디자인하는지를 알아봅니다.

 

Application architecture

 

Fail-Safe: Guidance for Resilient Cloud Architectures

 

이 아티클은 신뢰성 있는 시스템과 유연한 디자인을 위한 아키텍처를 고려하기 위한 것에 초점이 맞춰져있습니다.
이것은 아래의 내용들에 대한 자세한 가이드를 제공합니다.

 

+ 응용 프로그램 Workload 분해
+ 라이프사이클 모델 구축
+ 가용성 모델을 구축하고 계획
+ 장애 모드와 장애 지점을 식별
+ 탄력성 패턴과 탄력성 고려 사항 확인
+ 운영을 위한 디자인

 

Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services

 

이 심층적 인 문서는 윈도우 Azure 및 SQL 데이터베이스에 대량으로 확장 가능한 응용 프로그램을
구축하는 방법에 대해 실제 고객 시나리오를 기반으로 지침을 제공합니다.

 

[ Design patterns: Data ]

 

Command Query Responsibility Segregation (CQRS)

 

Command Query Responsibility Segregation (CQRS) 패턴은 구분된 서비스에서 데이터베이스 읽기와
쓰기 명령을 구분하는 높은 수준의 패턴입니다. 패턴에서 동작은 작업 명령 또는 쿼리 중 하나여야 합니다.
쿼리는 데이터를 반환하고 객체의 상태를 변경하지는 않습니다. 명령은 객체의 상태를 변경하고 데이터를 반환하지는 않습니다. 이것의 장점은 당신의 시스템 상태 변화에 대해 무엇을 하고 무엇을 하지 않는지를 보다 잘 이해하는데 도움이 됩니다.

 

연관된 아티클

 

+ CQRS Journey (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/jj554200 )

 

[ Design patterns: Fault tolerance ]

 

일시적인 오류 처리 ( Transient error handling )

 

일시적인 오류는 네트워크 연결 문제 또는 서비스 가용불가의 일부 임시 상태 때문에 발생하는 오류입니다.
일반적으로, 일시적인 오류가 발생한 작업을 잠시 후에 다시 시도하면 오류가 사라진것을 알게됩니다.
일시적인 오류 처리 응용 프로그램 블록은 SQL 데이터베이스 , 서비스 버스 또는 Windows Azure 저장소를
사용할 때 발생할 수 있는 일시적인 오류에 대한 정보를 포함합니다.

 

연관된 아티클

 

+ Transient Fault Handling Application Block (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/hh680934(PandP.50).aspx )
+ Retry Logic for Transient Failures in SQL Database
( http://social.technet.microsoft.com/wiki/contents/articles/4235.retry-logic-for-transient-failures-in-windows-azure-sql-database-en-us.aspx )
+ Handling transient communication errors in Service Bus brokered messaging
( http://msdn.microsoft.com/en-us/library/windowsazure/hh851746.aspx )

 

데이터베이스 조절을 관리 ( Managing database throttling )

 

SQL 데이터베이스는 공유 리소스에 대해 대규모 멀티 터넌트 데이터 베이스 서비스를 제공합니다.
SQL 데이터 베이스는 모든 고객들에게 좋은 경험을 제공하기 위해 때때로 작업을 제어하거나 또는
머신이 과부하 되는 것을 방지하기 위해 연결을 종료합니다. 귀하의 응용 프로그램이 부정적인 조절에 의해
영향을 받지 않도록 하는데 사용할 수 있는 여러가지 방법이 있습니다.

 

연관된 아티클

 

+ Windows Azure SQL Database Connection Management
( http://social.technet.microsoft.com/wiki/contents/articles/1541.windows-azure-sql-database-connection-management.aspx )
+ Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services: Shared resources and throttling
( http://msdn.microsoft.com/en-us/library/windowsazure/jj717232.aspx )

 

[ Design patterns: Scaling ]

 

Autoscaling

 

Windows Azure 클라우드 서비스 응용 프로그램의 장점 중 하나는 쉽게 응용 프로그램의 사용 변경으로
개별 구성 요소를 확장할 수 있다는 것입니다. Windows Azure 를 위한 Microsoft Enterprise Library 5.0
통합팩에서  Autoscaling 응용 프로그램 블록은 자동으로 클라우드 서비스를 확장할수 있는 도구를 제공합니다.
지정된 대상과 임계 값을 위한 조정을 하기 위해 자동으로 어플리케이션의 스케일을 조절할 수 있는
규칙을 작성 후 어플리케이션의 성능을 이해하기 위해 성능 카운터를 사용할 수 있습니다.

 

연관된 아티클

 

+ The Autoscaling Application Block (Patterns & Practices)
( http://msdn.microsoft.com/en-us/library/hh680892(v=PandP.50).aspx )

[ Design patterns: State ]

 

[ Design patterns: State ]

 

캐싱에 상태 정보를 저장 ( Store state information in caching )

 

Stateless 어플리케이션은 견고한 저장소에서 캐시된 상태와 검색이 필요합니다.
예를 들어, ASP.NET 쿠키는 상태를 저장하는데 사용할 수 있습니다.
이러한 쿠키는 모든 웹 롤 인스턴스에 대해 전 세계적으로 이용할 수 있는
캐싱에 저장할 수 있습니다.

 

연관된 아티클

 

+ How to: Store ASP.NET session state in the cache
( http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/#store-session )