Azure SQL 배포 옵션

완료됨

Azure SQL 플랫폼을 기반으로 하면 많은 배포 옵션과 선택할 수 있는 많은 항목이 있습니다. 이러한 옵션은 정확히 필요로 하는 것을 얻고 그에 대한 비용을 지불할 수 있는 뛰어난 유연성을 제공합니다.

여기서는 다양한 Azure SQL 배포 옵션을 선택할 때 고려해야 할 몇 가지 사항을 다룹니다. 또한 이러한 각 배포 옵션에 대한 기술 사양에 대해서도 알아봅니다. 여기에서 설명하는 배포 옵션으로는 가상 머신의 SQL Server, Azure SQL Managed Instance, Azure SQL Database, Azure SQL Managed Instance 풀 및 Azure SQL Database Elastic Database 풀이 있습니다.

Azure SQL 기반 제품에 대한 다이어그램입니다.

Azure Virtual Machines의 SQL Server

VM(가상 머신)의 SQL Server는 Azure VM에서 실행되는 버전의 SQL Server입니다. SQL Server이므로 Azure에서 백업 및 보안 패치를 자동화하도록 지원할 수 있어도 모든 SQL Server 기술이 직접 이전되어야 합니다. Azure VM의 SQL Server는 IaaS(서비스 제공 인프라)라고 합니다. 여러분은 중요한 SQL Server 보안 패치와 별도로 OS 및 SQL Server를 업데이트하고 패치할 책임이 있으며, SQL Server의 전체 기능에 액세스할 수 있습니다.

VM의 SQL Server를 최적의 방식으로 배포하고 관리하기 위해 고려할 사항은 다음과 같습니다.

  • 사전 설치된 Azure 갤러리 이미지에서 특정 SQL Server 및 운영 체제 버전을 배포합니다. SQL Server를 Azure VM에 직접 설치하는 경우 SQL Server IaaS 에이전트 확장을 활용하여 라이선싱의 유연성을 높이고 자동 백업 및 업데이트를 사용하도록 설정할 수 있습니다.

  • 최대 성능을 위해 메모리 최적화 또는 스토리지 최적화 VM의 크기를 고려합니다.

  • 적절한 스토리지 구성을 사용하고 Azure Blob Storage 읽기 캐싱을 활용합니다.

  • Azure 가상 네트워크를 사용하여 온-프레미스 네트워크로 VM을 통합합니다.

  • 자동화된 백업, Azure Blob Storage로의 백업, Azure Backup과의 통합을 활용합니다.

  • Azure 프리미엄 파일 공유를 통해 Always On 장애 조치 클러스터 인스턴스가 지원됩니다.

  • 클라우드 감시를 비롯한 Always On 가용성 그룹이 지원됩니다.

전 세계 기업은 VM에서 SQL Server를 사용합니다. 대표적인 기업 중 하나가 Allscripts입니다. Allscripts는 개업의, 병원, 건강보험 및 제약업계에 서비스를 제공하는 선도적인 의료 서비스 소프트웨어 제조업체입니다. 애플리케이션을 자주 변환하고, 안전하고 안정적으로 호스트하기 위해 Allscripts는 빠르게 Azure로 빠르게 이동하려고 했습니다. 불과 3주 만에 이 회사는 Azure Site Recovery를 사용하여 약 1,000개의 VM에서 실행 중이던 구입한 애플리케이션 수십 개를 Azure로 마이그레이션했습니다.

Azure 가상 머신의 SQL Server를 선택하는 시기를 설명하는 다이어그램

IaaS 및 PaaS

VM의 SQL Server는 IaaS로 간주됩니다. Azure SQL 플랫폼의 다른 배포 옵션인 Azure SQL Managed Instance 및 Azure SQL Database는 PaaS(Platform as a Service) 배포입니다. 이러한 PaaS Azure SQL 배포 옵션에는 업그레이드, 패치, 백업 및 모니터링과 같은 대부분의 데이터베이스 관리 기능을 자동화하는 완전 관리형 데이터베이스 엔진이 포함되어 있습니다. SQL Managed Instance 및 SQL Database의 몇 가지 주요 기능은 다음과 같습니다.

  • 비즈니스 연속성을 통해 중단이 발생하는 경우에도 비즈니스에서 운영을 계속할 수 있습니다.

  • 고가용성을 제공하므로 99.99%의 데이터베이스 가동이 보장됩니다. 유지 관리 또는 가동 중지 시간에 대해 걱정할 필요가 없습니다.

  • ‘자동화된 백업’이 만들어져 Azure RA-GRS(읽기 액세스 지역 중복 스토리지)를 통해 지역 중복 기능을 제공합니다.

  • 장기 백업 보존을 통해 최대 10년 동안 특정 데이터베이스 전체를 저장할 수 있습니다.

  • 지역에서 복제를 제공하므로 동일하거나 다른 데이터 센터(영역)에 있는 데이터베이스의 읽기 가능한 복제본을 만들 수 있습니다.

  • 스케일링 성능을 통해 오랜 프로비저닝 없이도 쉽게 리소스(CPU, 메모리, 스토리지)를 더 추가할 수 있습니다.

  • 네트워크 보안 기능을 갖추고 있어 네트워크를 통해 데이터를 보호할 수 있습니다. 이 기능에는 연결을 제한하는 방화벽, 데이터가 인터넷에 노출되지 않도록 하는 Azure Private Link, 온-프레미스 환경 연결을 위한 가상 네트워크와의 통합이 포함되어 있습니다.

  • 고급 보안은 데이터베이스에 존재하는 위협과 취약성을 감지하여 데이터를 보호할 수 있도록 지원합니다.

  • 자동 조정을 통해 워크로드를 분석할 수 있습니다. 인덱스를 추가하고, 사용되지 않는 인덱스를 제거하고, 쿼리 계획 문제를 자동으로 수정하여 애플리케이션의 성능을 최적화할 수 있는 권장 방법을 활용합니다.

  • 기본 제공 모니터링 기능은 데이터베이스 및 워크로드의 성능에 대한 인사이트를 제공하고 성능 문제를 해결하는 데 도움이 됩니다.

  • 기본 제공 인텔리전스는 자동으로 워크로드의 잠재적 문제를 식별하여 해당 문제를 해결하는 데 도움이 되는 권장 사항을 제공합니다.

