AWS Startup ブログ

なぜ次々と新しいサービスを出せるのか?「ミンカブ」の開発はスピード&保守性が肝!

こんにちは、Startup担当事業開発の浜宮 真輔です。

株式会社ミンカブ・ジ・インフォノイド(以下:ミンカブ)で部長を担当されている川端さんにお話しを伺いました。普段、投資をされない方でも「みんかぶ」という名前は聞いたことがあるのではないでしょうか?ミンカブはAIを活用したコンテンツ自動生成の仕組みを導入した投資家向け情報メディアの「みんなの株式」を運営されています。そちらの愛称が「みんかぶ」です。さらに、「株探」や「みんなの仮想通貨」、「みんかぶFX」等、多くの金融商品を対象としたサービスを提供し、投資を行う方々のインフラのようになっています。今回は、多くのサービスを世に生み出し、発展を続ける開発の裏側を聞いてきました。

・まずは川端さんの経歴は?

2007年7月にミンカブにジョインしました。創業は2006年なので社員ナンバーは小さい番号ですよ。大学時代の知人がCEOと一緒にミンカブを始めるところで声をかけてもらいました。それ以前は、いわゆる大きな会社のSIerで、社会人5年目にミンカブへ転職しました。当時は仕事の進め方などに窮屈さを感じており、ワクワクしながら踏み込んでいったのを覚えています。

入社時はシステムの担当ではなかったのです。最初はカスタマーサポートを担当しておりましたが、アクセス解析など担当領域が広がっていきました。そんな折に発生したリーマンショックがシステム担当になるきっかけでした。リーマンショックにより全社的なコスト削減の必要に迫られ、事業所を移転した他、人員やサーバーラックなど様々なリソースが縮小されました。そのタイミングでシステム部門に異動したのです。もちろんシステム部門も人数は減っており、そんな状態でぎっしり詰め込まれたサーバーラックを運用していた経験が、クラウドに移行した起因になっていますね。移行までに、2回ほどハードウェアごとデータセンター移転しており、とても大変でしたね。システム的には2011年あたりからKVMで仮想化を進め、2012年からAWSの利用を開始しています。

・現状のアーキテクチャーは?

基本はオーソドックスな形にしています。一般的なWeb3層構成で、ALBやRDS、ElastiCacheなど、AWSの標準的なサービスを利用していますね。AZの冗長化や耐障害性はもちろん意識していますが、コンテナは局所的な利用に留めています。コンテナにすることでスケーリングなど恩恵があるのは分かっているのですが、開発プロセスやシステム監視、障害対応など運用面に大きく影響するので、全面的な採用を見送っています。一方で、Kinesis・Lambda・DynamoDBを組み合わせて、サーバーレスで実現している機能もあります。ティックという価格情報からリアルタイムでチャートデータを更新する機能で、即時性と可用性が強く求められるためにこのような構成をとっています。

・技術面のアピールポイントはなんでしょうか?

「速さと保守性」が強みです。ミンカブは多数のサービスを展開していますが、何か新しくビジネスを始めるとき、システムを提供する速さが非常に重要になります。しかし、それと同じくらい保守性も重要と考えていて、速く提供したはいいが、保守性が低くてはお客様のニーズに追随してサービスを改善できません。その速さと保守性をあげるために開発効率や運用効率などの「効率性」を最大限に高めるように努めています。アーキテクチャーをオーソドックスにしている点もプラスに働いています。シンプルな構成なため、メンバーの理解が早く、横展開がスムーズにいきます。この考えはメンバー選定においても重要です。プログラミングスキルが高いに越したことはないのですが、それ以上にコミュニケーション・コストがかかってしまっては全体の効率を引き下げてしまう恐れがあります。採用段階でWeb開発の経験があまり無い方でも、知識や技術に興味を持ちつつ、コミュニケーションがとれる人ならばOKです。現時点では、チームの中でやっていける人かどうかというのを大事にしており、技術に対する興味があれば現場で学んでいけると考えています。もちろん会社として、どのフェーズにいるかによって持つべき強みは変わっていくと思いますので、その時に求める人物像のスキルが今とは違ってくる可能性はおおいにあります。

