Slide 1

Slide 1 text

株式会社マネーフォワード 2016年06月23日 CISOが明かす 「ビジネスを成功させるUX作り」 の 裏側a

Slide 2

Slide 2 text

自己紹介 2 市川貴志(いちかわたかし) 執行役員 CISO最高情報セキュリティ責任者 https://www.wantedly.com/users/995  辻調グループ・フランス校卒業。西洋料理の本場でフ ランス料理を学び、Lyon郊外の二つ星レストランに て研修を受ける。  2000年 マネックス証券株式会社入社、調理業界で の知識を活かし、株式取引システムインフラの開発・ 運用・PM業務を担当。  2008年 マネックスグループに転籍。子会社のシス テム統合などを担当。  2010年 大手金融システム開発会社にて、オンライ ン為替証拠金取引サイトの新規構築にインフラ担当の 責任者として参画。  2012年 株式会社マネーフォワードでシステムイン フラ・セキュリティ部門を担当(CISO)現在に至る。 © Money Forward,Inc.

Slide 3

Slide 3 text

自己紹介(フランス料理人から、社内給食当番へ転職) 3 © Money Forward,Inc.

Slide 4

Slide 4 text

自己紹介 4 給食の時間帯以外は CISOとしてセキュリティを インフラの安定化とスケールを アプリケーションの品質と価値の最大化を いつも考えて、仕事をしています © Money Forward,Inc.

Slide 5

Slide 5 text

セキュリティ 5 「 CISO とは 」 「 自社サービスに特化したブレーキそのもの 」 である 「 単に減速するだけでは、勝てない 」 © Money Forward,Inc.

Slide 6

Slide 6 text

マネーフォワードのご紹介

Slide 7

Slide 7 text

「お金を前へ。人生をもっと前へ。」 我々のサービスを通して、個々人のお金に対する悩みや不安が 軽減し、日々の暮らしの改善や夢が実現する。 そして、日本国内の「お金の流れ」が変わり、 より世の中が活性化し、新たなチャレンジを生み出しやすい 環境作りに貢献することが、我々が当事業を行う最大の目的である。 マネーフォワードのMission 7 © Money Forward,Inc.

Slide 8

Slide 8 text

提供サービス PFM(Personal Financial Management) 事業 自動家計簿・資産管理サービス ビジネス向けクラウドサービス 8 MFクラウド事業 © Money Forward,Inc.

Slide 9

Slide 9 text

PFM事業 個人向け

Slide 10

Slide 10 text

利用者数は350万人を突破! 個人向け

Slide 11

Slide 11 text

MFクラウド事業 オフィス向け

Slide 12

Slide 12 text

リリースからわずか2年で ユーザー数 50万を突破 (出所)マネーフォワードユーザーへのインターネット調査(当社調べ、調査期間:2014年7月) オフィス向け

Slide 13

Slide 13 text

サービスを構成するシステムのご紹介

Slide 14

Slide 14 text

システム構成(概要図) 14 © Money Forward,Inc.

Slide 15

Slide 15 text

システム構成(説明1 インフラ基盤) 15 1 AWSや物理サーバーのハイブリッド構成。台数は 約350台。物理や仮想は様々 2 SLAでシステム稼働率を99.95%と定義。インフラ 障害等で下回った実績はない堅牢な運用 • 稼働率 99.99614% (直近1年の実績) • AWSと物理、コストと性能のバランス、適材適所 • 動的に増減させる機会が多いWebインスタンス • 数十コア、数百Gメモリと、fusion-io 等の PCIeバス直接 接続型の超高速ストレージを搭載した物理DBサーバー • 10,000 – 20,000 IOPS程度のデータの読み書き • 1回、100万通以上送信するメールサーバー © Money Forward,Inc.

Slide 16

Slide 16 text

システム構成(説明2 アカウントアグリゲーション) 16 自動で、定期的にデータを連携先サイトから取得 することで、ユーザーの利便性を向上 自動家計簿サービス、会計サービスの自動仕訳機 能などに関連する、重要な処理 • 自動かつ、定期的に実行することが、サービス上非常に 重要 • 2,580を超える金融関連サービスと連携 • 350万ユーザーのデータを蓄積。約50億レコード、圧縮 済みデータで数TBの連携関連情報をDBに保存 • 『MFクラウド会計・確定申告』では、『MFクラウド電子 証明書連携ソフト』として特許出願中 出願番号:特願 2015-026999 1 2 © Money Forward,Inc.

