テクノロジーを活用し、誰もが世界水準の資産運用をできるようにする全自動資産運用サービス「WealthNavi(ウェルスナビ)」を提供するウェルスナビ。2015年4月にスタートアップとして創業した同社だが、2017年以降、利用者が爆発的に増加しており、既に預かり資産2000億円を達成するとともに、「ロボアドバイザー」運用者数でトップの実績を誇る。
同社は日本で初めて、クラウドプラットフォーム「Amazon Web Services(AWS)」に証券取引システムを構築した。このほど、ユーザーの増加に伴い、Amazon EC2上で稼働していたデータベースをAmazon Auroraに移行した。今回、取締役 COO&CTOの井上正樹氏とエンジニアの浦野勝由氏に話を聞いた。
○急成長の全自動資産運用サービスのインフラに求められること
ウェルスナビは、創業翌年1月には証券業の免許を所得して招待制のサービスをリリースと、短期間で一気にシステムを開発していった。しかし現在は、社員84名のうち、約半数はエンジニアなどクリエイターが占めているが、創業当初はこれよりもはるかに少なかった。
そのため、システム構築において重視されていたことは、いかに少ないエンジニアで素早く開発するかということだった。当時、インフラ担当者は1、2人しかいなかったが、インフラ・エンジニアの採用しやすさ、運用費含めた初期費用の抑制、属人化されたインフラにならぬようコモディティ化した技術の利用などの理由から、インフラにはAWSを採用した。
インフラを担当するエンジニアである浦野勝由氏はこう話す。「当社は金融機関(証券会社)なので、例えば、FISCや金融庁が公開しているガイドラインや各種法令など、金融機関としての前提を理解した上でシステムを開発・運用する必要があります。それと同時に、テックベンチャーでもあるので、新しい技術を積極的に導入することも求められます」
○データの増大によりデータベースに課題が
こうしてウェルスナビでは、AWS上に証券取引システムを構築してウェルスナビのサービスをリリースする。しかしその後、ユーザー数が急激に増えていったことから、開発をスピーディに行いつつ環境もスケールアウトしていくことが求められた。
そして、このような成長期の課題の中でも特に優先度が高かったのが、データベースであった。当時のデータベースシステムはAmazon EC2上で稼働していたが、安定性や運用性を向上させたいと考えていたのである。
「OSとデータベース、分散ファイルシステム、さらにはクラスタやレプリケーションなどが複雑に連携していました。データ量の急激な増加に伴い、運用基盤のボトルネックが顕在化していったのです」と、浦野氏は振り返る。
「当初は3、4時間で終わっていたデータベースの複製処理ですが、データが増えていくに従い、月に60分ペースで遅れていきました。時間を短縮するにはスケールアップしなければならずコストも増加していきました」(浦野氏)
○Amazon Auroraへの移行プロジェクトがスタート
データベースのリプレースが待ったなしの状況となったウェルスナビが移行先に選んだのが、AWSのリレーショナルデータベース「Amazon Aurora」だった。その理由として、浦野氏が挙げるのは以下の5点だ。
クラスタ、サーバ、ストレージ管理が不要
データベース複製が数クリックで完了もしくは自動化でき、メンテナンス性も拡張性も高い
ストレージの自動拡張
ゼロダウンタイムでパッチを適用できてフェールオーバーも速い
高パフォーマンス
こうして、2018年5月頃よりAuroraへの移行プロジェクトがスタートした。移行元データベースで新規サービス開発や保守作業も並行しながらのプロジェクトだった。データおよびアプリケーションを移行するにあたって、移行要件の設定とそれを満たすことに時間をかけた。
サービス提供開始の直後から、機能を追加したり、新規サービスを次々とリリースしてアプリケーションが増えていたりしたこともあり、アプリケーションの修正範囲が大きく、システムテストとの繰り返しで3カ月ほどを要する。
「アプリケーションへの要求事項はただ1つ、Auroraで動くことなのですが、ここが本当に苦労しました。全システム横断で修正・テストしなければならず、実質4カ月、インフラの作業と並行してMySQL(Aurora)と向きあいましたね」と、浦野氏は振り返る。
また、移行要件を満たすために、Auroraから既存のデータベースに切り戻し可能なようにしており、ここもかなり苦労したという。そこで、最終的には、一番安全であるだろうという判断のもと、AWS Data Migration Service(DMS)を使用することにした。チューニングしながらの繰り返し検証に1カ月ほどかけた。
「移行元データベースへの影響を最小限に抑えつつ、データ転送速度も追求しました。これを自前でやろうとすると、テストから何からものすごい手間となったことでしょう」
○データベースの運用が劇的に改善
こうして2018年12月に、Auroraへのデータベース移行が完了してサービスをリリースする。すると、移行元のデータベースでデータベース複製処理にリードタイム720分、遅延増加ペースが月に60分かかっていたところ、新しいAuroraの環境では、リードタイムが90分、月遅延増加ペース3分と劇的な改善を見せたのだった。
ただし、システム全般の課題も見えてきたという。「モノリシックな構成を改めて実感するなど課題が明確になったので、現在は、開発スピードの向上を目指して、アプリケーション基盤のコンテナ化に取り組んでいるところです。金融機関なのガイドラインや各種法令を遵守しつつ、ベンチャーとしてのスピード感も失わないようチャレンジしていきます」と、浦野氏は意気込みを示した。
一連のデータベース移行プロジェクトに関して、取締役 COO&CTOの井上正樹氏は次のようにコメントする。
「金融機関である当社は、たとえ障害が起きてもお客さまのデータを守ることが絶対条件になります。この規模のインフラをどのように運用するのがベストか、さまざまなリスクも踏まえてトータルで判断した結果、Auroraへの移行が決まりました。AWSには豊富な知見があり、各種フォローもしてくれるので、自社でインフラを運用するよりも効率的と考えています。加えて、最新の技術を常にアップデートしながら使っていけるというのも、開発のスピードアップをはじめさまざまなメリットがあると期待しています」