・海外企業との提携を多くされています。システム面の対応はどのように行っているのでしょうか?

海外のシステムが日本のAPIをつつくような構成にしていました。具体的には、情報ベンダーからはオンプレでしか提供されないデータをDirect Connect経由でAWS東京リージョンに集約していました。また、リードレプリカやAPIのエンドポイントをアイルランドなどの海外リージョンに作成し、海外アクセスのレイテンシ問題に対応しました。

もちろん問題もでてきます。ヨーロッパや北米では時差の問題があるため、API仕様に関するやりとりに時間がかかったり、日本時間の夜中に発生したトラブルの対応が遅れてしまったりしました。また、システムだけでなくローカライズした国や地域の文化を理解している人が必要だと学びましたね。当たり前ですけど法律も違えば、株式市場のあり方もエリアごとに違いがでてきます。そのため、コミュニケーション・レイヤーとして、システム・人・サービスなど階層化して展開を考える必要があると思っています。例えば、日本メンバーはAWSの環境構築やメディアの運用が得意なのですが、その考え方や手法を海外メンバーにシェアするなどのサポートに徹し、データの取り扱いなどきめ細かいローカライズは現地を分かっている海外メンバーが行う流れです。

・最後に、AWSのいい点を教えてもらってもいいでしょうか?

色々クラウドサービスは触りましたが、AWSはユーザーが使いやすいように変化していると感じました。例えば毎日触るコンソールです。いつの間にかIPアドレスをコピーするボタンが、従来の操作性を損なわないように配置されていたりと、日進月歩でユーザー目線の改善が行われているように感じます。他にも、古い話かもしれませんがIAMロールがインスタンス作成後に変えられるようになったり、セキュリティグループを複数割り当てられるようになったりとか、コンソール以外でも細かく改善されています。

お気に入りの機能ですか?もともとオンプレでDNSも自前でやっていたので、AWSに安心してお任せできるRoute53がとても良いです。4台のネームサーバで十分な可用性があるので、公開用はもちろん、内部DNSも心置きなく利用できます。オンプレ時代は内部DNSまで構築する余力がなく、IPアドレス管理表とhostsでホスト名を管理していたので、その頃に比べると運用効率が大きく改善されました。あとは、RDSのおかげでMySQLの細かい運用を考えなくてもよくて楽になりましたね。オンプレ時代はスケールアップ=ハードウェアの入れ替えになってしまい、それだけで大掛かりな作業だったのがコンソールから数クリックするだけで対応できますし、フェールオーバーも任せられるので、マスター・スレーブの切り替え作業で冷や汗がでることがなくなりました。

これはお願いですが、リザーブドインスタンスの購入プロセスを見直してほしいですね。最近も高額なリザーブドインスタンスを購入したのですが、数クリックで高額決済されると思うと、購入タイミングで間違いがないかどうか不安になってしまいます。今後、安心して購入ボタンを押せるようになることを期待しています!

川端さん、お忙しいところお時間いただき有難うございました!

編集後記)

多くのサービスをスピーディーに展開する根幹には、アーキテクチャーや体制作りに対する明確なポリシーがあると気づかされました。海外展開におけるナレッジなど貴重なお話有難うございました!

関連情報)
株式会社ミンカブ・ジ・インフォノイド

このブログの作者)
Shinsuke Hamamiya(浜宮 真輔)
ベンチャー企業を経て2005年に日本IBM入社。金融系の基幹システムにおけるプロジェクト・マネジメントに携わる。2016年に早稲田大学大学院にてMBA取得後、スタートアップ支援とオープン・イノベーションを促進するIBM BlueHubを担当。2018年よりAmazon Web Service Japan, K.K にてBusiness DevelopmentManager-startupsに着任。