SQL Databaseなどで実績のある管理ソリューションの上にOSSのデータベースを
Azure Database for PostgreSQLとAzure Database for MySQLは、フルマネージド型で提供される。
「データベース管理者ではなくまずは開発者向けのサービスになる。普段データベースは扱っているけれど、インフラの管理はしたくないという人向けです」と語るのは、Azure Database for MySQLの開発マネージャーのジェーソン・アンダーソン氏だ。マイクロソフトにはすでにAzure SQL Databaseがある。その上でPostgreSQLとMySQLのサービスを提供するのは、ユーザーに選択肢を提供するため。Azure上でこれらのデータベースをマネージド型のサービスとして利用したいとのユーザーの声があり、それに応えるものでもある。
PostgreSQLやMySQLのサービスは、新たにいちから構築されたサービスではなく、すでにあるAzure SQL DatabaseやSQL Data Warehouseの隣にあるものだ。なので、共通の管理ソリューション上で展開される。そのため可用性や拡張性、バックアップやリストアなどの仕組みは、実績ある管理プラットフォーム上にすでに実装されているものが利用されることになる。
つまり、最初から高可用性が提供できるところが大きな特長。Azure SQL Databaseが持っているHAの仕組みと同様で、同じリージョン内に3つのデータレプリケーションを持つ構成となる。サーバーが何らかの障害で落ちた際には、別のインスタンスが自動で起動され新しいデータレプリカをポイントして、30秒から45秒程度で復旧できる。その際にはDNSがマッピングし直され、アプリケーションはリトライし処理を継続する。これらの機能により可用性のSLAは、99.99%となっている。この仕組みを利用するために、別途ライセンス費用が発生することはない。
さらに、スケール・オン・ザ・フライで、その場で拡張したりサイズダウンしたりが容易だ。またセキュリティ性も高いとアンダーソン氏は主張する。認証はMySQLもPostgreSQLも、それぞれのネイティブ認証の仕組みを利用する。そのためオンプレミスで実現しているアクセスコントロールは、そのままクラウドサービスでも利用可能だ。さらにサーバーとアプリケーション間の通信はSSLで暗号化される。またデータベース、バックアップ、トランザクションログなども暗号化される。
またAzure Database for MySQLでは、標準で自動バックアップの仕組みを持っている。最初にプロビジョニングが行われた際にフルでバックアップを行い、以降は5分間隔でスナップショットをとる。最大35日前のデータに遡ることができる。バックアップ保存のためにストレージ費用が別途発生することはない。リストアの際には、何をリストアするかを設定し、管理コンソールからリストアボタンを押すだけだ。あとは、復旧したデータベースに接続しているアプリケーションの動作を確認するだけだ。
他にはモニタリングとアラートの仕組みもあり、CPU、RAM、IOPSなどを監視し通知できる。閾値を設定しておき、それを超えたらパフォーマンスモデルを変更するような運用も可能だ。また、MySQLもPostgreSQLもサーバーのパラメータをかなりの数公開しているので、ユーザーが独自の構成に設定することもできる。