Azure Database for MySQL을 사용해야 하는 경우

완료됨

이 단원에서는 Azure Database for MySQL이 애플리케이션 아키텍처 및 개발 프로세스에 적합한지 여부를 결정하는 방법을 검토합니다. 개발자는 VM 특성, 버전 관리, 보안 구성 등 복잡한 데이터베이스 관리보다는 핵심 애플리케이션에 집중함으로써 개발 주기를 가속화할 수 있습니다. 관리되는 서비스인 Azure Database for MySQL은 복잡한 데이터베이스 관리 작업을 처리함으로써 이러한 포커스 전환을 가능하게 하여 개발자의 활동을 생산성 및 혁신 목표에 맞춰 조정합니다.

Azure Database for MySQL - 유연한 서버에서 지원되지 않는 특정 MySQL 버전이 필요한 시나리오 또는 데이터베이스 환경을 더 강력히 제어하는 것이 중요한 시나리오의 경우 Azure VM에서 실행되는 MySQL은 가치 있는 대안이 됩니다. 이 IaaS(서비스 제공 인프라) 솔루션은 데이터베이스의 상세한 사용자 지정 및 관리를 허용하므로 특정 MySQL 기능을 사용하는 특수 애플리케이션 또는 레거시 애플리케이션에 적합합니다.

특정 요구 사항에 가장 적합한 선택을 식별하기 위해 관리 활동, 비용, 고가용성 옵션 등의 주요 결정 기준에 따라 이러한 옵션을 자세히 평가해 보겠습니다.

의사 결정 기준

Azure VM에 MySQL을 사용할지, 아니면 Azure Database for MySQL을 사용할지 결정하려면 각 옵션이 관리 활동, 비용 및 고가용성 옵션 측면에서 조직의 요구 사항에 어떻게 부합하는지 이해해야 합니다. 판단을 내리는 데 도움이 되는 자세한 비교가 다음 표에 나와 있습니다.

조건 Azure Database for MySQL Azure VM의 MySQL
관리 노력 완전 관리형 서비스이므로 관리 활동이 최소화됩니다. Azure는 모든 유지 관리, 업데이트 및 백업을 처리하므로 개발자는 데이터베이스 관리가 아닌 애플리케이션 개발에 집중할 수 있습니다. 완전 관리형임에도 불구하고 데이터베이스 관리 기능, 구성 설정, 예약된 유지 관리 기간을 유연하게 제어할 수 있습니다. VM, OS, 데이터베이스 엔진 관리가 포함되므로 상당한 관리 활동이 필요합니다. 여기에는 시스템 업데이트, 보안 패치, 백업과 같은 작업이 포함되어 완전한 제어 및 사용자 지정이 가능하지만 이에 따라 책임도 증가합니다.
비용 경량 애플리케이션부터 엔터프라이즈급 솔루션까지 다양한 요구 사항에 적합한 다양한 가격 책정 계층을 제공합니다. 비용은 선택한 계층에 따라 다르며 리소스는 사용한 만큼 청구되므로 관리되는 서비스를 통해 잠재적으로 비용 절감 효과를 얻을 수 있습니다. Azure Database for MySQL은 Azure 무료 계정을 통해 평가판을 제공합니다. 또한 사용하지 않을 때 서버를 중지하는 기능 및 IOPS의 자동 크기 조정 기능과 같은 비용 제어 기능을 제공합니다. 일반적으로 인프라 유지 관리를 위한 VM, 스토리지 및 추가 오버헤드 비용이 포함됩니다. 또한 HA(고가용성), 백업 및 기타 관리 작업과 같은 기능을 구현하면 이러한 기능이 기본 제공되는 Azure Database for MySQL과 달리 추가 비용이 발생합니다.
고가용성 옵션 추가 구성 없이 영역 중복 배포를 포함한 기본 제공 고가용성 솔루션을 제공합니다. 이를 통해 Azure에서 관리되는 고가용성을 간소화하여 가동 중지 시간을 최소화하면서 데이터베이스가 오류에 대한 복원력을 갖도록 보장합니다. 장애 조치(failover) 메커니즘 및 잠재적인 추가 Azure 서비스 설정을 포함하여 고가용성을 수동으로 구성하고 유지 관리해야 합니다. 이는 복잡성 증가와 잠재적인 설정 및 유지 관리 문제가 있지만 유연하게 사용자 지정할 수 있는 장점이 있습니다.

