Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tech Meetup by MoneyForward vol.2 インフラ・セキュリティ
Search
Ichikawa Takashi
June 23, 2016
Technology
0
2.2k
Tech Meetup by MoneyForward vol.2 インフラ・セキュリティ
http://moneyforward.connpass.com/event/32824/
CISOとインフラ・セキュリティ担当が登壇!ご参加をお待ちしています!
ハッシュタグ #mf_meetup
Ichikawa Takashi
June 23, 2016
Tweet
Share
More Decks by Ichikawa Takashi
See All by Ichikawa Takashi
120億レコードの金融資産データを扱うマネーフォワードのMySQL活用のこれまでとこれから
ichikawatakashi
26
21k
マネーフォワード プロテクテッドワークスペース(MF PWS)
ichikawatakashi
1
1.1k
マネーフォワードが実践する「DevSecOps」
ichikawatakashi
3
2.1k
マネーフォワードCISOが明かす「ビジネスを成功させるUX作り」の裏側
ichikawatakashi
1
490
Other Decks in Technology
See All in Technology
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
AGIについてChatGPTに聞いてみた
blueb
0
130
複雑なState管理からの脱却
sansantech
PRO
1
140
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Taming you application's environments
salaboy
0
180
Engineer Career Talk
lycorp_recruit_jp
0
150
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
A Philosophy of Restraint
colly
203
16k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Practical Orchestrator
shlominoach
186
10k
Writing Fast Ruby
sferik
627
61k
Music & Morning Musume
bryan
46
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Transcript
株式会社マネーフォワード 2016年06月23日 CISOが明かす 「ビジネスを成功させるUX作り」 の 裏側a
自己紹介 2 市川貴志(いちかわたかし) 執行役員 CISO最高情報セキュリティ責任者 https://www.wantedly.com/users/995 辻調グループ・フランス校卒業。西洋料理の本場でフ ランス料理を学び、Lyon郊外の二つ星レストランに て研修を受ける。
2000年 マネックス証券株式会社入社、調理業界で の知識を活かし、株式取引システムインフラの開発・ 運用・PM業務を担当。 2008年 マネックスグループに転籍。子会社のシス テム統合などを担当。 2010年 大手金融システム開発会社にて、オンライ ン為替証拠金取引サイトの新規構築にインフラ担当の 責任者として参画。 2012年 株式会社マネーフォワードでシステムイン フラ・セキュリティ部門を担当(CISO)現在に至る。 © Money Forward,Inc.
自己紹介(フランス料理人から、社内給食当番へ転職) 3 © Money Forward,Inc.
自己紹介 4 給食の時間帯以外は CISOとしてセキュリティを インフラの安定化とスケールを アプリケーションの品質と価値の最大化を いつも考えて、仕事をしています © Money Forward,Inc.
セキュリティ 5 「 CISO とは 」 「 自社サービスに特化したブレーキそのもの 」 である
「 単に減速するだけでは、勝てない 」 © Money Forward,Inc.
マネーフォワードのご紹介
「お金を前へ。人生をもっと前へ。」 我々のサービスを通して、個々人のお金に対する悩みや不安が 軽減し、日々の暮らしの改善や夢が実現する。 そして、日本国内の「お金の流れ」が変わり、 より世の中が活性化し、新たなチャレンジを生み出しやすい 環境作りに貢献することが、我々が当事業を行う最大の目的である。 マネーフォワードのMission 7 © Money
Forward,Inc.
提供サービス PFM(Personal Financial Management) 事業 自動家計簿・資産管理サービス ビジネス向けクラウドサービス 8 MFクラウド事業 ©
Money Forward,Inc.
PFM事業 個人向け
利用者数は350万人を突破! 個人向け
MFクラウド事業 オフィス向け
リリースからわずか2年で ユーザー数 50万を突破 (出所)マネーフォワードユーザーへのインターネット調査(当社調べ、調査期間:2014年7月) オフィス向け
サービスを構成するシステムのご紹介
システム構成(概要図) 14 © Money Forward,Inc.
システム構成(説明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.
システム構成(説明2 アカウントアグリゲーション) 16 自動で、定期的にデータを連携先サイトから取得 することで、ユーザーの利便性を向上 自動家計簿サービス、会計サービスの自動仕訳機 能などに関連する、重要な処理 • 自動かつ、定期的に実行することが、サービス上非常に 重要
• 2,580を超える金融関連サービスと連携 • 350万ユーザーのデータを蓄積。約50億レコード、圧縮 済みデータで数TBの連携関連情報をDBに保存 • 『MFクラウド会計・確定申告』では、『MFクラウド電子 証明書連携ソフト』として特許出願中 出願番号:特願 2015-026999 1 2 © Money Forward,Inc.
セキュリティ 17 1 保存データは重要度に応じて、データを扱うネッ トワークを分割し、複数個所に分散保存 • ネットワークを複数階層に分けFireWallを挟み、 重要なデータはより深い場所に永続化 • プロセスの責務と取り扱うデータを明確に
• 様々なことを想定し、多重のセーフティーネットを • セキュリティアラート発報の仕組み • 1か所にすべてのデータを置かない • 円滑な開発や運用に多少支障が出ても、データの保存 場所をあるルールで分ける(詳細は説明できません) © Money Forward,Inc.
セキュリティ 18 2 データは暗号化して保存。復号鍵をシステム内に は配置しない • DBの暗号化(透過的暗号化ではない) • 重要データは暗号化した上で取り扱う •
暗号化しただけで満足してはダメ • 鍵管理システムから動的に鍵をセキュアに読み込みプ ロセスが起動するなど、復号鍵の取り扱いが重要 • システム内通信、プロセス間通信も暗号化 • データの保存時以外も、プロセス間通信も暗号化 • これも、当たり前と言えば当たり前 © Money Forward,Inc.
セキュリティ 19 地味で当たり前なことを、当たり前にやる。実は これが一番大事 • ミドルウェア脆弱性にいち早く対応する • ミドルウェアの脆弱性が発見された場合、速やか(早 ければ翌日)に全システムに適用を実施し、完了した ことをサイトで公開
• 内部からのアクセス制限、管理 • BIG-IP APM PWS プロテクテッドワークスペース • データを持ち出せないシステム、持ち出さない運用 • アクセス権限は最小限に、そして定期的見直し • 操作端末の記録取りや、監査等の実施 3 © Money Forward,Inc.
今日の本題、UX(ユーザー体験)について
本日お伝えしたいこと © Money Forward,inc. 21 「ビジネスを成功させるUX作り」 それは 「ITインフラを活用し、どのようにUXを支え ビジネスに貢献するか」 である
おさらい「UXとは」(ググってみました) © Money Forward,inc. 22 1 ある製品やサービスを利用したり、消費した時に 得られる体験の総体 2 個別の機能や使いやすさのみならず、ユーザが真
にやりたいことを楽しく、心地よく実現できるか どうかを重視した概念
おさらい「UXとは」 (社内で聞いてみました) © Money Forward,inc. 23 2 究極的には神の視点で、課題を解決すること (技術部、エンジニアより) 1
ユーザーの本質的な課題を解決すること (PFM事業、サービス企画統括より) • 家計簿の入力を素早くできることや、サーバーが止まらないこ とだって、UXを支えている • 「ユーザー体験を損ねないよう」、「より高めるには何ができる か」と、考えれば、インフラやセキュリティ業務にも関係がある • ES(従業員満足度)社内エンジニア、DevOpsに関連するUXも ありますが、今回の話では対象外
© Money Forward,inc. 24 制約なく、神の視点で、究極のUXを一度考えてみる 観点 やりたいことが、ヌルヌル、 サクサク操作できるか
タップしてから待ちたくない スマホで入力・参照した時 の操作速度が気持ちいい •スマホアプリも、マネーフォワードサーバーも、CPUクロックが 999Ghz であれば処理が一瞬で終わる ユーザー体験 応 答 速 度 サービス提供者観点 •スマホAPIサーバーが、データベースサーバーにアクセスしなく ても書き込みが完了できる •究極的には、インターネットを飛ばして、通信なんかわざわざ しなくても、スマホとAPIサーバーがデータのやり取りをできる •ネットワークなんか、無ければいい デ ー タ の 永 続 化 サ ー ビ ス の 継 続 性 好きなだけデータを保存 したい 壊れて消えるとか、考え たくない 容量を気にせず、データ が保存できる 壊れても消えない 誤操作しても、いつでもミ スする前に戻りたい 都合が悪くなったら、いか なる場合も復元できる •1PBあたり、1万円のSSDがあれば、たぶんできる •スマホローカルではなく、サーバーサイドに保存する •AWS S3のストレージ(99.999999999% の耐久性) を超えるサービスの登場 •「おきのどくですが ぼうけんのしょは きえてしまいました」が、 絶対発生しない •都合が悪くなったら、リセットボタンを押すことで「ぼうけんの しょ」を記録した瞬間に戻る機能。を提供したい サーバーサイドのシステム が消滅しても、「使えな い」状態になりたくない 究極のBCPが提供される ことで、安心できる •遠隔地拠点間WANがタダで使え、帯域も10Gbpsで、レ イテンシも東京大阪間でInfiniBand相当。その回線を利 用しストレージ間リアルタイムデータ同期が保障されている •バックアップセンタがボタン一つで確実に一瞬で立ち上がる •データの不整合が発生しない
© Money Forward,inc. 25 • でも、実際にはどれも、無理に近い • 999GhzだとCPUは発火する • ネットワークが無いと通信できない
• 1PBのSSDを1万円で手に入れることは出来ない • 遠隔地リアルタイムバックアップセンタの運用維持コストはと てつもなく高額だし、 InfiniBandは100メートル程度しか届かない • 重要なデータ。消えるときは消える。 • でも、「できることから考える」のではなく、 • 「出来ないことでも、どの案が一番理想に近いか」 • という考えが重要 制約なく、究極のUXを一度考えてみる
© Money Forward,inc. 26 現実的なところに視線を落とし、理想のUXを考えてみる 観点 やりたいことが、ヌルヌル、 サクサク操作できるか
タップしてから待ちたくない スマホで家計簿情報入力 した時の操作速度が気持 ちよく速い •最新のセキュアなCDNを利用し、ユーザーごとに応答に差 があるJSONレスポンス自体をCDNから配信する ユーザー体験 応 答 速 度 現実的にできること •緊急のTV放送やCMが決まったら、動的にサーバーを増や すことでキャパシティ不足を安価に回避する •WebやAPIでよく使われる機能を今どきの監視ツールでレ スポンスを可視化し、劣化を速やかに検知し改善点をツー ルに教えてもらう デ ー タ の 永 続 化 サ ー ビ ス の 継 続 性 好きなだけデータを保存 したい 壊れて消えるとか、考えた くない 容量を気にせず、データ が保存できる 壊れても消えない 誤操作しても、いつでもミ スする前に戻りたい 都合が悪くなったら、いか なる場合も復元できる •MySQLのスロークエリを0.1秒閾値で出力し、 Elasticsearch+Kibana等で可視化し、チューニング対 象となるSQLをとにかく潰す •Rubyコミッターの採用により、オープンソースのRuby自身 の進化、速度向上を頑張ってもらう •そしてOSSへ還元もする •最近はメモリが安くなったので、DBのバッファプールや、キャッ シュミドルウェアのメモリ割り当てを、ひとまずハードウェアの限 界、満タンに積む サーバーサイドのシステム が消滅しても、「使えな い」状態になりたくない 究極のBCPが提供される ことで、安心できる •「ヌルサク曜日」を設け、アプリチーム・インフラチームが協力 し、「アプリが、ヌルヌル サクサク動くようにチューニングする 日」を、組織として実施する。(技術的負債の返済) 今回は、応答速度に関連する UX施策に絞って説明
ウェブ・APIレスポンス、DBレスポンス、スロークエリの可視化等 © Money Forward,inc. 27 1 Elasticsearch + Kibana +
Fluentd で オープンソースを利用した可視化 2 NewRelic APMで、サーバー内の処理や、JS/CSS 等の処理を可視化 • Webのどの画面、どのアプリケーションの応答速度が劣化して いるか • アプリケーション的に、どの画面のどの処理が遅いのか、どの 変化点から遅くなったのか • 1の処理が重いもの、1回は0.2秒だが1億回呼ばれているもの • SQLのチューニング、インデックスの見直し • MySQLのEXPLAINコマンドを利用した実行計画の確認 • データを壊してもよいミラー環境での検証
スロークエリの可視化と対応 © Money Forward,inc. 28
Railsアプリケーション処理時間の可視化と対応(APM) © Money Forward,inc. 29
JS・CSS等、ユーザーブラウザ内処理時間の可視化 © Money Forward,inc. 30
ある重要なQueue処理状況の可視化(Grafana) © Money Forward,inc. 31
インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 32 1 エンドユーザーの立場で考える、距離を近く保つ CS部門や、プロダクト部門との連携 2 売り上げ部門のKPIと、UX観点でのKPIを定め、
チーム横断で注力する対象を決め改善する • 声を発しないユーザーをアクセスログから分析 • 注力する対象を決め、応答速度改善を組織として対応 • 巻き込み力、歩み寄り、みんなが手を伸ばしてチューニングす る文化の構築が大事、押し付け合いはしない • 体制として、「チューニングの専任」を持つことは難しくても、 「ヌルサク曜日」というような仕組みを作る
インフラ・アプリ・プロダクト共同で対応を進める © Money Forward,inc. 33 3 最近のサーバーは速くて安い 40コア384GB MEM +
fusion-io も現実的 • 金を使うところには使う。最新の速いサーバーで解決できると ころはハードウェアの処理能力に任せる • 可視化ツールにもお金(OSSの場合は工数)をかける。自作す る部分は出来るだけ少なくし、皆が使っているものを使う
© Money Forward,Inc. 34 CPU %user %nice %system %iowait %steal
%idle
マネーフォワードのインフラ・セキュリティチームとは • ミッション • 我々のチームは • サービスの提供に必要なプラッフォトームの提供 • アプリケーション、インフラに限らない横断的な視点の提供、社内インフラの提供 •
これらの観点において • より速くより安定してセキュアなサービスを公開する責務を負います • より柔軟で高速なサービスを提供出来るプラットフォームの整備・運用・向上に責務を負います • 強固で柔軟なセキュリティ対策や監査を行い、より安心・安全を提供する事に責務を負います • ビジョン • ミッションを追うことによって、より大きくなった組織になっても、安心して前のめりのチャレンジを可 能にする組織の実現を目指します • チャレンジ出来る組織を通じて、社員が様々なサービス・技術にチャレンジし、よりエンドユーザー の立場になり、価値の高いサービスを追い求められる環境を実現する力になります • チーム指針 • エンドユーザーのUXを最優先に考えます • 我々のチームはシステムや社内の都合を振りかざすことなく、柔軟な仕事をします • サービスを成長させる為に、変化を恐れずチャレンジをします • 職人から大衆化を目指すのではなく、職人が主体の高パフォーマンスのチームであり続けます © Money Forward,inc. 35 ここに注力
エンドユーザーのUXを最優先に考えるにあたり © Money Forward,inc. 36 • もっと速く、もっと快適に、速いCPUのサーバー探し • SLAの月間稼働率 99.5%を守り続ける
• 計画的システムメンテナンスの頻度を下げる • 担当者に依存しない構築や運用 • ビックデータの分析や活用提案ができるチームに • 金融機関のシステムを担げるような人の強化 快適に動き 止まらない セキュリティ 安心 体制の 強化 • 情報公開の範囲を広げることで安心に繋げる • プライバシーマーク(Pマーク)の取得 • 日本CSIRT協会への加盟 • セキュアコーディング、自動セキュリティテスト
Fintech インフラ・セキュリティに 興味があったらこちらまで 気軽にご連絡ください インフラ https://www.wantedly.com/projects/7727 セキュリティ https://www.wantedly.com/projects/58908
None