どのようなときに 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 によって管理されるため、高可用性の実現が簡素化され、ダウンタイムを最小限に抑えながら、障害に対するデータベースの回復性が確保されます。 | 高可用性は手動で構成して維持する必要があります。たとえば、フェールオーバー メカニズムや、場合によっては追加の 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 での高可用性を実装するには、手動によるセットアップがかなり必要です。 フェールオーバー クラスタリング、レプリケーション、負荷分散の設定など、複数のコンポーネントを構成する必要があります。 このアプローチでは、高度なカスタマイズが用意され、特定の要件を満たすように HA アーキテクチャを調整できます。 ただし、Azure インフラストラクチャと MySQL の両方について深く理解する必要があります。また、堅牢な HA セットアップに必要な追加の VM とネットワーク コンポーネントの管理が複雑なため、通常はコストが高くなります。
その一方で、Azure Database for MySQL は、追加のセットアップやコストなしで、組み込みの高可用性を提供します。 このサービスでは、さまざまな可用性ゾーン内のスタンバイ レプリカへのフェールオーバーが自動的に処理され、データベース サービスは、1 つのゾーンがダウンしても確実に稼働し続けます。 Azure Database for MySQL が提供するマネージド HA ソリューションでは、レプリケーション、フェールオーバー、ネットワーク構成すべてが Azure によって処理されるため、管理オーバーヘッドが大幅に削減され、開発者はインフラストラクチャ管理ではなくアプリケーション開発に専念できます。
まとめ
Azure Database for MySQL と Azure VM 上の MySQL のどちらを選択するかは、多くの場合、アプリケーションの特定の要件と、制御、コスト、管理オーバーヘッドに関する組織の好みによって決まります。 MySQL の標準機能で十分で、管理のしやすさが重要なアプリケーションの場合、通常は Azure Database for MySQL が適しています。 逆に、アプリケーションで特定の MySQL 構成が必要な場合や、データベース環境を幅広く最適化する必要がある場合は、Azure VM 上の MySQL の方が適している可能性があります。
判断するときは、現在のニーズだけでなく、アプリケーションの潜在的な規模と進化を考慮して、選択したデータベース ソリューションが、ビジネスに合わせて成長できるようにします。
まとめとして、次のガイダンスを参照してください。
次の場合は、Azure VM 上の MySQL を選択します。
- オンプレミスの新しいハードウェアを取得するための時間と費用を回避したい。
- フレキシブル サーバーでサポートされていない特定の MySQL バージョンが必要です。
- Azure Database が MySQL サービスに対してサポートしていない MySQL エンジンの完全な制御とカスタマイズが必要です。
次の場合は、Azure Database for MySQL を選択します。
- ゾーン冗長または同一ゾーンの高可用性が必要。
- 予定メンテナンス期間を選択する機能で最大限に制御したい。
- 自動バックアップとポイントインタイム リストアを使用したデータ保護 (最大 35 日間) が必要。
- 自動修正とメンテナンスによって、基盤となるハードウェア、オペレーティング システム、データベース エンジンのサービスをセキュリティで保護し、最新の状態に保ちたい。
- 包括的な従量課金制の料金を使用した予測可能なパフォーマンスが必要。
- 数秒以内でのエラスティック スケーリングが必要。
- 低コストのバースト可能な SKU とサーバーの停止/起動機能でコストを最適化したい。
- エンタープライズ レベルのセキュリティ、業界をリードするコンプライアンス、プライバシーによる、保存中および移動中の機密データの保護が必要。
- 監視と自動化で大規模なデプロイの管理と監視を簡単に実行したい。
- アプリ開発に、より優れた制御とカスタマイズが必要です。
- 読み取りレプリカを使用して、最小限のオーバーヘッドで水平方向のスケーリングを実装する必要があります。
- 業界トップレベルのサポート エクスペリエンスが重要。