비교 인사이트

관리 노력

  • 제어 및 편의성: Azure VM의 MySQL은 준수, 레거시 호환성 또는 특정 성능 튜닝을 위해 데이터베이스 환경을 심층적으로 제어해야 하는 조직에 적합합니다. 이 모델은 운영 편의성보다 사용자 지정 및 직접적인 관리 제어가 우선시되는 경우에 선호됩니다.
  • 관리 부담 감소: Azure Database for MySQL은 Azure가 물리적 서버, 운영 체제 및 기본 데이터베이스 관리 작업을 유지 관리하는 운영 부담을 처리하는 관리 환경을 제공합니다. 이를 통해 관리 시간과 리소스를 크게 줄여 팀이 비즈니스에 더 많은 가치를 더하는 전략적 작업에 집중할 수 있습니다.
  • 유연성 및 확장성: 두 모델 모두 확장성 옵션을 제공하지만 메커니즘은 다릅니다. Azure VM은 필요에 따라 리소스를 수동으로 크기 조정하고 조정할 수 있는 유연성을 제공하는 반면, Azure Database for MySQL은 Azure Portal을 통해 관리되는 손쉬운 확장성 옵션을 제공하여 리소스 관리와 관련된 복잡성을 줄입니다. 또한 Azure Database for MySQL 유연한 서버는 데이터베이스 관리 함수 및 구성 설정에 대한 세부적인 제어와 유연성을 허용하여 성능 및 동작을 미세 조정하는 데 있어 주요 이점을 제공합니다.

이러한 모델 중에서 선택하는 것은 조직의 요구 사항, 전문 지식 및 우선 순위에 따라 달라집니다. 광범위한 제어와 사용자 지정이 필요한 경우 Azure VM의 MySQL이 더 나은 선택일 수 있습니다. 반대로, 관리 용이성과 관리 오버헤드 감소가 더 중요하다면 Azure Database for MySQL이 유리할 것입니다.

비용

Azure Database for MySQL을 선택하면 일반적으로 데이터베이스 소프트웨어와 운영 체제를 직접 관리할 필요가 없으므로 관리 비용과 복잡성이 줄어듭니다. 이 관리되는 서비스 모델은 일반적으로 VM에서 MySQL을 실행하는 데 필요한 심층적인 사용자 지정 옵션이 필요하지 않은 비즈니스에 더 비용 효율적입니다.

반면 Azure VM의 MySQL은 더 많은 실습 관리가 필요하므로 비용이 더 높아질 수 있습니다. 하지만 데이터베이스 및 OS를 더 강력하게 제어할 수 있으므로 관리 플랫폼에서 지원하지 않는 특수한 요구 사항에 유용합니다.

두 옵션 모두 확장성을 제공하지만, 유연한 서버는 리소스를 동적으로 조정하고 실제 사용량에 대해서만 요금을 청구하므로 다양한 워크로드 조건에서 비용 혜택을 제공할 수 있습니다. 이러한 차이점을 이해하면 특정 요구 사항과 예산 제약 조건에 따라 최적의 옵션을 선택하는 데 도움이 됩니다.

고가용성

HA(고가용성)는 시스템 오류나 유지 관리 이벤트 중에도 가동 중지 시간을 최소화하면서 애플리케이션에 계속 액세스하도록 보장합니다.

