$30 off During Our Annual Pro Sale. View Details »

Tech Meetup by MoneyForward vol.2 インフラ・セキュリティ

Tech Meetup by MoneyForward vol.2 インフラ・セキュリティ

http://moneyforward.connpass.com/event/32824/
CISOとインフラ・セキュリティ担当が登壇!ご参加をお待ちしています!
ハッシュタグ #mf_meetup

Ichikawa Takashi

June 23, 2016
Tweet

More Decks by Ichikawa Takashi

Other Decks in Technology

Transcript

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

  2. 自己紹介 2 市川貴志(いちかわたかし) 執行役員 CISO最高情報セキュリティ責任者 https://www.wantedly.com/users/995  辻調グループ・フランス校卒業。西洋料理の本場でフ ランス料理を学び、Lyon郊外の二つ星レストランに て研修を受ける。

     2000年 マネックス証券株式会社入社、調理業界で の知識を活かし、株式取引システムインフラの開発・ 運用・PM業務を担当。  2008年 マネックスグループに転籍。子会社のシス テム統合などを担当。  2010年 大手金融システム開発会社にて、オンライ ン為替証拠金取引サイトの新規構築にインフラ担当の 責任者として参画。  2012年 株式会社マネーフォワードでシステムイン フラ・セキュリティ部門を担当(CISO)現在に至る。 © Money Forward,Inc.
  3. 自己紹介(フランス料理人から、社内給食当番へ転職) 3 © Money Forward,Inc.

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

  5. セキュリティ 5 「 CISO とは 」 「 自社サービスに特化したブレーキそのもの 」 である

    「 単に減速するだけでは、勝てない 」 © Money Forward,Inc.
  6. マネーフォワードのご紹介

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

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

    Money Forward,Inc.
  9. PFM事業 個人向け

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

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

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

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

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

  15. システム構成(説明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.
  16. システム構成(説明2 アカウントアグリゲーション) 16 自動で、定期的にデータを連携先サイトから取得 することで、ユーザーの利便性を向上 自動家計簿サービス、会計サービスの自動仕訳機 能などに関連する、重要な処理 • 自動かつ、定期的に実行することが、サービス上非常に 重要

    • 2,580を超える金融関連サービスと連携 • 350万ユーザーのデータを蓄積。約50億レコード、圧縮 済みデータで数TBの連携関連情報をDBに保存 • 『MFクラウド会計・確定申告』では、『MFクラウド電子 証明書連携ソフト』として特許出願中 出願番号:特願 2015-026999 1 2 © Money Forward,Inc.
  17. セキュリティ 17 1 保存データは重要度に応じて、データを扱うネッ トワークを分割し、複数個所に分散保存 • ネットワークを複数階層に分けFireWallを挟み、 重要なデータはより深い場所に永続化 • プロセスの責務と取り扱うデータを明確に

    • 様々なことを想定し、多重のセーフティーネットを • セキュリティアラート発報の仕組み • 1か所にすべてのデータを置かない • 円滑な開発や運用に多少支障が出ても、データの保存 場所をあるルールで分ける(詳細は説明できません) © Money Forward,Inc.
  18. セキュリティ 18 2 データは暗号化して保存。復号鍵をシステム内に は配置しない • DBの暗号化(透過的暗号化ではない) • 重要データは暗号化した上で取り扱う •

    暗号化しただけで満足してはダメ • 鍵管理システムから動的に鍵をセキュアに読み込みプ ロセスが起動するなど、復号鍵の取り扱いが重要 • システム内通信、プロセス間通信も暗号化 • データの保存時以外も、プロセス間通信も暗号化 • これも、当たり前と言えば当たり前 © Money Forward,Inc.
  19. セキュリティ 19 地味で当たり前なことを、当たり前にやる。実は これが一番大事 • ミドルウェア脆弱性にいち早く対応する • ミドルウェアの脆弱性が発見された場合、速やか(早 ければ翌日)に全システムに適用を実施し、完了した ことをサイトで公開

    • 内部からのアクセス制限、管理 • BIG-IP APM PWS プロテクテッドワークスペース • データを持ち出せないシステム、持ち出さない運用 • アクセス権限は最小限に、そして定期的見直し • 操作端末の記録取りや、監査等の実施 3 © Money Forward,Inc.
  20. 今日の本題、UX(ユーザー体験)について

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

  22. おさらい「UXとは」(ググってみました) © Money Forward,inc. 22 1 ある製品やサービスを利用したり、消費した時に 得られる体験の総体 2 個別の機能や使いやすさのみならず、ユーザが真

    にやりたいことを楽しく、心地よく実現できるか どうかを重視した概念
  23. おさらい「UXとは」 (社内で聞いてみました) © Money Forward,inc. 23 2 究極的には神の視点で、課題を解決すること (技術部、エンジニアより) 1

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

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

    • 1PBのSSDを1万円で手に入れることは出来ない • 遠隔地リアルタイムバックアップセンタの運用維持コストはと てつもなく高額だし、 InfiniBandは100メートル程度しか届かない • 重要なデータ。消えるときは消える。 • でも、「できることから考える」のではなく、 • 「出来ないことでも、どの案が一番理想に近いか」 • という考えが重要 制約なく、究極のUXを一度考えてみる
  26. © Money Forward,inc. 26 現実的なところに視線を落とし、理想のUXを考えてみる 観点  やりたいことが、ヌルヌル、 サクサク操作できるか 

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

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

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

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

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

  32. インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 32 1 エンドユーザーの立場で考える、距離を近く保つ CS部門や、プロダクト部門との連携 2 売り上げ部門のKPIと、UX観点でのKPIを定め、

    チーム横断で注力する対象を決め改善する • 声を発しないユーザーをアクセスログから分析 • 注力する対象を決め、応答速度改善を組織として対応 • 巻き込み力、歩み寄り、みんなが手を伸ばしてチューニングす る文化の構築が大事、押し付け合いはしない • 体制として、「チューニングの専任」を持つことは難しくても、 「ヌルサク曜日」というような仕組みを作る
  33. インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 33 3 最近のサーバーは速くて安い 40コア384GB MEM +

    fusion-io も現実的 • 金を使うところには使う。最新の速いサーバーで解決できると ころはハードウェアの処理能力に任せる • 可視化ツールにもお金(OSSの場合は工数)をかける。自作す る部分は出来るだけ少なくし、皆が使っているものを使う
  34. © Money Forward,Inc. 34 CPU %user %nice %system %iowait %steal

    %idle
  35. マネーフォワードのインフラ・セキュリティチームとは • ミッション • 我々のチームは • サービスの提供に必要なプラッフォトームの提供 • アプリケーション、インフラに限らない横断的な視点の提供、社内インフラの提供 •

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

    • 計画的システムメンテナンスの頻度を下げる • 担当者に依存しない構築や運用 • ビックデータの分析や活用提案ができるチームに • 金融機関のシステムを担げるような人の強化 快適に動き 止まらない セキュリティ 安心 体制の 強化 • 情報公開の範囲を広げることで安心に繋げる • プライバシーマーク(Pマーク)の取得 • 日本CSIRT協会への加盟 • セキュアコーディング、自動セキュリティテスト
  37. Fintech インフラ・セキュリティに 興味があったらこちらまで 気軽にご連絡ください インフラ https://www.wantedly.com/projects/7727 セキュリティ https://www.wantedly.com/projects/58908

  38. None