Slide 17

Slide 17 text

セキュリティ 17 1 保存データは重要度に応じて、データを扱うネッ トワークを分割し、複数個所に分散保存 • ネットワークを複数階層に分けFireWallを挟み、 重要なデータはより深い場所に永続化 • プロセスの責務と取り扱うデータを明確に • 様々なことを想定し、多重のセーフティーネットを • セキュリティアラート発報の仕組み • 1か所にすべてのデータを置かない • 円滑な開発や運用に多少支障が出ても、データの保存 場所をあるルールで分ける(詳細は説明できません) © Money Forward,Inc.

Slide 18

Slide 18 text

セキュリティ 18 2 データは暗号化して保存。復号鍵をシステム内に は配置しない • DBの暗号化(透過的暗号化ではない) • 重要データは暗号化した上で取り扱う • 暗号化しただけで満足してはダメ • 鍵管理システムから動的に鍵をセキュアに読み込みプ ロセスが起動するなど、復号鍵の取り扱いが重要 • システム内通信、プロセス間通信も暗号化 • データの保存時以外も、プロセス間通信も暗号化 • これも、当たり前と言えば当たり前 © Money Forward,Inc.

Slide 19

Slide 19 text

セキュリティ 19 地味で当たり前なことを、当たり前にやる。実は これが一番大事 • ミドルウェア脆弱性にいち早く対応する • ミドルウェアの脆弱性が発見された場合、速やか(早 ければ翌日)に全システムに適用を実施し、完了した ことをサイトで公開 • 内部からのアクセス制限、管理 • BIG-IP APM PWS プロテクテッドワークスペース • データを持ち出せないシステム、持ち出さない運用 • アクセス権限は最小限に、そして定期的見直し • 操作端末の記録取りや、監査等の実施 3 © Money Forward,Inc.

Slide 20

Slide 20 text

今日の本題、UX(ユーザー体験)について

Slide 21

Slide 21 text

本日お伝えしたいこと © Money Forward,inc. 21 「ビジネスを成功させるUX作り」 それは 「ITインフラを活用し、どのようにUXを支え ビジネスに貢献するか」 である

Slide 22

Slide 22 text

おさらい「UXとは」(ググってみました) © Money Forward,inc. 22 1 ある製品やサービスを利用したり、消費した時に 得られる体験の総体 2 個別の機能や使いやすさのみならず、ユーザが真 にやりたいことを楽しく、心地よく実現できるか どうかを重視した概念

Slide 23

Slide 23 text

おさらい「UXとは」 (社内で聞いてみました) © Money Forward,inc. 23 2 究極的には神の視点で、課題を解決すること (技術部、エンジニアより) 1 ユーザーの本質的な課題を解決すること (PFM事業、サービス企画統括より) • 家計簿の入力を素早くできることや、サーバーが止まらないこ とだって、UXを支えている • 「ユーザー体験を損ねないよう」、「より高めるには何ができる か」と、考えれば、インフラやセキュリティ業務にも関係がある • ES(従業員満足度)社内エンジニア、DevOpsに関連するUXも ありますが、今回の話では対象外

Slide 24

Slide 24 text

