분산 아키텍처 패턴

Last reviewed 2023-12-14 UTC

비하이브리드 또는 비멀티 클라우드 컴퓨팅 환경에서 하이브리드 또는 멀티 클라우드 아키텍처를 마이그레이션하는 경우 먼저 기존 애플리케이션 제약조건과 이러한 제약조건이 애플리케이션 실패의 원인이 되는 방법을 고려합니다. 애플리케이션이나 애플리케이션 구성요소가 서로 다른 환경에 분산된 방식으로 작동하면 이 고려사항이 더욱 중요해 집니다. 제약조건을 고려한 후 방지하거나 극복할 계획을 세웁니다. 분산형 아키텍처에서 각 컴퓨팅 환경의 고유한 기능을 고려해야 합니다.

설계 고려사항

다음과 같은 설계 고려사항이 분산형 배포 패턴에 적용됩니다. 대상 솔루션과 비즈니스 목표에 따라 각 고려사항의 우선순위와 효과가 달라질 수 있습니다.

지연 시간

서로 다른 컴퓨팅 환경에서 애플리케이션 구성요소(프런트엔드, 백엔드 또는 마이크로서비스)을 배포하는 아키텍처 패턴에서 통신 지연 시간이 발생할 수 있습니다. 이 지연 시간은 하이브리드 네트워크 연결(Cloud VPN 및 Cloud Interconnect)과 온프레미스 사이트와 클라우드 리전 간 또는 멀티 클라우드 설정에서 클라우드 리전 간의 지역적 거리에 의해 영향을 받습니다. 따라서 애플리케이션의 지연 시간 요구사항과 네트워크 지연에 대한 민감도를 평가해야 합니다. 지연 시간을 허용할 수 있는 애플리케이션은 하이브리드 또는 멀티 클라우드 환경의 초기 분산형 배포에 더 적합합니다.

임시 상태 아키텍처와 최종 상태 아키텍처 비교

기대와 비용, 규모, 성능에 대한 잠재적 영향을 지정하려면 계획 단계의 일부로 필요한 아키텍처 유형과 의도된 기간을 분석해야 합니다. 예를 들어 하이브리드 또는 멀티 클라우드 아키텍처를 장시간 또는 영구적으로 사용하려면 Cloud Interconnect를 사용하는 것이 좋을 수 있습니다. 아웃바운드 데이터 전송 비용이 줄어들고 하이브리드 연결 네트워크 성능이 최적화되도록 Cloud Interconnect는 할인된 데이터 전송 요율 조건을 충족하는 아웃바운드 데이터 전송 요금을 할인합니다.

안정성

신뢰성은 IT 시스템 설계 시 중요 고려사항입니다. 업타임 가용성은 시스템 신뢰성에 있어 필수적인 관점입니다. Google Cloud에서는 전환 기능을 통해 단일 리전 내 여러 영역 또는 여러 리전에 애플리케이션 중복 구성요소를 배포하여 애플리케이션 복원력을 높일 수 있습니다. 중복성은 애플리케이션의 전체 가용성을 향상시키기 위한 핵심 요소 중 하나입니다. 하이브리드 및 멀티 클라우드 환경에서 분산된 설정을 사용하는 애플리케이션의 경우 일관된 가용성 수준을 유지하는 것이 중요합니다.

온프레미스 환경이나 다른 클라우드 환경에서 시스템 가용성을 향상시키려면 장애 조치 메커니즘과 함께 애플리케이션과 해당 구성요소에 필요한 하드웨어 또는 소프트웨어 중복성을 고려합니다. 이상적으로는 모든 환경의 다양한 구성요소와 지원 인프라(하이브리드 연결 가용성 포함)에서 서비스나 애플리케이션의 가용성을 고려해야 합니다. 이 개념을 애플리케이션 또는 서비스의 복합 가용성이라고도 합니다.

애플리케이션의 복합 가용성은 구성요소 또는 서비스 간의 종속 항목에 따라 개별 서비스나 구성요소보다 높거나 낮을 수 있습니다. 자세한 내용은 복합 가용성: 클라우드 인프라의 전체 가용성 계산을 참조하세요.

원하는 시스템 신뢰성 수준을 달성하려면 명확한 신뢰성 측정항목을 정의하고 다양한 환경에서 자가 복구되고 중단을 효과적으로 견딜 수 있는 애플리케이션을 설계합니다. 서비스의 고객 경험을 측정하는 적절한 방법을 정의하려면 신뢰성 목표 정의를 참조하세요.

하이브리드 및 멀티 클라우드 연결

분산 애플리케이션 구성요소 간의 통신 요구사항은 하이브리드 네트워크 연결 옵션 선택에 영향을 줄 수 있습니다. 각 연결 옵션에는 장점과 단점뿐만 아니라 비용, 트래픽 볼륨, 보안 등과 같이 고려해야 할 특정 요인이 있습니다. 자세한 내용은 연결 설계 고려사항 섹션을 참조하세요.

관리 효율성

