클라우드 애플리케이션의 모범 사례
이러한 모범 사례는 클라우드에서 안정적이고 확장 가능하며 안전한 애플리케이션을 빌드하는 데 도움이 될 수 있습니다. 효율적이고 강력한 시스템, 메커니즘 및 접근 방식을 설계하고 구현하기 위한 지침과 팁을 제공합니다. Azure 서비스에서 사용할 수 있는 코드 예제도 많이 포함되어 있습니다. 이러한 사례는 호스트가 Azure이든 다른 클라우드 플랫폼이든 관계없이 모든 분산 시스템에 적용됩니다.
사례 카탈로그
이 표에는 다양한 모범 사례가 나와 있습니다. 관련 중요 요소 열에는 연습에 중점을 두고 있는 Microsoft Azure Well-Architected Framework의 중요 요소들이 포함되어 있습니다.
연습 | 요약 | 관련 핵심 요소 |
---|---|---|
API 디자인 | 표준 프로토콜 및 합의된 데이터 형식을 사용하여 플랫폼 독립성을 지원하도록 웹 API를 디자인합니다. 클라이언트가 수정 없이 기능을 검색할 수 있도록 서비스 진화를 촉진합니다. 부분 응답을 지원하고 데이터를 필터링하고 페이지를 매길 수 있는 방법을 제공하여 응답 시간을 개선하고 일시적인 오류를 방지합니다. | 성능 효율성, 운영 우수성 |
API 구현 | 효율적이고, 응답성이 뛰어나고, 확장 가능하고, 사용 가능하도록 웹 API를 구현합니다. 작업을 idempotent로 만들고 콘텐츠 협상을 지원하며 HTTP 사양을 따릅니다. 예외를 처리하고 리소스 검색을 지원합니다. 대규모 요청을 처리하고 네트워크 트래픽을 최소화하는 방법을 제공합니다. | 운영 우수성 |
자동 크기 조정 | 성능 요구 사항을 충족하고 비용을 최소화하기 위해 리소스를 동적으로 할당 및 할당 해제하도록 앱을 디자인합니다. Azure Monitor의 자동 크기 조정 기능과 많은 Azure 구성 요소들이 제공하는 기본 제공 자동 크기 조정을 활용하세요. | 성능 효율성, 비용 최적화 |
백그라운드 작업 | 일괄 처리 작업, 처리 태스크 및 워크플로를 백그라운드 작업으로 구현합니다. Azure 플랫폼 서비스를 사용하여 이러한 작업을 호스트합니다. 이벤트 또는 일정을 사용하여 작업을 트리거하고 호출 태스크에 결과를 반환합니다. | 운영 우수성 |
캐싱 | 앱에 가까운 빠른 스토리지에 데이터를 복사하여 성능을 향상시킵니다. 자주 읽지만 거의 수정하지 않는 데이터를 캐시합니다. 데이터 만료 및 동시성을 관리합니다. 캐시를 채우고 Azure Cache for Redis 서비스를 사용하는 방법을 알아보세요. | 성능 효율성 |
콘텐츠 배달 네트워크 | CDN(콘텐츠 배달 네트워크)을 사용하여 사용자에게 웹 콘텐츠를 효율적으로 제공하고 웹앱의 부하를 줄입니다. 배포, 버전 관리, 보안 및 복원력 문제를 극복합니다. | 성능 효율성 |
데이터 분할 | 데이터를 분할하여 확장성, 가용성 및 성능을 개선하고 경합 및 데이터 스토리지 비용을 줄입니다. 효율적인 방법으로 수평, 수직 및 기능 분할을 사용합니다. | 성능 효율성, 비용 최적화 |
데이터 분할 전략(서비스별) | Azure SQL Database |
성능 효율성, 비용 최적화 |
호스트 이름 보존 | 역방향 프록시와 백 엔드 웹 애플리케이션 간에 원래 HTTP 호스트 이름을 유지하는 것이 중요한 이유와 가장 일반적인 Azure 서비스에 대해 이 권장 사항을 구현하는 방법을 알아봅니다. | 안정성 |
메시지 인코딩 고려 사항 | 비동기 메시지를 사용하여 시스템 구성 요소 간에 정보를 교환합니다. 데이터에 가장 적합한 페이로드 구조, 인코딩 형식 및 serialization 라이브러리를 선택합니다. | 보안 |
모니터링 및 진단 | 모니터링 및 진단 파이프라인을 사용하여 시스템 상태, 사용량 및 성능을 추적합니다. 모니터링 데이터를 다양한 상황에서 도움이 되는 경고, 보고서 및 트리거로 전환합니다. 예를 들어 문제 검색 및 수정, 잠재적인 문제 발견, 성능 보장 충족 및 감사 요구 사항 충족 등이 있습니다. | 운영 우수성 |
특정 서비스에 대한 다시 시도 지침 | Azure 서비스 및 클라이언트 SDK에서 제공하는 재시도 메커니즘을 사용, 조정 및 확장합니다. 연결, 작업 및 리소스와 관련된 임시 문제를 관리하기 위한 체계적이고 강력한 접근 방식을 개발합니다. | 안정성 |
일시적인 오류 처리 | 사용할 수 없는 네트워크 또는 리소스로 인한 일시적인 오류를 처리합니다. 적절한 재시도 전략을 개발할 때의 과제를 극복합니다. 재시도 코드 및 기타 안티패턴 계층을 복제하지 마세요. | 안정성 |
다음 단계
관련 리소스
- 클라우드 디자인 패턴
- Microsoft Azure Well-Architected Framework