Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Copyright 2019 FUJITSU LIMITED Cloud Native ~予測不能な世界と戦う~ 亀澤 寛之 富士通株式会社 @hiro_kamezawa 0 JEITAソフトウェアエンジニアリング技術ワークショップ2019
Slide 2
Slide 2 text
自己紹介 名前:亀澤 寛之 職歴: 2003年: 富士通に入社 2003年~2009年:Linux Kernelのメモリ管理開発 2008年~2012年:Linux Kernel / cgroup開発 2012年~2018年:コンテナ開発 • CNCFのボードメンバー等 2018年~ サービス開発(PO) 好きな言葉 Plan is nothing, but planning is everything. Ideas are cheap; execution is everything 枯れた技術の水平思考 Copyright 2019 FUJITSU LIMITED 1
Slide 3
Slide 3 text
Copyright 2019 FUJITSU LIMITED 本稿は執筆者本人の意見の表明であり、富士通株式会社とは関係はありません。 実践的な話は後のスピーカーに。 技術っぽくないのでごめんなさい。 Disclaimer 2
Slide 4
Slide 4 text
Cloud Native ? Copyright 2019 FUJITSU LIMITED 3
Slide 5
Slide 5 text
CNCFによる定義 Copyright 2019 FUJITSU LIMITED クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウ ドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および 実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービス メッシュ、マイクロサービス、イミュータブルインフラストラクチャ、および宣言型APIがあり ます。 これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労 力で頻繁かつ予測どおりに行うことができます。 Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシ ステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端 のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。 https://github.com/cncf/toc/blob/master/DEFINITION.md 4
Slide 6
Slide 6 text
Cloud Native Landscape Copyright 2019 FUJITSU LIMITED https://landscape.cncf.io/ 1,271 1,914,921 $14.21T $63.13B projects stars market funds 5
Slide 7
Slide 7 text
何のために?どう使う? Copyright 2019 FUJITSU LIMITED 6
Slide 8
Slide 8 text
VUCAの時代 Volatility(変動性) Uncertainty(不確実性) Complexity(複雑性) Ambiguity(曖昧性) Copyright 2019 FUJITSU LIMITED 7
Slide 9
Slide 9 text
ありえないことは起こる Copyright 2019 FUJITSU LIMITED 大震災 サブプライム問題 Meltdown/Spectre問題 スマップ解散 8
Slide 10
Slide 10 text
Copyright 2019 FUJITSU LIMITED 昨年の我々の10の予測は2つ当たった これは素晴らしい成果である どこかの調査会社 9
Slide 11
Slide 11 text
Copyright 2019 FUJITSU LIMITED 「この人に飼われてから毎日餌ももらえるし 毎日洗ってくれる。 僕は大事にされてるなぁ」 どこかの七面鳥 10
Slide 12
Slide 12 text
Copyright 2019 FUJITSU LIMITED Cloud Nativeで 予測不能な世界と戦う 今日のお題 11
Slide 13
Slide 13 text
本日の目標 普段クラウドネイティブの話の中で語られるような 技術や取り組み方が “不確実性”との闘いの中でどう位置付けられるのか なんとなくわかる Copyright 2019 FUJITSU LIMITED 12
Slide 14
Slide 14 text
Copyright 2019 FUJITSU LIMITED 「わが社の中期計画は3カ月です 長期計画?1年ですね。 3ヵ年計画?それはdreamと呼びます」 どこかの会社 不確実性に備える人たち① 13
Slide 15
Slide 15 text
Copyright 2019 FUJITSU LIMITED “Plans are nothing, Planning is everything.” Dwight D Eisenhower (1890-1969) 不確実性に備える人たち② 14
Slide 16
Slide 16 text
Copyright 2019 FUJITSU LIMITED 制作委員会方式 日本のアニメ制作 不確実性に備える人たち③ 15
Slide 17
Slide 17 text
予測不能な世界と戦う Copyright 2019 FUJITSU LIMITED 機敏になる 常に選択肢を持つ 失敗を味方にする 16
Slide 18
Slide 18 text
Copyright 2019 FUJITSU LIMITED “予測不能”と戦う三つのポイント Lv.1 機敏になる Lv.2 選択肢を持つ Lv.3 予測に頼らない 17
Slide 19
Slide 19 text
Copyright 2019 FUJITSU LIMITED Lv.1 機敏になる Lv.2 選択肢を持つ Lv.3 予測に頼らない 18
Slide 20
Slide 20 text
機敏さで不確かさと戦う Copyright 2019 FUJITSU LIMITED 軍隊 スポーツチーム スタートアップ 小売業 19
Slide 21
Slide 21 text
機敏さのために Copyright 2019 FUJITSU LIMITED ミッションコマンド アプリケーションファースト テスト戦略 20
Slide 22
Slide 22 text
アプリケーションファースト Copyright 2019 FUJITSU LIMITED App MW Runtime OS VM 従来型=積み上げ App MW Runtime OS VM クラウド型=呼び出し リソースは呼べば出てくる。ユーザーは“利益を生むこと” に集中する システムに乗って“設計”するものを減らす 21
Slide 23
Slide 23 text
アプリケーションファーストにおけるコンテナの意味 Copyright 2019 FUJITSU LIMITED App MW Runtime OS VM コンテナ アプリ+MW+Runtime をパッケージ コンテナイメージ 共通化されたインタフェース (Kubernetes+OCI+Linux) 様々なインフラ提供者 22
Slide 24
Slide 24 text
アプリケーションファーストとSaaS Copyright 2019 FUJITSU LIMITED 何をするにしても“設計”が一番時間がかかる もちろん自前主義も悪くはないがSaaSをちゃんと使おう オープンな技術で代替手段があるかどうかも(たぶん)ポイント 注力領域 コストメリットの低い領域 23
Slide 25
Slide 25 text
テスト戦略 Copyright 2019 FUJITSU LIMITED ありがちな従来型基幹システム レグレッション 再発防止テスト システムテスト ユニット テスト 際限なく増える 早さを目指すサービス 厚みのある 自動ユニットテスト 自動 E2Eテスト 最終 テスト 増えないよう監視 実装はCI/CDがカギだが “テストを追加してもよいか?”監視とルールが必要 並列化 24
Slide 26
Slide 26 text
Copyright 2019 FUJITSU LIMITED 品質を犠牲にしてスピードを出せというわけではないので注意 (参考)https://speakerdeck.com/twada/quality-and-speed 25
Slide 27
Slide 27 text
ミッションコマンド Copyright 2019 FUJITSU LIMITED ナポレオン Command and Control 消耗戦 現代の軍 Mission Command 機略戦 ミッションの徹底的な共有 優秀な現場判断 強力な情報見える化ネットワーク (参考) http://www.yasuhiro-tanaka.com/activity/images/32085_kaisetuzennbunn.pdf 26
Slide 28
Slide 28 text
人間の行動(O-O-D-A) Copyright 2019 FUJITSU LIMITED 観測 Observe 方針検討 Orient 行動 Act 決断 Decide O - O - D - A O-O-D-A Loopを速く回す 27
Slide 29
Slide 29 text
文化を変える Copyright 2019 FUJITSU LIMITED O-O-Dを遅くするもの • 優柔不断なリーダー • 情報の非共有 • 属人性 • 各種儀式 • 見えない仕事/突発的な仕事 • ミスと手戻り 単にクラウドを使っていても早くなったりはしない “消耗戦”をやめよう こちらに投資するのが先かもしれない。 小人数+カンバン+権限移譲から 志あれば意外といける Observe-Orient-Decideを早くしないとActが早くても仕方ない 28
Slide 30
Slide 30 text
Copyright 2019 FUJITSU LIMITED Lv.1 機敏になる Lv.2 選択肢を持つ Lv.3 予測に頼らない 29
Slide 31
Slide 31 text
未来に対する選択肢を持つことから利益が得られること Copyright 2019 FUJITSU LIMITED 賃貸物件 株式投資のポートフォリオ 無料お試し アイドルグループ オプション性 30
Slide 32
Slide 32 text
ITに選択肢をもたらすもの Copyright 2019 FUJITSU LIMITED 自由なプラットフォーム 多様性と直観 小さな停止コスト 31
Slide 33
Slide 33 text
自由なプラットフォーム Copyright 2019 FUJITSU LIMITED オープンソース AWS, Azure, GCP, VMWare…. 互換性確保の枠組み 32
Slide 34
Slide 34 text
小さな“停止”コスト Copyright 2019 FUJITSU LIMITED 疎結合 持たない 判断する 作りすぎない 誤解を恐れずに言うと アジャイルな開発プロセス モジュール化 Cloud Native SaaS利用 は”決断”を助ける大きな力になる 後から会社を縛りかねないルールは社長決裁にしないこと… 33
Slide 35
Slide 35 text
失敗を小さくする Copyright 2019 FUJITSU LIMITED 作り込み 時間 CHECK! リリース単位を細かくして確認するのが一つのやり方 34
Slide 36
Slide 36 text
顧客が本当に必要だったもの Copyright 2019 FUJITSU LIMITED 顧客視点の 情報が必要 + 途中で見せろ 35
Slide 37
Slide 37 text
失敗を小さくするリリース戦略 Copyright 2019 FUJITSU LIMITED 選択性のあるリリースプロセス ロールバック カナリアリリース Blue/Green 36
Slide 38
Slide 38 text
多様性と直観 Copyright 2019 FUJITSU LIMITED ちょっとやってみたんですけど、見てもらえますか? ○○さんが一晩でやってくれました! 遊びと直観 37
Slide 39
Slide 39 text
ミッションと計画 Copyright 2019 FUJITSU LIMITED 当初の計画 New Idea Start Goal 計画の順守 v.s. アイデア ⇒現場裁量+影響範囲の見切り 38
Slide 40
Slide 40 text
おまけ:自由度の枠 Copyright 2019 FUJITSU LIMITED 共通技術 チーム裁量 V.S. 人の教育に関するコストや共有知の蓄積を考えると ある程度“話が通じる共通の技術基盤”を持つべき… マイクロサービスって各チームが独立して…なんでしょ?? 39
Slide 41
Slide 41 text
Copyright 2019 FUJITSU LIMITED Lv.1 機敏になる Lv.2 選択肢を持つ Lv.3 予測に頼らない 40
Slide 42
Slide 42 text
リスクと脆さ Copyright 2019 FUJITSU LIMITED 例えば、「崖崩れが起きる可能性」は判らなくても 「崖崩れが起きたときの被害」は予測できる。 ○○が起きる確率に期待せず 起きても対処できるように投資する。 不確実な世界の基本的な考え方として 41
Slide 43
Slide 43 text
脆さと付き合う Copyright 2019 FUJITSU LIMITED ヒューマンエラーの取り扱い Black Boxをうまく扱う カオスエンジニアリング 42
Slide 44
Slide 44 text
ヒューマンエラーの取り扱い https://aws.amazon.com/jp/message/41926/ Copyright 2019 FUJITSU LIMITED 適切に権限を与えられたS3チームメンバーが確立された手順に従い、S3 の請求システムが利用するS3サブ システムを構成する少数のサーバを削除するコマンドを実行いたしましたが、その際、コマンドへの入力が 不適切であったため、想定よりも多くのサーバが削除される結果となりました。 今回のケースはキャパシティ削除がキーとなるオペレーションであったことから、ツールが短期間の間に多 くのキャパシティを削除することが許可されておりました。当該ツールを改修し、キャパシティ削除をより 時間をかけて実施するように変更するとともに、サブシステムが必要とするキャパシティレベルを下回らな いようキャパシティ低下を予防するセーフガードを設けております。 ヒューマンエラーを人間でなんとかしようとしない 43
Slide 45
Slide 45 text
(脱線)責任の話 Copyright 2019 FUJITSU LIMITED (原因) オペレーションミスです (対策) コマンドを修正します 報告書 脆さで判断 政治で決めちゃダメ 44
Slide 46
Slide 46 text
Black Boxをうまく扱う Copyright 2019 FUJITSU LIMITED ? 予測や期待をせず “現象”と“脆さ”に対策する 入力には寛容に、出力は厳密に どいつもこいつも信用できない! そういうエンジニアリングができるか? (例えばCircuit Breaker) 45
Slide 47
Slide 47 text
Black Boxと付き合う Copyright 2019 FUJITSU LIMITED 他人の モジュール 直観とヒューリスティック リスクヘッジ・影響範囲の限定 46
Slide 48
Slide 48 text
Black Boxとヒューリスティクス ヒューリスティクス 発見的(手法)とは、必ず正しい答えを導けるわけではないが、ある程度のレベ ルで正解に近い解を得ることができる方法である。発見的手法では、答えの精度 が保証されない代わりに、回答に至るまでの時間が少ないという特徴がある。 (Wikipedia) Copyright 2019 FUJITSU LIMITED 最終的に“正確さ”に時間をかけてよい。 リスクヘッジする仕掛けを利用者側で持つ 素早く作っていくときに、直観とヒューリスティック リスクは大きさをみる 人間の知恵が必要 47
Slide 49
Slide 49 text
カオスエンジニアリング ITの避難訓練 「起きない事」を実際に起こ し、影響を観測 “起きるかどうか不明”なもの を人為的に起こし、対策する Copyright 2019 FUJITSU LIMITED 48
Slide 50
Slide 50 text
CHAOS ENGINEERING FOR PEOPLE SYSTEMS https://speakerdeck.com/chaosconf/keynote-chaos-engineering-for-people-systems Copyright 2019 FUJITSU LIMITED 人に関する避難訓練 ランダムに選んだ人間を一週間業務禁止にする ランダムに選んだ人間が確率的に嘘を教える 会社なんて誰か一人いなくても回るようになってんだよ…… ………実際にやって確認する 49
Slide 51
Slide 51 text
Copyright 2019 FUJITSU LIMITED 心に留めたいこと 50
Slide 52
Slide 52 text
Cloud Nativeを活かした戦い方 Copyright 2019 FUJITSU LIMITED 選択と集中 巧緻拙速とリスクヘッジ 知恵と技術で失敗をハンドル 51
Slide 53
Slide 53 text
Cloud Nativeの先で:Amazon vs. Walmart 実際何が起きているのか? ヴァーチャルな世界での戦い(EC) で互角に戦うと リアルな実装(倉庫と物流網)が勝 負の趨勢を決めるように見える Copyright 2019 FUJITSU LIMITED https://forbesjapan.com/articles/detail/29147 アマゾンの「制約なき成長」の時期は過ぎ た? 最大手が形勢逆転(’19/08) 実際のところ、IT Systemは業務の一部に過ぎないのだから “実装”であるリアル業務が勝負(当たり前だが) ヴァーチャルな世界での戦いを互角に持ちこみつつどうするか? どこから手をつけるか? 52
Slide 54
Slide 54 text
手段のコモディティ化 Copyright 2019 FUJITSU LIMITED クラウド+OSS 使える武器はみんな同じ 53
Slide 55
Slide 55 text
xOps DevOps DataOps DesignOps BizOps BizDevOps BizSecOps CustomerOps RevenueOps ……….. Copyright 2019 FUJITSU LIMITED (参考)https://www.slideshare.net/takaumada/xops 世界はHACKできる エンジニアリングがビジネスを作る 54
Slide 56
Slide 56 text
まとめ Copyright 2019 FUJITSU LIMITED “武器はアイデアと愛嬌” 完 新しい地図のBland Movieより 55
Slide 57
Slide 57 text
No content