무버전 데이터베이스 서비스

IaaS와 PaaS의 또 다른 중요한 차이점은 ‘무버전 SQL’입니다. 특정 SQL Server 버전에 연결되는 IaaS와 달리, SQL Database와 SQL Managed Instance는 무버전 서비스입니다. SQL Server 엔진 코드베이스의 기본 “분기”는 SQL Server 2019, SQL Database 및 SQL Managed Instance의 기반이 됩니다.

SQL Server 버전은 몇 년에 한 번씩 제공되지만 PaaS 서비스를 사용하면 Microsoft가 SQL 데이터베이스 및 인스턴스를 지속적으로 업데이트할 수 있습니다. Microsoft에서는 적절하게 수정 사항 및 기능이 출시되고 있습니다. 서비스 소비자가 업데이트를 제어할 수 없으므로 @@VERSION의 결과는 특정 SQL Server 버전에 따라 조정되지 않습니다. 하지만 무버전 SQL을 사용하면 기본 OS와 SQL Server를 모두 걱정 없이 패치할 수 있고 Microsoft가 최신 비트를 제공할 수 있습니다.

새로운 기능이 개발되면 공개적으로 제공하기 전에 특정 기능에 액세스할 수 있는 권한을 일부 고객에게 부여합니다. 그런 다음, 이러한 새 기능은 공개 미리 보기로 제공됩니다. 공개 미리 보기에서는 모든 사람이 새 기능에 액세스할 수 있지만 일반적으로 지원이 제한되고 종종 할인 가격이 적용됩니다.

SQL Managed Instance

SQL Managed Instance는 Azure SQL의 PaaS 배포 옵션입니다. SQL Server 인스턴스를 제공하지만 VM 관리 오버헤드의 대부분을 제거합니다. SQL Server에서 사용할 수 있는 기능은 대부분 SQL Managed Instance에서 사용할 수 있습니다. 이 옵션은 인스턴스 범위 기능을 사용하려고 하며 애플리케이션의 아키텍처를 변경하지 않고 Azure로 이동하려는 고객에게 적합합니다. 인스턴스 범위 기능은 SQL Server 인스턴스의 데이터베이스에 연결된 기능이 아닌 SQL Server 인스턴스에 연결되어 있습니다.

SQL Managed Instance의 인스턴스 범위 기능으로는 SQL Server 에이전트, Service Broker, CLR(공용 언어 런타임), 데이터베이스 메일, 연결된 서버, 분산 트랜잭션(미리 보기), Machine Learning Services가 있습니다. SQL Managed Instance를 사용하면 인스턴스 범위 기능에 액세스할 수 있지만, 사용자는 기본 OS 또는 인프라에 신경 쓸 필요도 없고 액세스 권한도 없습니다.

Azure SQL Managed Instance를 선택하는 경우를 설명하는 다이어그램

다른 업계 시나리오를 살펴보겠습니다. Komatsu의 예입니다. Komatsu는 건설용 중장비를 생산하고 판매하는 제조 회사입니다. 다양한 형식의 데이터를 위한 여러 메인프레임 애플리케이션이 있었으며, Komatsu는 이러한 애플리케이션을 통합하여 종합적으로 파악하고자 했습니다. 또한 Komatsu는 오버헤드를 줄이는 방법을 원했습니다. 이 회사는 SQL Server 기능의 노출 영역이 넓기 때문에 IT 의사 결정자는 Azure SQL Managed Instance로 이동할 것을 선택했습니다. 이 회사는 약 1.5테라바이트의 데이터를 원활하게 이동하고 자동 패치 및 버전 업데이트, 자동화된 백업, 고가용성, 관리 오버헤드 절감과 같은 혜택을 얻을 수 있었습니다. 마이그레이션 후 Komatsu는 49%의 비용 절감과 약 25~30%의 성능 향상을 보고했습니다.

