Submit Search
アンチフラジャイルの世界
12 likes
5,219 views
Yoshitaka Kawashima
NoOps Meetup Tokyo #8での発表資料です。
Software
Read more
1 of 41
Download now
Downloaded 21 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
More Related Content
PDF
イミュータブルデータモデルの極意
Yoshitaka Kawashima
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
PDF
Where狙いのキー、order by狙いのキー
yoku0825
PDF
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
PDF
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
PDF
暗号技術の実装と数学
MITSUNARI Shigeo
PDF
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
イミュータブルデータモデルの極意
Yoshitaka Kawashima
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
Where狙いのキー、order by狙いのキー
yoku0825
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント
Takuya Takaseki
暗号技術の実装と数学
MITSUNARI Shigeo
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
What's hot
(20)
PDF
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
PDF
異次元のグラフデータベースNeo4j
昌桓 李
PDF
Dockerイメージ管理の内部構造
Etsuji Nakai
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PPTX
LINEのMySQL運用について 修正版
LINE Corporation
PDF
シリコンバレーの「何が」凄いのか
Atsushi Nakada
PPTX
Istioサービスメッシュ入門
Yoichi Kawasaki
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PDF
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
PDF
イマドキのExcelスクショの撮り方
Yoshitaka Kawashima
PDF
データベース設計徹底指南
Mikiya Okuno
PDF
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
PPTX
Azure Search 大全
Daiyu Hatakeyama
PPTX
グラフデータベース入門
Masaya Dake
PDF
Linux女子部 systemd徹底入門
Etsuji Nakai
PDF
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
PDF
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
異次元のグラフデータベースNeo4j
昌桓 李
Dockerイメージ管理の内部構造
Etsuji Nakai
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
LINEのMySQL運用について 修正版
LINE Corporation
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Istioサービスメッシュ入門
Yoichi Kawasaki
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
イマドキのExcelスクショの撮り方
Yoshitaka Kawashima
データベース設計徹底指南
Mikiya Okuno
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
Azure Search 大全
Daiyu Hatakeyama
グラフデータベース入門
Masaya Dake
Linux女子部 systemd徹底入門
Etsuji Nakai
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara
Ad
More from Yoshitaka Kawashima
(20)
PDF
Grokking Simplicity探訪
Yoshitaka Kawashima
PDF
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
PDF
Are Design Patterns Dead?
Yoshitaka Kawashima
PDF
Tackling Complexity
Yoshitaka Kawashima
PDF
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
PDF
本番障害に至る病
Yoshitaka Kawashima
PDF
システムダウンのひみつ
Yoshitaka Kawashima
PDF
Mavenの真実とウソ
Yoshitaka Kawashima
PDF
Atomic Architecture
Yoshitaka Kawashima
PDF
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
PDF
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
PDF
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
PDF
How to find tech books
Yoshitaka Kawashima
PDF
Antifragile Java - Java Day Tokyo 2017 D1-E1
Yoshitaka Kawashima
PDF
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
PDF
SIerにとっての越境 @ DevLOVE 199
Yoshitaka Kawashima
PDF
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
PDF
Antifragile Clojure
Yoshitaka Kawashima
PDF
Boilerplate vs Magic
Yoshitaka Kawashima
Grokking Simplicity探訪
Yoshitaka Kawashima
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
Are Design Patterns Dead?
Yoshitaka Kawashima
Tackling Complexity
Yoshitaka Kawashima
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
本番障害に至る病
Yoshitaka Kawashima
システムダウンのひみつ
Yoshitaka Kawashima
Mavenの真実とウソ
Yoshitaka Kawashima
Atomic Architecture
Yoshitaka Kawashima
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
How to find tech books
Yoshitaka Kawashima
Antifragile Java - Java Day Tokyo 2017 D1-E1
Yoshitaka Kawashima
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
SIerにとっての越境 @ DevLOVE 199
Yoshitaka Kawashima
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
Antifragile Clojure
Yoshitaka Kawashima
Boilerplate vs Magic
Yoshitaka Kawashima
Ad
アンチフラジャイルの世界
1.
アンチフラジャイルの世界 kawasima NoOps Meetup Tokyo
#8
2.
「わからない」にはレベルがある 今日覚えて帰ること①
3.
Cynefin Framework Chaotic Complex Complicated Simple
/ Obvious Disorder 問題に対する解: 1つは既知 (最良かどうかは分からない) 問題と解の因果関係: あり 問題の解き方: 把握-分析-対処 問題に対する解: 1つで既知 問題と解の因果関係: あり 問題の解き方: 把握-分類-対処 問題に対する解: 未知 問題と解の因果関係: あり 問題の解き方: 調査-把握-対処 問題に対する解: 未知 (問題も不明) 問題と解の因果関係: なし 問題の解き方: アクション-把 握-対処 解決策を得るための方向にはパ ターンがある 既知の解法から選択して適用す る (Good Practice) 既知の解法を適用する (Best Practice)行動を起こして、Complexな状 態に移行させる。 分からないことが分からない 分からないことがない 分からないことが分かっている 何もわからない http://www.mext.go.jp/b_menu/shingi/gijyutu/gijyutu7/011/siryo/__icsFiles/afieldfile/2014/12/16/1353933_4.pdf
4.
今日覚えて帰ること② 「複雑」には2種類ある 分からないことが分かっている 分からないことが分からない
5.
「複雑」と「複雑系」は違う Complex Chaotic 今日覚えて帰ること③
6.
どのレベルにあるのかによって 取るべき戦術が異なる
7.
Simple / Obvious 手順書のある安定したシステムの運用作業 状況を把握し、既知のベストプラクティスを適用する
8.
Complicated 状況を把握し、複数のソリューションから 最善なものを適用する デザインパターンやフレームワークを使った開発
9.
Complex 状況を調査し、進むべき道を決め、軌道修正しながら進む ターゲットが時間と共に動くサービス開発
10.
Chaoticな状況の生存戦略
11.
Fragileの対義語が無いので造られた Fragile Antifragile Robust 取り扱い注意 どうぞ落っことして みてください 取り扱いに注意するな という意味ではない
13.
Antifragileが載っている書籍
14.
世の中の出来事の非対称性七面鳥のおじさんへの信頼度 t 毎日エサを与えられ、 信頼度は日々蓄積されていく が…
15.
予測が出来ない大きな変動 (Black Swan) リーマンショックや日本のバブル崩壊、3.11 後になってみれば予測可能だった気がする(後知恵バイアス) 実際、予測は役には立たない。 ありそうもないことを 人は過小評価しがち
16.
Black Swanへの態度 Black Swanが起きたとき、反省すべきは… 事象そのものを 予測できなかったこと FragileやAntifragileを 理解していなかったこと 予測ミスによる損失を最小化し、利得を最大化する方法を考えよう
17.
Benefit Change Cost Antifragile Resilient Robust Fragile https://developers.redhat.com/blog/2016/07/20/from-fragile-to-antifragile-software/
18.
Cynefinフレームワークとの対応 Fragile Robust Resilient Antifragile 変動は想定せず(しなくてもよ く)、ベストプラクティスを 粛々と実行する。 変動を予測し、それに耐えうる ように最適なソリューションを 適用する。 変動を予測し、それにシステム が適応できるように設計する。 変動は予測せず、発生したとき の対処(あわよくば大きなゲイ ンを得る方法)を検討する。 Chaotic Complex Complicated Simple /
Obvious
19.
Simple/ObviousがChaoticに変わるケース ユーザが急増したときに、どういうBlack Swanが起こる (ユーザは正規のユーザだけとは限らない) ユーザは、ひどいもんだ。 ユーザがいなければ、システムはもっとうまく動くのに。 『Release It!』4章
安定性のアンチパターンより あなたのシステムが安定運用できているのは、 少ない行儀の良いユーザのおかげかもしれない…
20.
ソフトウェアの世界への適用
21.
Tinkering AdobeのKickboxやGoogleの20%ルール https://news.mynavi.jp/article/20151019-am201506/
22.
Fault Injection (in Production) 1.定常状態における振る舞いの仮説を立てる 2.実世界の事象は多様である 3.本番環境で検証を実行する 4.継続的に実行する検証の自動化 5.影響範囲を局所化する Chaos
Engineeringの5原則 https://principlesofchaos.org/?lang=JAcontent
23.
自動バグフィクス https://www.comp.nus.edu.sg/~abhik/pdf/cacm19.pdf
24.
例) DeepFix http://www.iisc-seal.net/deepfix Deep Learningを利用した、パッチの自動生成
25.
Auto Tuning https://qiita.com/kawasima/items/5d8a8a9b84aae6d7de71
26.
Property Based Testing Example
Based Testing ● 入力: 具体的な値 ● Assertion: 決まりがない (…ので、マッチポンプテストに陥りがち) Property Based Testing ● 入力: スペックにしたがい自動生成 ● Assertion: 期待したふるまいか?を検証
27.
例) Web APIのProperty
Based Testing https://qiita.com/kawasima/items/25836e443e8822e89b24 Clojure specのJavaScript移植
28.
例) Web APIのProperty
Based Testing 定義したSpecに沿って、パラメータを生成しAPIを自動で叩く。 Spec外の値も生成できると、Antifragileに近づく (まだこれから)
29.
Noise除去 データに触れれば触れるほど、「信号」と呼ばれる貴重な情報よりも、 ノイズに触れる可能性は不釣り合いに高まっていく。 https://medium.com/netflix-techblog/scryer-netflixs-predictive-auto-scaling-engine-part-2-bb9c4f9b9385 「静観」をシステムが判断したい…
30.
Antifragile System を支える技術
31.
Microservices Antifragileのためとしては、以下2点 障害の局所化 Tinkeringの環境
32.
亀裂の伝播を防ぐ 1.タイムアウト 2.サーキットブレイカー 3.隔壁 ・・・ 必要なすべては、 Release It!の中に
33.
DevOps Culture Automation Measurement Sharing 重なりは多い DevOps Antifragile 失敗を前提とした案件
34.
Road to DevOps
& Antifragile ① DevとOpsを分離する ② Opsを無人化する ③ OpsのAntifragile化
35.
DevとOpsの分離 ITILやSOX法への対応のためには、開発者が 本番環境に気軽にアクセスできることはまかりならない 開発環境 本番環境 運用チーム開発チーム アクセスは互いに 制限される
36.
Opsの無人化 Devが本番環境にログインしない 開発環境 本番環境 運用チーム開発チーム デプロイ対象の提供 本番のメトリクス 発生障害情報の連携
37.
OpsのAntifragile化 開発環境 本番環境 運用チーム開発チーム Tinkering /
FIT 本番環境にストレスを加えて強くする
38.
Wrap up
39.
置かれた状況がどこかを知ることが最重要 仮説検証 Simple / Obvious ComplectComplex Chaotic Tinkering Fault
Injection 専門家のアサイン ルール作り / 訓練 Agile パターンランゲージ グッドプラクティスが分かっていることや事前調査 もできないことを仮説検証しないために… 今日覚えて帰ること④
40.
複雑さの推移 何があたるかサッパリ Complicated Chaotic Chaotic Complicated Simple / Obvious 勝ち方を見つける Complex 事業の安定収益化 Business
Side System Side t
41.
λove chaos
Download