antifragile clojure

17
Antifragile Clojure kawasima nishi-shinju-clojure #0

Upload: yoshitka-kawashima

Post on 06-Jan-2017

2.063 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Antifragile Clojure

Antifragile Clojurekawasima

nishi-shinju-clojure #0

Page 2: Antifragile Clojure

Antifragileリーマンショックで大儲けしたニコラス・タレブの書いたブラック・スワンに続くヒット作(日本語訳は未)

主題は、不確実なことが実際に起きたときに、大きなゲインを得ようというもの。

Page 3: Antifragile Clojure

Love disorder

Page 4: Antifragile Clojure

Fragileの反対とは?

fragile

Antifragile

Robust

取り扱い注意

どうぞ落っことしてみてください

取り扱いに注意するなという意味ではない

タレブ先生の詭弁だと思います

Page 5: Antifragile Clojure

イメージ図(公式)

ダモクラス フェニックス ヒドラ

Fragile Robust(Resilient) Antifragile

ちょっとしたことで

上に吊るされた剣が

落ちてきて死亡

死んでも

何度でも甦る1つ首を切ると、

2つはえてくる

Page 6: Antifragile Clojure

イメージ図 (日本版)

Page 7: Antifragile Clojure

Antifragileのソフトウェア開発への応用Fragile Robust

(Resilient) Antifragile

計画変更を計画してないウォーターフォール

クラウドを使ったレジリエントなアーキテクチャ

アジャイル DevOps

NetflixFIT

(Failure as a Service)プロビジョニングのない

モノリシックなアーキテクチャ

Page 8: Antifragile Clojure

Antifragile System関連書籍

Page 9: Antifragile Clojure

Love errorsEmbrace failures

Page 10: Antifragile Clojure

Antifragileの稚拙な解釈

「なるほど。失敗のなぜなぜ分析をして二度と類似の失敗をしないようにすることがアンチフラジャイルなんだなっ!!」

???

Page 11: Antifragile Clojure

エラーから学ぶのはAIが主役に

http://www.sciencedirect.com/science/article/pii/S1877050914007017

App App App

Monitoring

Evaluator Feedback

次の最適な値を決めてアプリケーションに反映する

Page 12: Antifragile Clojure

AntifragileなJVMコンテナ

https://github.com/kawasima/falchion

Falchion ContainerJVM real process

WebApplication

JVM pool

JVM virtual process

JVM virtual processJVM real process

WebApplication

Listen the same port

Page 13: Antifragile Clojure

JVMのパラメータを自動的にチューニングする

Page 14: Antifragile Clojure

このフィードバックループはプログラム自体にも適用したい

ClassCastExceptionの発生を検知し、

型変換を自動的に追加する。

Page 15: Antifragile Clojure

プログラムを書くのが人だけとは限らなくなる世界

clojure.specはそのための重要なファクターになるかも

人でも機械でも書きやすいisomorphicな言語が必要

Page 16: Antifragile Clojure

人間がコンピュータに歩み寄ったシンタックスだから流行らない

と言われてきたS式がむしろ時代の中心に

Page 17: Antifragile Clojure

AntifragileAntifragileなソフトウェア開発の未来なソフトウェア開発の未来

のためにのために

ClojureClojureを書こうを書こう