일관되고 통합된 관리 및 모니터링 도구는 워크로드 이식성 유무에 관계없이 성공적인 하이브리드 및 멀티 클라우드 설정의 핵심입니다. 단기적으로 이러한 도구를 사용하면 개발, 테스트, 운영 비용이 추가될 수 있습니다. 기술적으로는 사용하는 클라우드 제공업체가 많을수록 환경 관리가 더 복잡해집니다. 대부분의 퍼블릭 클라우드 공급업체에는 여러 기능이 있을 뿐만 아니라 클라우드 서비스 관리를 위한 다양한 도구, SLA, API도 있습니다. 따라서 잠재적인 단기 복잡성 및 장기적인 이점과 선택한 아키텍처의 전략적 이점을 비교해보세요.

비용

멀티 클라우드 환경의 클라우드 서비스 제공업체마다 고유한 청구 측정항목과 도구가 있습니다. 더욱 우수한 가시성과 통합 대시보드를 제공하려면 멀티 클라우드 비용 관리와 최적화 도구를 사용하는 것이 좋습니다. 예를 들어 여러 클라우드 환경에서 클라우드 중심 솔루션을 빌드할 경우 각 제공업체의 제품, 가격 책정, 할인, 관리 도구로 인해 이러한 환경 간의 비용이 일치하지 않습니다.

클라우드 리소스의 전체 비용을 계산하고 비용 가시성을 제공하는 잘 정의된 방법 하나를 사용하는 것이 좋습니다. 비용 최적화에는 비용 가시성이 필수적입니다. 예를 들어 클라우드 제공업체의 결제 데이터를 결합하고 Google Cloud Looker Cloud 비용 관리 블록을 사용하면 멀티 클라우드 비용에 대한 중앙 집중식 뷰를 만들 수 있습니다. 이 뷰는 여러 클라우드에 걸쳐 지출된 비용에 대한 통합된 보고서 보기를 제공합니다. 자세한 내용은 Cloud Billing 비용 관리를 효과적으로 최적화하기 위한 전략을 참조하세요.

또한 비용을 확인하기 위한 FinOps 사례를 사용하는 것이 좋습니다. 중앙 팀은 강력한 FinOps 사례의 일환으로 개별 책임성을 장려하기 위해 리소스 최적화에 대한 의사결정 권한을 프로젝트에 관련된 다른 팀에 위임할 수 있습니다. 이 모델에서는 중앙 팀이 프로세스, 보고, 비용 최적화 도구를 표준화해야 합니다. 고려해야 할 다양한 비용 최적화 측면과 권장사항에 대한 자세한 내용은 Google Cloud 아키텍처 프레임워크: 비용 최적화를 참조하세요.

데이터 이동

데이터 이동은 특히 분산형 시스템의 경우 하이브리드 및 멀티 클라우드 전략과 아키텍처 계획에서 중요한 고려사항입니다. 기업은 다양한 비즈니스 사용 사례, 비즈니스를 지원하는 데이터, (규제 대상 산업용) 데이터 분류 방법을 파악해야 합니다. 또한 여러 환경에서 분산형 시스템의 데이터 스토리지, 공유, 액세스가 애플리케이션 성능과 데이터 일관성에 미치는 영향을 고려해야 합니다. 이러한 요인은 애플리케이션과 데이터 파이프라인 아키텍처에 영향을 미칠 수 있습니다. Google Cloud의 포괄적인 데이터 이동 옵션 세트를 사용하면 기업에서 단순성, 효율성 또는 성능 저하 없이 특정 니즈를 충족하고 하이브리드 및 멀티 클라우드 아키텍처를 채택할 수 있습니다.

보안

애플리케이션을 클라우드로 마이그레이션할 경우 일관성, 관측 가능성, 통합 보안 가시성과 같은 클라우드 중심 보안 기능을 고려해야 합니다. 퍼블릭 클라우드 제공업체마다 보안에 대한 고유한 방식, 권장사항, 기능이 있습니다. 표준적인 기능적 보안 아키텍처를 빌드하려면 이러한 기능을 분석하고 조정해야 합니다. 강력한 IAM 제어, 데이터 암호화, 취약점 스캔, 산업 규정 준수도 클라우드 보안의 중요한 측면입니다.

마이그레이션 전략을 계획할 때 앞에서 언급한 고려사항을 분석하는 것이 좋습니다. 애플리케이션 또는 트래픽 볼륨이 증가할 때 복잡성이 아키텍처에 발생할 가능성을 최소화하는 데 도움이 될 수 있습니다. 또한 시작 영역 설계 및 빌드는 클라우드 환경에서 엔터프라이즈 워크로드를 배포하기 위한 전제 조건입니다. 시작 영역은 기업이 여러 영역에서 클라우드 서비스를 더욱 안전하게 배포, 사용, 확장하는 데 도움이 되며 여기에는 ID, 리소스 관리, 보안, 네트워킹과 같은 다양한 요소가 포함됩니다. 자세한 내용은 Google Cloud의 시작 영역 설계를 참조하세요.

이 시리즈의 다음 문서에서는 다른 분산형 아키텍처 패턴을 설명합니다.