Azure VM에서 고가용성을 구현하려면 상당한 수준의 수동 설정이 필요합니다. 장애 조치(failover) 클러스터링, 복제 및 부하 분산 설정과 같은 여러 구성 요소를 구성하는 업무를 담당합니다. 이 방식은 높은 수준의 사용자 지정을 제공하므로 HA 아키텍처를 특정 요구 사항에 맞게 조정할 수 있습니다. 그러나 Azure 인프라와 MySQL에 대한 깊은 이해가 필요하며, 일반적으로 강력한 HA 설정에 필요한 추가 VM 및 네트워킹 구성 요소를 관리하는 복잡성으로 인해 더 높은 비용이 발생합니다.

Azure Database for MySQL은 추가 설정이나 비용 없이 기본적으로 고가용성을 제공합니다. 이 서비스는 다양한 가용성 영역의 대기 복제본에 대한 장애 조치(failover)를 자동으로 처리하므로 한 영역이 다운되더라도 데이터베이스 서비스가 계속 작동하도록 보장합니다. Azure Database for MySQL에서 제공하는 관리 HA 솔루션은 복제, 장애 조치(failover) 및 네트워크 구성이 모두 Azure에서 처리되므로 관리 오버헤드가 크게 줄어들어 개발자가 인프라 관리보다는 애플리케이션 개발에 더 집중할 수 있습니다.

요약

Azure Database for MySQL과 Azure VM의 MySQL 중에서 선택하는 것은 제어, 비용 및 관리 오버헤드와 관련된 애플리케이션의 특정 요구 사항과 조직 기본 설정에 따라 결정되는 경우가 많습니다. 표준 MySQL 기능이 충분하고 관리 용이성이 중요한 애플리케이션의 경우 일반적으로 Azure Database for MySQL이 최선의 선택입니다. 반대로, 애플리케이션에 특정 MySQL 구성이 필요하거나 데이터베이스 환경을 광범위하게 최적화해야 하는 경우 Azure VM의 MySQL이 더 적합할 수 있습니다.

결정을 내릴 때 현재 요구 사항뿐만 아니라 애플리케이션의 잠재적인 규모와 발전도 고려하여 선택한 데이터베이스 솔루션이 비즈니스와 함께 성장하고 적응할 수 있도록 합니다.

요약은 다음 지침을 참조하세요.

다음과 같은 경우 Azure VM의 MySQL을 선택합니다.

  • 새 온-프레미스 하드웨어를 획득하는 데 드는 시간과 비용을 절감하려는 경우.
  • 유연한 서버에서 지원하지 않는 특정 MySQL 버전이 필요합니다.
  • Azure 데이터베이스가 MySQL 서비스에 대해 지원하지 않는 MySQL 엔진에 대한 전체 제어 및 사용자 지정이 필요합니다.

다음과 같은 경우 Azure Database for MySQL을 선택합니다.

  • 영역 중복 또는 동일 영역 고가용성이 필요합니다.
  • 예약된 유지 관리 기간을 선택하는 기능을 통해 최대한의 제어가 필요합니다.
  • 최대 35일 동안 자동 백업 및 특정 시점 복원을 사용하여 데이터를 보호해야 합니다.
  • 서비스를 안전하게 최신 상태로 유지하려면 기본 하드웨어, 운영 체제 및 데이터베이스 엔진에 대한 자동화된 패치 및 유지 관리를 선호합니다.
  • 종량제 가격 책정이 포함되어 예측 가능한 성능이 필요합니다.
  • 몇 초 안에 탄력적인 크기 조정이 필요합니다.
  • 저렴한 버스트 가능 SKU와 서버 중지/시작 기능으로 비용 최적화를 추구합니다.
  • 저장되어 있거나 중요한 미사용 데이터를 보호하려면 엔터프라이즈급 보안, 업계 최고의 준수 및 개인 정보 보호를 요구합니다.
  • 대규모 배포에 대한 관리 및 모니터링을 간소화하기 위한 모니터링 및 자동화가 필요합니다.
  • 앱 개발에 대한 고급 컨트롤 및 사용자 지정이 필요합니다.
  • 읽기 복제본을 사용하여 최소한의 오버헤드로 수평 크기 조정을 구현해야 합니다.
  • 업계 선도적인 지원 환경의 가치를 높게 평가합니다.