WePayは、MySQL Enterprise Editionにアップグレードすることで、最大限のシステム稼働時間、より高度なデータベース可視性、金融規制へのコンプライアンスの強化を実現しました。
導入と背景
WePayは、JPMorgan Chaseの統合決済事業であり、独立系ソフトウェアベンダー(ISV)やソフトウェアプラットフォーム向けに決済インフラを提供し、中小企業が迅速かつ簡単に支払いを受けられるよう支援しています。WePayのアプリケーションプログラミングインターフェース(API)は、リファーラル、ホワイトラベル、ペイメントファシリテーターモデルを通じて、柔軟な統合決済を可能にします。
そのため、WePayの開発プロセスには厳格なセキュリティおよびコンプライアンス管理が求められます。オンライン決済のためのリレーショナルデータベース管理システムにおいて、セキュリティ、信頼性、コンプライアンスは不可欠な要件です。
2008年以来、WePayはMySQLをコアデータベースとして運用し、アジャイル開発環境を支えてきました。この10年間でデータベースは拡大し、250TBの単一モノリシックデータベースへと成長しました。決済企業にとってシステム稼働時間は極めて重要であるため、2018年にWePayはMySQLデータベースクラスター上で動作するマイクロサービスの構築を開始しました。
MySQL Enterprise Edition 5.7への移行により、WePayはデータベースの可用性、可視性、責任分担の明確化、監査コンプライアンスを向上させました。これを踏まえ、2020年にはMySQL Enterprise Edition 8.0へのアップグレードを実施しました。
経営課題と目標
WePayは MySQL Enterprise Edition 5.7 を使用して、グローバル・トランザクション識別子(GTID)とMySQL Orchestratorを使用して障害を検出し、役割の移行を行うことで、本番データベース・パフォーマンスのモニタリングを改善しました。これらのツールによって、クラスタ・レプリケーションにおける予期せぬイベントにも対応でき、データベースの可用性とスケーラビリティを大幅に向上させました。
また、WePayはMySQL Enterprise Monitorを導入し、本番環境のデータベース変更をより詳細に可視化できるようになりました。これにより、誰が・なぜ変更を加えたのかを追跡しやすくなりました。さらに、Payment Card Industry Data Security Standard(PCI-DSS)の管理要件により、本番データベースへの直接アクセスが許可されていないサイト信頼性エンジニア(SRE)も、データベース内の動作を把握できるようになりました。
アジャイル開発を採用するWePayでは、このモニタリング機能の強化により、エンジニアリングチームがPCI-DSSの規則や監査、その他の銀行規制を遵守しながら、決済プラットフォームをスピーディに進化させることができるようになりました。
「本番環境のデータや負荷のもとでデータベースの動作を確認できるのは素晴らしいことです。」と、WePayのエンジニアリングのシニア・ディレクターであるRich Steenburg氏は語ります。「もしMySQL Enterprise Editionがなかったら、これらの要件を満たし、迅速に対応することはできなかったでしょう。」
また、WePayはMySQL Query Analyzerを活用し、パフォーマンス低下を引き起こすクエリを特定・解決することで、データベースアプリケーションのパフォーマンスをさらに向上しました。これにより、プラットフォームの最大限の可用性を確保しています。
WePayの決済プラットフォームは、数百のデータベースとマイクロサービス間でインスタンスを共有しているため、同社はMySQLのリソース管理機能を活用し、リソース消費の制御を行っています。この機能により、CPU使用率の最適化だけでなく、どのユーザーがリソースグループの操作を実行できるかを管理することも可能になっています。
決済業界では毎日膨大な数の取引が加盟店、決済処理業者、銀行間で行われ、詐欺のリスクが常につきまといます。こうした環境下で、厳格な職務分離と責任分担を求められるWePayにとって、MySQL Enterprise Auditは規制遵守のために欠かせない重要なツールとなっています。
MySQL Enterprise Auditのポリシーベースの自動監査機能に加え、MySQL Enterprise Edition 8.0のID管理および暗号化ツールを活用することで、WePayは強固なセキュリティ管理を実現し、規制遵守の要件を満たしています。
さらに、WePayはMySQL 8.0で導入されたのロール機能を活用し、チームメンバーに対して役割ごとに特定の権限を付与しています。これにより、個別に権限を設定する手間を省き、管理を効率化しています。
WePayは、高可用性・高信頼性・高セキュリティを備えたオンライン決済インフラをパートナーに提供できることに自信を持っており、現在、Oracle MySQL Premier Supportチームと連携しながらMySQL Enterprise Edition 8.0へのアップグレードを進めています。
「実際にシステムを開発しているエンジニアリングチームと直接つながることができるのは、私たちの成功にとって非常に重要です。」とSteenburg氏は語っています。
なぜMySQL Enterprise Editionを選択したのか?
WePayは2008年の設立当初からMySQLを基幹データベースとして採用し、さまざまなMySQLバージョンを経てMySQL Enterprise Edition 5.7へと移行しました。バージョン5.7への移行の決め手となったのは、本番環境のデータベース変更の影響をより詳細に観測できること、そして銀行業界の規制をより厳格に遵守できることでした。さらに強力な監視・監査・セキュリティ機能を求め、WePayは2020年にMySQL Enterprise Edition 8.0への移行を実施しました。