Azure를 사용하면 PostgreSQL 워크로드를 호스팅된 가상 머신 인프라(IaaS) 또는 호스팅된 플랫폼 서비스(PaaS)로 실행할 수 있습니다. PaaS는 여러 배포 옵션을 제공하며, 각 옵션에는 여러 서비스 계층이 있습니다. IaaS와 PaaS 중에 선택할 때 직접 데이터베이스를 관리하고 패치를 적용하고 백업을 수행할 것인지 아니면 이러한 작업을 Azure에 위임할 것인지 결정해야 합니다.
결정을 내릴 때 PaaS의 옵션 또는 Azure VM(IaaS)에서 실행하는 대안을 고려하세요.
Azure VM에서 PostgreSQL 옵션은 IaaS 산업 범주에 속합니다. 이 서비스를 사용하면 Azure 클라우드 플랫폼에서 완전히 관리되는 가상 머신 내에서 PostgreSQL 서버를 실행할 수 있습니다. PostgreSQL의 최신 버전과 에디션은 모두 IaaS 가상 머신에 설치할 수 있습니다. Azure Database for PostgreSQL 유연한 서버 인스턴스와 가장 큰 차이가 있는 경우 Azure VM의 PostgreSQL은 데이터베이스 엔진에 대한 제어를 제공합니다. 그러나 데이터베이스 엔진을 제어할 수 있는 대신 VM 및 여러 DBA(데이터베이스 관리) 작업을 직접 관리해야 합니다. 이러한 작업에는 데이터베이스 서버 유지 관리 및 패치, 데이터베이스 복구, 고가용성 설계가 포함됩니다.
이러한 옵션들의 주요 차이점은 다음 표에 나와 있습니다.
| 속성 | Azure VM의 Postgres | Azure Database for PostgreSQL을 PaaS로 |
|---|---|---|
| 가용성 SLA | - Virtual Machine SLA | - Azure Database for PostgreSQL |
| OS 및 PostgreSQL 패치 | - 고객이 관리 | 자동(선택적으로 고객 관리 창 가능) |
| 고가용성 | - 고객이 고가용성을 설계, 구현, 테스트 및 유지 관리 기능으로 클러스터링, 복제 등이 포함될 수 있음 | 기본 제공 |
| 영역 중복 | - Azure VM은 서로 다른 가용 영역에서 실행되도록 설정할 수 있습니다. 온프레미스 솔루션의 경우, 고객은 자체 보조 데이터 센터를 생성, 관리 및 유지해야 합니다. | Yes |
| 하이브리드 시나리오 | - 고객이 관리 | 지원됨 |
| 백업 및 복원 | - 고객이 관리 | 내장형으로, 사용자가 영역 중복 스토리지에서 구성 가능 |
| 데이터베이스 작업 모니터링 | - 고객이 관리 | 모든 서비스는 고객이 데이터베이스 작업에 대한 경고를 설정하고 임계값에 도달했을 때 조치를 취할 수 있는 기능을 제공합니다. |
| 고급 위협 방지 | - 고객이 직접 이 보호 기능을 구축해야 합니다. | 프리뷰 기간에 사용할 수 없습니다. |
| 재해 복구 | - 고객이 관리 | 지원됨 |
| 지능형 성능 | - 고객이 관리 | 지원됨 |
TCO(총 소유 비용)
총 소유 비용(TCO)은 데이터베이스 호스팅에 가장 적합한 솔루션을 결정하는 주요 고려 사항인 경우가 많습니다. 이는 자금이 부족한 스타트업이든, 엄격한 예산 제약 하에 운영되는 기존 회사 팀이든 모두 해당됩니다. 이 섹션에서는 Azure VM의 Azure Database for PostgreSQL 및 PostgreSQL에 적용되는 Azure의 청구 및 라이선스 기본 사항을 설명합니다.
결제
Azure Database for PostgreSQL은 현재 리소스 가격이 다른 여러 계층에서 서비스로 사용할 수 있습니다. 모든 리소스는 고정 요금으로 시간 단위 청구됩니다. 현재 지원되는 서비스 계층, 컴퓨트 크기 및 스토리지 용량에 대한 최신 정보는 가격 페이지를 참조하세요. 애플리케이션의 다양한 처리량 요구에 맞게 서비스 계층과 컴퓨트 크기를 동적으로 조정할 수 있습니다. 인터넷으로 나가는 트래픽은 정기 데이터 전송 요율로 청구됩니다.
Azure Database for PostgreSQL을 사용하면 Microsoft는 데이터베이스 소프트웨어를 자동으로 구성, 패치 및 업그레이드합니다. 이러한 자동화된 작업은 관리 비용을 줄여줍니다. 또한 Azure Database for PostgreSQL에는 자동화된 백업 링크 기능이 있습니다. 이 기능들은 많은 수의 데이터베이스를 운영할 때 특히 큰 비용 절감을 달성하는 데 도움이 됩니다. 반대로, Azure VM에서 PostgreSQL을 사용하면 모든 PostgreSQL 버전을 선택하여 실행할 수 있습니다. 그러나 프로비저닝된 VM 요금과 데이터, 백업, 모니터링 데이터 및 로그 저장소와 관련된 스토리지 비용 및 사용한 특정 PostgreSQL 라이선스 유형(있는 경우)에 대한 비용을 지불해야 합니다.
Azure Database for PostgreSQL은 서비스에 대한 SLA 보장 을 유지하면서 모든 종류의 노드 수준 중단에 대해 영역 수준(AZ 내)에서 기본 제공 고가용성을 제공합니다. Azure Database for PostgreSQL은 영역 중복 구성 여부에 상관없이 가동 시간 SLA를 제공합니다. 하지만 VM 내 데이터베이스 고가용성을 위해서는 PostgreSQL 데이터베이스에서 제공되는 스트리밍 복제와 같은 고가용성 옵션을 사용해야 합니다. 지원되는 고가용성 옵션을 사용한다고 해서 별도의 SLA가 제공되는 것은 아닙니다. 하지만 이를 통해 더 높은 비용과 관리 부담이 발생하더라도 99.99% 이상의 데이터베이스 가용성을 달성할 수 있습니다.
가격에 대한 자세한 내용은 다음 문서를 참조하세요.
Administration
많은 기업에게 클라우드 서비스로 전환하는 결정은 비용만큼이나 관리의 복잡성을 줄이는 것도 중요한 고려 사항입니다.
IaaS를 사용하면 Microsoft는 다음과 같은 서비스를 제공합니다.
- 기본 인프라를 관리합니다.
- 기본 하드웨어와 운영체제에 대한 자동 패치를 제공합니다.
PaaS를 선택하면 Microsoft에서 다음 작업을 처리합니다.
- 기본 인프라를 관리합니다.
- 기본 하드웨어, 운영체제 및 데이터베이스 엔진에 대한 자동 패치를 제공합니다
- 데이터베이스의 고가용성을 관리합니다.
- 자동으로 백업을 수행하고 모든 데이터를 복제하여 재해 복구를 제공합니다.
- 기본적으로 미사용 데이터 및 사용 중인 데이터를 암호화합니다.
- 서버를 모니터링하고 쿼리 성능 분석 및 성능 권장 사항 기능을 제공합니다.
Azure Database for PostgreSQL을 사용하면 데이터베이스를 계속 관리할 수 있습니다. 하지만 더 이상 데이터베이스 엔진, 운영체제, 하드웨어를 직접 관리할 필요가 없습니다. 계속해서 관리할 수 있는 항목의 예시는 다음과 같습니다.
- Databases
- 로그인
- 인덱스 튜닝
- 쿼리 튜닝
- Auditing
- Security
또한, 다른 데이터 센터로의 고가용성 구성은 최소한의 설정이나 관리만 필요합니다.
- PostgreSQL on Azure VMs를 선택하면 운영 체제와 PostgreSQL 서버 인스턴스 구성을 완벽하게 제어할 수 있습니다. VM과 함께 운영 체제 및 데이터베이스 소프트웨어를 업데이트 또는 업그레이드할 시기와 적용할 패치를 결정합니다. 또한, 안티바이러스 애플리케이션과 같은 기타 소프트웨어 설치 시기를 결정할 수도 있습니다. 자동화된 일부 기능이 제공되므로 패치, 백업 및 고가용성이 크게 간소화됩니다. VM 크기, 디스크 수 및 해당 스토리지 구성을 제어할 수 있습니다. 자세한 내용은 Azure의 가상 머신 및 클라우드 서비스 크기를 참조하세요.
Azure Database for PostgreSQL(PaaS)로 이동하는 시간
Azure Database for PostgreSQL은 개발자 생산성과 새로운 솔루션 출시 시간이 중요한 클라우드 디자인 애플리케이션에 적합한 솔루션입니다. DBA와 유사한 프로그래밍 기능을 갖춘 이 서비스는 기본 운영 체제와 데이터베이스 관리의 필요성을 줄여주기 때문에 클라우드 아키텍트와 개발자에게 적합합니다.
새로운 온-프레미스 하드웨어를 획득하는 데 드는 시간과 비용을 줄이려면 서비스에서 지원하지 않는 PostgreSQL 엔진을 세밀하게 제어하고 사용자 지정할 수 있어야 하는 애플리케이션 또는 기본 OS에 대한 액세스가 필요한 애플리케이션에 적합한 솔루션은 PostgreSQL on Azure VMs입니다.