SQL Database

SQL Database는 Azure SQL의 PaaS 배포 옵션으로, 사용자가 OS 및 SQL Server 인스턴스를 둘 다 신경 쓰지 않아도 됩니다. 이 배포 옵션을 사용하면 그냥 데이터베이스를 확보하여 애플리케이션 개발을 시작할 수 있습니다. SQL Database는 무제한 데이터베이스 스토리지(하이퍼스케일) 및 예측 불가능한 워크로드를 위한 자동 스케일링(서버리스)이 요구되는 시나리오를 지원하는 유일한 배포 옵션이기도 합니다. SQL Database의 고가용성 SLA는 업계 최고 수준입니다. SQL Database에서 모니터링 및 성능과 관련된 다른 지능형 기능을 제공하는 이유 중 하나는 Microsoft가 인스턴스를 관리하기 때문입니다.

Azure SQL Database를 선택하는 경우를 설명하는 다이어그램

SQL Database 사용의 좋은 사례로는 AccuWeather가 있습니다. AccuWeather는 55년 넘게 날씨를 분석하고 예측해 왔습니다. 이 회사는 빅 데이터, 기계 학습, AI 기능을 얻기 위해 Azure에 액세스하고자 했습니다. AccuWeather는 데이터베이스 관리가 아니라 새로운 모델 및 애플리케이션 구축에 집중하기를 원했습니다. 그래서 SQL Database를 Azure Data Factory, Azure Machine Learning 등 다른 서비스와 함께 사용하도록 선택하여 매출 및 고객을 예측하기 위해 새로운 내부 애플리케이션을 빠르고 쉽게 배포했습니다.

Elastic Database 풀

지금까지 Azure SQL의 세 가지 기본 배포 옵션인 가상 머신, 관리되는 인스턴스, SQL Database에 대해 알아보았습니다. SQL Database와 SQL Managed Instance의 경우 인스턴스 또는 데이터베이스가 여러 개이면 다른 옵션을 사용할 수 있습니다. 이러한 옵션을 ‘Elastic Database 풀’이라고 합니다. Elastic Database 풀을 사용하면 여러 인스턴스와 데이터베이스 간에 리소스를 공유하고 비용을 최적화할 수 있습니다.

SQL Database 탄력적 풀을 사용하면 하나의 프로비저닝된 SQL Database 리소스 세트 내에서 여러 데이터베이스를 호스트할 수 있습니다. 이 옵션은 하나의 간소화된 방법으로 여러 데이터베이스의 성능을 관리하고 모니터링할 수 있으므로 SaaS(Software as a Service) 애플리케이션 또는 공급자에게 이상적입니다.

SQL Managed Instance 풀을 사용하면 여러 관리되는 인스턴스를 호스트하고 리소스를 공유할 수 있습니다. 컴퓨팅 리소스를 사전 프로비저닝할 수 있습니다. 이렇게 하면 전체 배포 시간이 단축되어 마이그레이션이 더 쉬워집니다. 또한 하나의 관리되는 인스턴스에서 호스트하는 것보다 더 작은 관리되는 인스턴스를 인스턴스 풀에서 호스트할 수도 있습니다. 이 제안은 현재 공개 미리 보기 상태입니다.

Paychex는 SQL Database Elastic Database 풀을 사용하는 회사의 좋은 예입니다. Paychex는 미국 및 유럽에서 65만 개가 넘는 비즈니스에 서비스를 제공하는 인적 자본 관리 기업입니다. Paychex는 각 고객의 시간 및 결제 관리를 별도로 관리하고 비용을 절감할 방법이 필요했습니다. 그래서 관리를 간소화하고 개별 데이터베이스 간에 리소스를 공유하여 비용을 절감할 수 있는 SQL Database Elastic Database 풀을 선택했습니다.

Azure SQL 배포 옵션

다음 이미지는 Azure SQL의 배포 옵션을 요약합니다. 다음에는 Azure SQL 배포 및 구성 과정에 대해 알아보고 SQL Server 배포 및 구성과 어떻게 비교되는지 살펴봅니다.

Azure SQL 배포 옵션을 보여 주는 다이어그램

지식 점검

1.

이 시나리오를 고려해 보세요. 클라우드로 마이그레이션하는 데 OS(운영 체제)에 대한 액세스가 필요한 타사 애플리케이션을 사용하려고 합니다. 사용하기 가장 쉬운 Azure SQL 배포 옵션은 어느 것입니까?

2.

이 시나리오를 고려해 보세요. 클라우드로 마이그레이션하고 SQL Server와 관련된 관리 작업 중 일부를 제거하는데 애플리케이션에서 SQL Server의 CLR 및 Service Broker 기능을 사용하려고 합니다. 사용하기 가장 쉬운 Azure SQL 배포 옵션은 어느 것입니까?