© Money Forward,inc. 24 制約なく、神の視点で、究極のUXを一度考えてみる 観点  やりたいことが、ヌルヌル、 サクサク操作できるか  タップしてから待ちたくない スマホで入力・参照した時 の操作速度が気持ちいい •スマホアプリも、マネーフォワードサーバーも、CPUクロックが 999Ghz であれば処理が一瞬で終わる ユーザー体験 応 答 速 度 サービス提供者観点 •スマホAPIサーバーが、データベースサーバーにアクセスしなく ても書き込みが完了できる •究極的には、インターネットを飛ばして、通信なんかわざわざ しなくても、スマホとAPIサーバーがデータのやり取りをできる •ネットワークなんか、無ければいい デ ー タ の 永 続 化 サ ー ビ ス の 継 続 性  好きなだけデータを保存 したい  壊れて消えるとか、考え たくない 容量を気にせず、データ が保存できる 壊れても消えない  誤操作しても、いつでもミ スする前に戻りたい 都合が悪くなったら、いか なる場合も復元できる •1PBあたり、1万円のSSDがあれば、たぶんできる •スマホローカルではなく、サーバーサイドに保存する •AWS S3のストレージ(99.999999999% の耐久性) を超えるサービスの登場 •「おきのどくですが ぼうけんのしょは きえてしまいました」が、 絶対発生しない •都合が悪くなったら、リセットボタンを押すことで「ぼうけんの しょ」を記録した瞬間に戻る機能。を提供したい  サーバーサイドのシステム が消滅しても、「使えな い」状態になりたくない 究極のBCPが提供される ことで、安心できる •遠隔地拠点間WANがタダで使え、帯域も10Gbpsで、レ イテンシも東京大阪間でInfiniBand相当。その回線を利 用しストレージ間リアルタイムデータ同期が保障されている •バックアップセンタがボタン一つで確実に一瞬で立ち上がる •データの不整合が発生しない

Slide 25

Slide 25 text

© Money Forward,inc. 25 • でも、実際にはどれも、無理に近い • 999GhzだとCPUは発火する • ネットワークが無いと通信できない • 1PBのSSDを1万円で手に入れることは出来ない • 遠隔地リアルタイムバックアップセンタの運用維持コストはと てつもなく高額だし、 InfiniBandは100メートル程度しか届かない • 重要なデータ。消えるときは消える。 • でも、「できることから考える」のではなく、 • 「出来ないことでも、どの案が一番理想に近いか」 • という考えが重要 制約なく、究極のUXを一度考えてみる

Slide 26

Slide 26 text

© Money Forward,inc. 26 現実的なところに視線を落とし、理想のUXを考えてみる 観点  やりたいことが、ヌルヌル、 サクサク操作できるか  タップしてから待ちたくない スマホで家計簿情報入力 した時の操作速度が気持 ちよく速い •最新のセキュアなCDNを利用し、ユーザーごとに応答に差 があるJSONレスポンス自体をCDNから配信する ユーザー体験 応 答 速 度 現実的にできること •緊急のTV放送やCMが決まったら、動的にサーバーを増や すことでキャパシティ不足を安価に回避する •WebやAPIでよく使われる機能を今どきの監視ツールでレ スポンスを可視化し、劣化を速やかに検知し改善点をツー ルに教えてもらう デ ー タ の 永 続 化 サ ー ビ ス の 継 続 性  好きなだけデータを保存 したい  壊れて消えるとか、考えた くない 容量を気にせず、データ が保存できる 壊れても消えない  誤操作しても、いつでもミ スする前に戻りたい 都合が悪くなったら、いか なる場合も復元できる •MySQLのスロークエリを0.1秒閾値で出力し、 Elasticsearch+Kibana等で可視化し、チューニング対 象となるSQLをとにかく潰す •Rubyコミッターの採用により、オープンソースのRuby自身 の進化、速度向上を頑張ってもらう •そしてOSSへ還元もする •最近はメモリが安くなったので、DBのバッファプールや、キャッ シュミドルウェアのメモリ割り当てを、ひとまずハードウェアの限 界、満タンに積む  サーバーサイドのシステム が消滅しても、「使えな い」状態になりたくない 究極のBCPが提供される ことで、安心できる •「ヌルサク曜日」を設け、アプリチーム・インフラチームが協力 し、「アプリが、ヌルヌル サクサク動くようにチューニングする 日」を、組織として実施する。(技術的負債の返済) 今回は、応答速度に関連する UX施策に絞って説明

Slide 27

Slide 27 text

ウェブ・APIレスポンス、DBレスポンス、スロークエリの可視化等 © Money Forward,inc. 27 1 Elasticsearch + Kibana + Fluentd で オープンソースを利用した可視化 2 NewRelic APMで、サーバー内の処理や、JS/CSS 等の処理を可視化 • Webのどの画面、どのアプリケーションの応答速度が劣化して いるか • アプリケーション的に、どの画面のどの処理が遅いのか、どの 変化点から遅くなったのか • 1の処理が重いもの、1回は0.2秒だが1億回呼ばれているもの • SQLのチューニング、インデックスの見直し • MySQLのEXPLAINコマンドを利用した実行計画の確認 • データを壊してもよいミラー環境での検証

