Azure 애플리케이션 아키텍처 가이드

이 가이드는 확장성, 보안, 복원력이 있고 가용성이 뛰어난 Azure에서 애플리케이션을 디자인하기 위한 체계적인 방식을 제시합니다. 고객의 참여를 통해 확보한 검증된 사례를 기반으로 합니다.

소개

클라우드는 애플리케이션 디자인 및 보안 방식을 변화시키고 있습니다. 애플리케이션은 거대한 단일 프로그램에서 보다 작은 분산형 서비스로 분해되고 있습니다. 이러한 서비스는 API나 비동기 메시징 또는 이벤트를 통해 통신합니다. 애플리케이션은 수평 확장되어 수요가 있을 때 새로운 인스턴스를 추가합니다.

이러한 추세는 새로운 도전을 불러옵니다. 애플리케이션 상태가 배포됩니다. 작업은 병렬 및 비동기식으로 수행됩니다. 장애가 발생할 경우 애플리케이션에 복원력이 있어야 합니다. 악의적인 행위자는 지속적으로 애플리케이션을 노리고 있습니다. 배포는 자동화되고 예측이 가능해야 합니다. 모니터링 및 원격 분석은 시스템에 대한 통찰력을 확보하는 데 매우 중요합니다. 이 가이드는 이러한 변화를 탐색하는 데 도움이 되도록 작성되었습니다.

기존의 온-프레미스최신 클라우드
모놀리식
예측 가능한 확장성을 위한 디자인
관계형 데이터베이스
동기화된 처리
장애 방지를 위한 디자인(MTBF)
간헐적인 대량 업데이트
수동 관리
Snowflake 서버
분해됨
탄력적 확장을 위해 설계됨
다각적인 지속성(스토리지 기술의 혼합)
비동기 처리
장애 대비 디자인(MTTR)
빈번한 소규모 업데이트
자동화된 자체 관리
변경이 불가능한 인프라

이 가이드의 구조

Azure 애플리케이션 아키텍처 가이드는 아키텍처와 디자인에서 구현에 이르는 일련의 단계로 구성되어 있습니다. 각 단계마다 애플리케이션 아키텍처 설계에 도움이 되는 부연 지침이 있습니다.

이 가이드의 구조를 보여주는 다이어그램이며, 이 문서의 섹션이 흐름 다이어그램으로 표시됩니다.

아키텍처 스타일

첫 번째 의사 결정이 가장 근본적인 지점입니다. 어떤 아키텍처를 구축하시겠습니까? 마이크로 서비스 아키텍처, 전통적인 n 계층 애플리케이션 또는 빅 데이터 솔루션 등을 생각할 수 있습니다. 아키텍처 스타일에는 뚜렷이 구분되는 여러 개가 있습니다. 여기에는 각각 이점과 어려운 점이 있습니다.

자세한 정보: 아키텍처 스타일

기술 선택

현재 빌드 중인 아키텍처의 유형을 알고 나면 아키텍처의 주요 기술 요소를 선택할 수 있습니다. 다음과 같은 기술 선택이 중요합니다.

  • 컴퓨팅 은 애플리케이션이 실행되는 컴퓨팅 리소스의 호스팅 모델을 말합니다. 자세한 내용은 컴퓨팅 서비스 선택을 참조하세요.

  • 데이터 저장소 는 데이터베이스뿐만 아니라 메시지 큐, 캐시, 로그 및 애플리케이션이 스토리지에 유지할 수 있는 모든 것을 포함합니다. 자세한 내용은 데이터 저장소 선택을 참조하세요.

  • 메시징 기술은 시스템 구성 요소 간에 비동기 메시지를 사용하도록 설정합니다. 자세한 내용은 메시징 서비스 선택을 참조하세요.

이 경우 추가 기술을 선택해야 할 수 있지만 이 세 가지 요소(컴퓨팅, 데이터 및 메시징)는 대부분의 클라우드 애플리케이션의 핵심이며 디자인의 많은 측면을 결정합니다.

아키텍처 설계

아키텍처 스타일 및 주요 기술 구성 요소를 선택했다면 애플리케이션의 특정 디자인을 다룰 준비가 된 것입니다. 모든 애플리케이션은 다르지만 다음과 같은 리소스를 참고하면 도움이 될 수 있습니다.

참조 아키텍처

시나리오에 따라 참조 아키텍처 중 하나가 좋은 출발점이 될 수 있습니다. 각 참조 아키텍처는 확장성, 가용성, 보안, 탄력성 및 기타 디자인 측면에 대한 고려 사항과 함께 권장 방법을 포함하고 있습니다. 대부분 배포 가능한 솔루션 또는 참조 구현도 포함됩니다.

디자인 원칙

애플리케이션의 확장성, 복원력 및 관리성을 높이는 10가지 기본 디자인 원칙을 확인했습니다. 이러한 디자인 원칙은 모든 아키텍처 스타일에 적용됩니다. 디자인 프로세스 전반에서 10가지 기본 설계 원칙을 염두에 둘 필요가 있습니다. 자세한 내용은 디자인 원칙을 참조하세요.

디자인 패턴

소프트웨어 디자인 패턴은 특정 문제를 해결하는 것으로 입증된 반복 가능한 패턴입니다. 클라우드 디자인 패턴 카탈로그는 분산 시스템의 특정 과제를 다룹니다. 가용성, 고가용성, 운영 효율성, 복원력, 성능 및 보안과 같은 측면을 다룹니다. 디자인 패턴 카탈로그는 여기에서 찾을 수 있습니다.

모범 사례

모범 사례 문서에서는 API 디자인, 자동 크기 조정, 데이터 분할, 캐싱 등을 비롯한 다양한 디자인 고려 사항을 다룹니다. 이를 검토하고 애플리케이션에 적합한 모범 사례를 적용하세요.

보안 모범 사례

보안 모범 사례는 애플리케이션의 기밀성, 무결성 및 가용성이 악의적인 행위자에 의해 훼손되지 않도록 하는 방법을 설명합니다.

품질 핵심 요소

성공적인 클라우드 애플리케이션은 다음과 같은 다섯 가지의 소프트웨어 품질 요소에 중점을 둡니다. 즉, 비용 최적화, 운영 효율성, 성능 효율성, 안정성 및 보안입니다.

Microsoft Azure Well-Architected Framework를 활용하여 이러한 5가지 핵심 요소에서 아키텍처를 평가합니다.

다음 단계