More Related Content
Similar to Deconstruction of Serverless and blockchain (20)
Deconstruction of Serverless and blockchain
- 5. そもそもサーバーレスに至る背景
● 仮想化
● クラウド(マネージドVM)
● PaaS(マネージドアプリケーション実行環境)
● サービスファブリック
● リソースを確保してから使う ー> 必要な分だけ使う(JIT)
● ワールドワイドでのスケールアウト
● 自作するよりサービスを買ってきたほうが良いケースも多い
Copyright © NTT COMWARE CORPORATION 2017
- 6. 必要な分だけ使う
● 物理サーバ → VM
○ 資材の購買,設置,廃棄などのリードタイムを短縮
● VM → PaaS
○ 基盤の構築やメンテナンスをサービスプロバイダーにおまかせ
○ アプリより上のレイヤーに注力できるようになる
● FaaS
○ 必要になった時だけリソースを確保
○ VMやコンテナよりもはるかに短いライフサイクル (ms単位)
準備 利用 片付け
削減
アプリの運用
基盤の運用削減
アイドル
リソース削減
Usage
Copyright © NTT COMWARE CORPORATION 2017
- 7. 有名なFaaS
● AWS lambda
● Azure Function
● Bluemix OpenWhisk
● Google Cloud Function
Copyright © NTT COMWARE CORPORATION 2017
- 8. FaaS
● プログラミングで言うところの"関数"の実行環境
● PaaSのbuild packを関数単位にしたイメージ
○ ライブラリ群,コールバック関数をパックしたものをデプロイする
● 関数なので呼ばれた時だけ実行される
○ デプロイ時に関数を呼ぶための受け口を指定する
○ 例えばWebHook
○ イベントを受けて関数が実行され,その結果を元に次のイベントが発生する
○ 長時間CPUを専有する用途には不適
Copyright © NTT COMWARE CORPORATION 2017
- 12. サーバーレスアーキテクチャの特徴
● ステートレス
○ ステートフルなものはマネージドサービスに押し込む
● イベント駆動
○ 考え方はリアクティブそのもの
● スケールアウトが容易
● ID主体の認証・認可
○ アプリサーバーにリクエストと認証・認可が一点集中するのではなく,
IDを元にクライアントやサービスが自由に呼び出し合い,
それぞれが認証・認可を行う
● クライアントサイドに機能が移転
○ クライアントアプリで各種サービスを呼び出して機能を組み立てることが容易になってきた
Copyright © NTT COMWARE CORPORATION 2017
- 14. ブロックチェーンとは
● 分散台帳(Distributed Ledger) と言われるもの
● ハッシュチェーン+分散合意アルゴリズムが主成分
○ ハッシュチェーン: ハッシュ値によって過去のデータと繋がりを示せるデータ構造
○ 分散合意: 参加者相互にデータを検証し合意する
○ 公開鍵暗号: 匿名でID(口座)を表現
● 仮想通貨のBitcoinで有名になった
Copyright © NTT COMWARE CORPORATION 2017
- 17. ブロックチェーンのありがちなネイティブ実装
● データはKVSで扱う
○ ハッシュチェーンはハッシュ値がデータを指し示す構造なので, KVSと相性が良い
○ BitcoinではBerkeley DBやLevel DBが利用されている
● トランザクションはイベント駆動
○ HyperLedgerでは,トランザクションはコンテナで処理する
○ APIの受け口がある
● 最近はIAM付きのブロックチェーンもある
○ スマートコントラクトのように複雑なトランザクションを作ろうとすると
どうしてもIAM等が必要になる
● あれ?なんかサーバーレスアーキテクチャに似ている・・・?
Copyright © NTT COMWARE CORPORATION 2017
- 25. まとめ
● サーバーレス ⊃ ブロックチェーン
● (ブロックチェーン ⊃ FaaS ) ⊂ サーバーレス
● 時代は並行分散ピタゴラ装置
○ ステートレスとステートフルの分離
○ ステートフルな基盤はマネージドサービスにおまかせ
○ ステートレス部分は分散システム基盤に乗せて自動運転
○ 部品はFaaSで糊付け
○ IDを持ち回り,各サービスで IAMを利用
○ クライアントサイドに制御が移行
Copyright © NTT COMWARE CORPORATION 2017
- 27. Thank you
Enjoy Hacking
商標等引用に関する表示
・AWS,AWS lambda,Alexa Skills は米国その他の諸国におけるAmazon.com, Inc.またはその関連会社の商標です.
・Azure はMicrosoft Corporationの米国及びその他の国における商標です.
・Google,Google Cloud Platform はGoogle Inc.の米国およびその他の国における商標です.
・IBM,IBM Bluemix はInternational Business Machines Corporationの米国およびその他の国における商標です.
・その他,記載されている社名,製品名,サービス名などは各社の商標または登録商標である場合があります,
Copyright © NTT COMWARE CORPORATION 2017