Slide 28

Slide 28 text

スロークエリの可視化と対応 © Money Forward,inc. 28

Slide 29

Slide 29 text

Railsアプリケーション処理時間の可視化と対応(APM) © Money Forward,inc. 29

Slide 30

Slide 30 text

JS・CSS等、ユーザーブラウザ内処理時間の可視化 © Money Forward,inc. 30

Slide 31

Slide 31 text

ある重要なQueue処理状況の可視化(Grafana) © Money Forward,inc. 31

Slide 32

Slide 32 text

インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 32 1 エンドユーザーの立場で考える、距離を近く保つ CS部門や、プロダクト部門との連携 2 売り上げ部門のKPIと、UX観点でのKPIを定め、 チーム横断で注力する対象を決め改善する • 声を発しないユーザーをアクセスログから分析 • 注力する対象を決め、応答速度改善を組織として対応 • 巻き込み力、歩み寄り、みんなが手を伸ばしてチューニングす る文化の構築が大事、押し付け合いはしない • 体制として、「チューニングの専任」を持つことは難しくても、 「ヌルサク曜日」というような仕組みを作る

Slide 33

Slide 33 text

インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 33 3 最近のサーバーは速くて安い 40コア384GB MEM + fusion-io も現実的 • 金を使うところには使う。最新の速いサーバーで解決できると ころはハードウェアの処理能力に任せる • 可視化ツールにもお金(OSSの場合は工数)をかける。自作す る部分は出来るだけ少なくし、皆が使っているものを使う

Slide 34

Slide 34 text

© Money Forward,Inc. 34 CPU %user %nice %system %iowait %steal %idle

Slide 35

Slide 35 text

マネーフォワードのインフラ・セキュリティチームとは • ミッション • 我々のチームは • サービスの提供に必要なプラッフォトームの提供 • アプリケーション、インフラに限らない横断的な視点の提供、社内インフラの提供 • これらの観点において • より速くより安定してセキュアなサービスを公開する責務を負います • より柔軟で高速なサービスを提供出来るプラットフォームの整備・運用・向上に責務を負います • 強固で柔軟なセキュリティ対策や監査を行い、より安心・安全を提供する事に責務を負います • ビジョン • ミッションを追うことによって、より大きくなった組織になっても、安心して前のめりのチャレンジを可 能にする組織の実現を目指します • チャレンジ出来る組織を通じて、社員が様々なサービス・技術にチャレンジし、よりエンドユーザー の立場になり、価値の高いサービスを追い求められる環境を実現する力になります • チーム指針 • エンドユーザーのUXを最優先に考えます • 我々のチームはシステムや社内の都合を振りかざすことなく、柔軟な仕事をします • サービスを成長させる為に、変化を恐れずチャレンジをします • 職人から大衆化を目指すのではなく、職人が主体の高パフォーマンスのチームであり続けます © Money Forward,inc. 35 ここに注力

Slide 36

Slide 36 text

エンドユーザーのUXを最優先に考えるにあたり © Money Forward,inc. 36 • もっと速く、もっと快適に、速いCPUのサーバー探し • SLAの月間稼働率 99.5%を守り続ける • 計画的システムメンテナンスの頻度を下げる • 担当者に依存しない構築や運用 • ビックデータの分析や活用提案ができるチームに • 金融機関のシステムを担げるような人の強化 快適に動き 止まらない セキュリティ 安心 体制の 強化 • 情報公開の範囲を広げることで安心に繋げる • プライバシーマーク(Pマーク)の取得 • 日本CSIRT協会への加盟 • セキュアコーディング、自動セキュリティテスト

Slide 37

Slide 37 text

Fintech インフラ・セキュリティに 興味があったらこちらまで 気軽にご連絡ください インフラ https://www.wantedly.com/projects/7727 セキュリティ https://www.wantedly.com/projects/58908

Slide 38

Slide 38 text

No content