データベース機能を提供するクラウドサービスはDBaaS(DataBase as a Service)と呼ばれています。代表的な例はAmazon Web Services(AWS)のRelational Database Service(RDS)やGoogle Cloud SQL、HP Helion Public Cloud Relational Databaseなどがあります。MySQLをベースにしたデータベースサービスとしてそれぞれビジネスが開始され、現在のAmazon RDSでは他のデータベースも利用可能となっています。さらにAmazon RDS for AuroraなどもMySQLと互換性のあるサービスとして提供される模様です(2015年6月現在はプレビュー扱い)。
多くのDBaaSではデータベースファイアウォールのMySQL Enterprise Firewallに代表される、MySQL Enterprise Editionが提供するセキュリティや性能の拡張機能も利用できないことがあります。またMySQLサーバの全ての機能を活用することも制限されていることが多く、さらに基本的にMySQLサーバをベースにして構築されているため、MySQL Clusterによる高い性能拡張性と耐障害性を活用することもできません。これらの機能を利用してより柔軟性のある運用のためには、主に仮想サーバ機能を提供するPaaS(Platform as a Service)上にMySQLを導入することで可能となります。
MySQL Fabricはこのレプリケーション機能を活用したシャーディング構成を構築および管理するフレームワークとなります。シャーディング構成全体はMySQL Fabricノードが管理し、mysqlfabricコマンドから一組のレプリケーション構成であるグループの作成やグループへのMySQLサーバの登録、シャーディングの場合は格納する値の範囲の定義などを行います。なおMySQL FabricはPythonで書かれたオープンソースのユーティリティコマンド群のMySQL Utilitiesに含まれています。
MySQL FabricはOpenStackとの連携が可能です。MySQL FabricからOpenStack Novaにサーバプロビジョニングの指示を出すことが可能で、生成されたサーバ上のMySQLサーバがどのグループのマスタまたはスレーブなのかはMySQL Fabricノードのマッピング情報に記録されます。このため新規に生成されたMySQLサーバをアプリケーションから透過的に利用することが可能となります。
MySQL Fabric 1.5ではOpenStack Novaとの連携のみが可能ですが、AWSのサービスやOpenStack Troveとの連携も準備がされています。MySQL Utilities 1.5.3のリリースノートでも“MySQL Fabric was improved to support AWS and Trove.”と書かれており、対応は済んではいないものの必要な改良を行っています。