SlideShare a Scribd company logo
NII dodai-deploy2.0 project

クラウドアプリケーションの
マルチプロセス・プログラミングモデル
を実現する「Data Center Kernel」

Ver1.1 2013/02/21
Etsuji Nakai
NII dodai-deploy2.0 project

$ who am i
 Etsuji Nakai
– Senior solution architect and cloud
evangelist at Red Hat.
– Working for NII (National Institute of
Informatics Japan) as a cloud technology
consultant.
– The author of “Professional Linux Systems” series.
• Available only in Japanese. Translation offering from publishers are welcomed ;-)
Professional Linux Systems
Technology for Next Decade

2

Professional Linux Systems
Deployment and Management

Professional Linux Systems
Network Management
「クラウドアプリケーション」の3形態
NII dodai-deploy2.0 project

クラウドアプリケーション = PaaS上のアプリケーション ?
 PaaSの特徴
– 開発者にはクラウドを(なるべく)意識しないプログラミングモデルを提供
– 実行環境の最適化はPaaS基盤が自動管理
• ユーザによるコントロールの自由度は少ない
– つまり「トラディショナルなアプリケーション開発者」を支える自動化機構
オートスケール
/ 負荷分散など

実行コンテナ

実行コンテナ

アプリケーション
コード

アプリケーション
コード

PaaS基盤
クラウド基盤
4

開発者が用意するのは
「クラウドを意識しない」
アプリケーションコード

実行環境の最適化は
PaaS基盤が自動管理
NII dodai-deploy2.0 project

クラウドアプリケーション = クラウド管理ツール?
 RightScale/Scalar/CloudFormsなどのクラウド管理ツールの特徴
– クラウド管理者に実行環境の自動化/最適化ロジックを実装するためのDSLを提供
– 管理者はVMインスタンス内のアプリケーションコードの開発には関わらない
– つまり、「開発済みのアプリケーション」に対する運用の効率化を支える自動化機構

クラウド管理者は、
VMインスタンス内の
アプリケーションの
開発には関わらない
オートスケール
/ 負荷分散など

VMインスタンス
アプリケーション
コード

クラウド管理ツール
自動化スクリプト

VMインスタンス
アプリケーション
コード

クラウド基盤
5

実行環境の最適化ロジックを
クラウド管理者がプログラミング

クラウドAPI
NII dodai-deploy2.0 project

本当の意味のクラウドアプリケーションとは?
 PaaSモデルとクラウド管理ツールモデルは、考え方が分断されており、これら
を融合/選択する包括的な利用モデルはまだ見当たらない。
– より汎用的で、どちらの使い方もできて、さらに、今までにない使い方を生み出すよう
なモデルは無いのだろうか?

 ヒント
– PaaS基盤よりも汎用的なクラウド基盤自動化/管理層を用意して、このレイヤーでクラ
ウド上のリソース(VMイメージ/ VMインスタンス等)を抽象化する。
– 専用の管理ツールから自動化を行うのではなく、汎用的なプログラムコードからの自動
化を実現するAPI/ライブラリを用意する。
– このプログラムコードの実行場所は任意に選択可能。
• 専用マシンで実行してもよい
→ クラウド管理ツール的利用法
• アプリケーションが実行されるVMインスタンス内で実行してもよい
→ 「クラウドをあえて意識したプログラミングモデル」を提供するPaaS的な利用法

6
NII dodai-deploy2.0 project

汎用的な「クラウドアプリケーション」のモデルイメージ

アプリケーションコード内部にも
自動化の機構を組み込んでしまう

管理サーバ
オートスケール
/ 負荷分散など

クラウド管理ツール

VMインスタンス

VMインスタンス
アプリケーション
コード

アプリケーション
コード

自動化Library

自動化Library

自動化Library
クラウド管理ツール的な自動化

自立分散的な自動化

汎用的なクラウド基盤自動化/管理層
自立分散のために、VMインスタンスリスト
などのグローバル情報はこの層で保持する

クラウドAPI

クラウド基盤
7

それぞれの利用方式に対して
必要なAPIの種類は異なる
「Data Center Kernel」とは?
NII dodai-deploy2.0 project

提案
 「自立分散的な自動化」を咀嚼して理解しやすくするように、リソースの抽象化
をトラディショナルなOS(オペレーティングシステム)のリソースモデルに
マッピングしてみる。
– 汎用的なクラウド基盤自動化/管理層 → Linuxカーネル
– VMインスタンス → プロセス
– 自動化ライブラリ → glibc
– 自動化ライブラリからの呼び出し → システムコール
– クラウドAPI → デバイスドライバ呼び出し

9
NII dodai-deploy2.0 project

つまりこんな感じ?
管理サーバ
fork / fork&exec

クラウド管理ツール

VMインスタンス

VMインスタンス

libdck

アプリケーション
コード

アプリケーション
コード

libdck

libdck

システムコール
システムコール

Data Center Kernel
デバイスドライバ

クラウド基盤
10
NII dodai-deploy2.0 project

さらに類推を進めると・・・
 この類推のもとで、DC Kenrelに必要な機能 / APIを洗い出してみる。
– マシンイメージのビルドデータ → ソースコード
– マシンイメージ → バイナリ実行ファイル
• ビルドデータを「make」するとマシンイメージができる
• lsコマンドでマシンイメージ一覧が取得できる

– VMインスタンス → プロセス
• psコマンドでVMインスタンス一覧が取得できる
• fork / fork&exec命令でVMインスタンスの起動ができる
• upstart/initスクリプトで関連するVMインスタンスの連携起動ができる

– VMの稼働状況/負荷状況 → プロセス負荷
• topコマンドでVMの負荷情報が取得できる

– etc.....

 つまり、DC Kernelに必要な機能は・・・
– vmイメージ作成/管理機能、VMインスタンス起動/管理機能、VMインスタンスのモニ
タリング機能、etc...

11

• 結果的には従来の自動化ツールが持っている/今後実装されるであろう機能にほぼ一致
• しかしながら、従来の自動化ツールをベースに機能追加するよりも、こちらの方がより自然な
モデルで汎用的なプラットホームを実装できるはず。
NII dodai-deploy2.0 project

Data Center Kernelモデルの可能性
 VMインスタンス内部のアプリケーションコードからオートスケールなどの処理
が実施可能
– VMインスタンス内部でしか取れない負荷情報に基づいたより精緻なリソース配分
– 単なる負荷状況ではなく、アプリケーションロジックから推定される必要リソース量に
基づく「プロアクティブ」なリソース配分
• Hadoop MapReduceは、データ量の均等割による分散しかできないが、これであれば、アプリ
ケーションコードがデータを解析中に自発的にスケールすることも可能

 プログラミングモデルが、従来のOS上の「マルチプロセス/マルチスレッドプロ
グラミング」に近くなる。
– このモデルから見ると、従来のクラウド上の自動化は、「シングルタスクシステム用の
アプリを擬似マルチタスク化していた」ような制限があるように思える。このモデルで
しか実現できない、新しいクラウドアプリケーションのパラダイムが開けると素晴らし
い。

12
NII dodai-deploy2.0 project

Data Center Kernelモデルの可能性
 自動化ライブラリ(glibc)の改変による抽象度の高い自動化を提供可能
– DC Kernel自体に埋め込まないので、アプリケーションごとにライブラリの差し替えが
可能。
• アプリケーションの特性に応じて最適なライブラリを選択可能
• より「インテリジェント」な自動化機構を研究/開発する共通プラットホームとなり得る

 複数クラウドをDC Kernelで束ねることで、「場所を意識しないアプリケーショ
ン実行」が可能に
– 適切なクラウドの選択ロジックなどは、自動化ライブラリのレイヤで実装可能

13
NII dodai-deploy2.0 project

その他のアイデア
 VMイメージの提供モデル
– アプリケーションとVMイメージが蜜結合するので、VMイメージは、全世界共通の
UUIDで管理する必要がある。
– 利用するクラウドに必要UUIDのイメージがあればそれを利用。
– ない場合は、ビルドデータから自前でmakeして配置するか、「イメージストア」から
バイナリを購入して、利用するクラウドに配置する。

 クラウド管理ツール的な使い方の例 〜 複数VM連携デプロイ機能の実装
– Upstartのようなイベントベースのフロー管理ツールで、イベントの発生に応じてアク
ションを発生する。
– イベントの種類やアクションの種類は、さらなる検討が必要。

 クラウド管理ツール的な使い方の例 〜 DC Kernel専用シェルの実装
– DC KernelのAPI(システムコール)を直接呼ぶ代わりに、シェルのように、コマンド
ラインで各種操作ができるツールがあると便利。クラウド自動化の「シェルスクリプ
ト」が書けるようになると良い。

14
NII dodai-deploy2.0 project

コンポーネントスタックの整理
ユーザ
DCKを前提としたアプリケーション

DCKを容易に利用するためのツール

dckapp
DCKのAPIを呼び出す
ライブラリ

dcktool

libdck

libdck

Data Center Kernel本体

dck

dckemu

IaaS Infra

15

本来はIaaS基盤が提供するべきだが、
既存のIaaSでは未実装の機能を
代替として提供するモジュール

AWS / OpenStack / Eucalyputus /
Wakame VDCなどの既存の
IaaS基盤を前提とする
NII dodai-deploy2.0 project

各コンポーネントスタックで実装するもののアイデア
 dcktool
– dcksh
– dckinit
 dckapp
– Autoscale httpd
– Autoscale echo server
 dkclib
– Ontology based resource assignment library
 dck
–
 dckemu
– Shared memory service
– Network virtualization service
 IaaS
– AWS/OpenStack/Eucalyptus/Wakame VDC/etc...
16
NII dodai-deploy2.0 project

Thank You!

Etsuji Nakai
Twitter @enakai00

More Related Content

What's hot

Red Hat Enterprise Linux 7.1 Kubernetes入門
Red Hat Enterprise Linux 7.1 Kubernetes入門Red Hat Enterprise Linux 7.1 Kubernetes入門
Red Hat Enterprise Linux 7.1 Kubernetes入門
Etsuji Nakai
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Etsuji Nakai
 
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解するEtsuji Nakai
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
Etsuji Nakai
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
Nobuyuki Matsui
 
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題
Asuka Suzuki
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2Etsuji Nakai
 
Docker入門
Docker入門Docker入門
Docker入門
Shun Tsunoda
 
20190722 OpenStack community past present future
20190722 OpenStack community past present future20190722 OpenStack community past present future
20190722 OpenStack community past present future
Akihiro Motoki
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Etsuji Nakai
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
Etsuji Nakai
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
npsg
 
Try andstudy cloud_20111108_tokyo
Try andstudy cloud_20111108_tokyoTry andstudy cloud_20111108_tokyo
Try andstudy cloud_20111108_tokyoEtsuji Nakai
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack
Akihiro Motoki
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能Etsuji Nakai
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
Akihiro Motoki
 

What's hot (20)

Red Hat Enterprise Linux 7.1 Kubernetes入門
Red Hat Enterprise Linux 7.1 Kubernetes入門Red Hat Enterprise Linux 7.1 Kubernetes入門
Red Hat Enterprise Linux 7.1 Kubernetes入門
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
 
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
 
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
 
Docker入門
Docker入門Docker入門
Docker入門
 
20190722 OpenStack community past present future
20190722 OpenStack community past present future20190722 OpenStack community past present future
20190722 OpenStack community past present future
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
ネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらいネットワークプログラマビリティ勉強会 これまでのおさらい
ネットワークプログラマビリティ勉強会 これまでのおさらい
 
Try andstudy cloud_20111108_tokyo
Try andstudy cloud_20111108_tokyoTry andstudy cloud_20111108_tokyo
Try andstudy cloud_20111108_tokyo
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack
 
RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能RDOで体験! OpenStackの基本機能
RDOで体験! OpenStackの基本機能
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 

Similar to クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」

TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップTECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
QlikPresalesJapan
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
Akira Inoue
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
Takayoshi Tanaka
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
Daisuke Nishino
 
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果よりネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
Yoshikazu Keikoin
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
Insight Technology, Inc.
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
griddb
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}
Norio Sashizaki
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Yasuhiro Yoshimura
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
Hideaki Tokida
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deployment
Tetsuya Sodo
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
Daisuke Nishino
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Preferred Networks
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
Aya Tokura
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
Akira Inoue
 
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 

Similar to クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」 (20)

TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップTECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
TECH TALK 2021/08/10 一歩進んだQlikアプリの開発~Qlik専用QVDファイルでシステムの効率アップ
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
 
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果よりネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
ネットワーク関連研究開発ご紹介-SDN/仮想ネットワーク応用の最新の成果より
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}
 
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deployment
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
第32回「SDNをみんなのものに。OpenDaylight Projectの試みとSDN 2014年への期待。」(2013/12/19 on しすなま!)
 

More from Etsuji Nakai

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
Etsuji Nakai
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
Etsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
Etsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
Etsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
Etsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
Etsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
Etsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
Etsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
Etsuji Nakai
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
Etsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
Etsuji Nakai
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
Etsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Etsuji Nakai
 

More from Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 

Recently uploaded

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 

Recently uploaded (14)

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 

クラウドアプリケーションの マルチプロセス・プログラミングモデル を実現する「Data Center Kernel」

  • 2. NII dodai-deploy2.0 project $ who am i  Etsuji Nakai – Senior solution architect and cloud evangelist at Red Hat. – Working for NII (National Institute of Informatics Japan) as a cloud technology consultant. – The author of “Professional Linux Systems” series. • Available only in Japanese. Translation offering from publishers are welcomed ;-) Professional Linux Systems Technology for Next Decade 2 Professional Linux Systems Deployment and Management Professional Linux Systems Network Management
  • 4. NII dodai-deploy2.0 project クラウドアプリケーション = PaaS上のアプリケーション ?  PaaSの特徴 – 開発者にはクラウドを(なるべく)意識しないプログラミングモデルを提供 – 実行環境の最適化はPaaS基盤が自動管理 • ユーザによるコントロールの自由度は少ない – つまり「トラディショナルなアプリケーション開発者」を支える自動化機構 オートスケール / 負荷分散など 実行コンテナ 実行コンテナ アプリケーション コード アプリケーション コード PaaS基盤 クラウド基盤 4 開発者が用意するのは 「クラウドを意識しない」 アプリケーションコード 実行環境の最適化は PaaS基盤が自動管理
  • 5. NII dodai-deploy2.0 project クラウドアプリケーション = クラウド管理ツール?  RightScale/Scalar/CloudFormsなどのクラウド管理ツールの特徴 – クラウド管理者に実行環境の自動化/最適化ロジックを実装するためのDSLを提供 – 管理者はVMインスタンス内のアプリケーションコードの開発には関わらない – つまり、「開発済みのアプリケーション」に対する運用の効率化を支える自動化機構 クラウド管理者は、 VMインスタンス内の アプリケーションの 開発には関わらない オートスケール / 負荷分散など VMインスタンス アプリケーション コード クラウド管理ツール 自動化スクリプト VMインスタンス アプリケーション コード クラウド基盤 5 実行環境の最適化ロジックを クラウド管理者がプログラミング クラウドAPI
  • 6. NII dodai-deploy2.0 project 本当の意味のクラウドアプリケーションとは?  PaaSモデルとクラウド管理ツールモデルは、考え方が分断されており、これら を融合/選択する包括的な利用モデルはまだ見当たらない。 – より汎用的で、どちらの使い方もできて、さらに、今までにない使い方を生み出すよう なモデルは無いのだろうか?  ヒント – PaaS基盤よりも汎用的なクラウド基盤自動化/管理層を用意して、このレイヤーでクラ ウド上のリソース(VMイメージ/ VMインスタンス等)を抽象化する。 – 専用の管理ツールから自動化を行うのではなく、汎用的なプログラムコードからの自動 化を実現するAPI/ライブラリを用意する。 – このプログラムコードの実行場所は任意に選択可能。 • 専用マシンで実行してもよい → クラウド管理ツール的利用法 • アプリケーションが実行されるVMインスタンス内で実行してもよい → 「クラウドをあえて意識したプログラミングモデル」を提供するPaaS的な利用法 6
  • 7. NII dodai-deploy2.0 project 汎用的な「クラウドアプリケーション」のモデルイメージ アプリケーションコード内部にも 自動化の機構を組み込んでしまう 管理サーバ オートスケール / 負荷分散など クラウド管理ツール VMインスタンス VMインスタンス アプリケーション コード アプリケーション コード 自動化Library 自動化Library 自動化Library クラウド管理ツール的な自動化 自立分散的な自動化 汎用的なクラウド基盤自動化/管理層 自立分散のために、VMインスタンスリスト などのグローバル情報はこの層で保持する クラウドAPI クラウド基盤 7 それぞれの利用方式に対して 必要なAPIの種類は異なる
  • 9. NII dodai-deploy2.0 project 提案  「自立分散的な自動化」を咀嚼して理解しやすくするように、リソースの抽象化 をトラディショナルなOS(オペレーティングシステム)のリソースモデルに マッピングしてみる。 – 汎用的なクラウド基盤自動化/管理層 → Linuxカーネル – VMインスタンス → プロセス – 自動化ライブラリ → glibc – 自動化ライブラリからの呼び出し → システムコール – クラウドAPI → デバイスドライバ呼び出し 9
  • 10. NII dodai-deploy2.0 project つまりこんな感じ? 管理サーバ fork / fork&exec クラウド管理ツール VMインスタンス VMインスタンス libdck アプリケーション コード アプリケーション コード libdck libdck システムコール システムコール Data Center Kernel デバイスドライバ クラウド基盤 10
  • 11. NII dodai-deploy2.0 project さらに類推を進めると・・・  この類推のもとで、DC Kenrelに必要な機能 / APIを洗い出してみる。 – マシンイメージのビルドデータ → ソースコード – マシンイメージ → バイナリ実行ファイル • ビルドデータを「make」するとマシンイメージができる • lsコマンドでマシンイメージ一覧が取得できる – VMインスタンス → プロセス • psコマンドでVMインスタンス一覧が取得できる • fork / fork&exec命令でVMインスタンスの起動ができる • upstart/initスクリプトで関連するVMインスタンスの連携起動ができる – VMの稼働状況/負荷状況 → プロセス負荷 • topコマンドでVMの負荷情報が取得できる – etc.....  つまり、DC Kernelに必要な機能は・・・ – vmイメージ作成/管理機能、VMインスタンス起動/管理機能、VMインスタンスのモニ タリング機能、etc... 11 • 結果的には従来の自動化ツールが持っている/今後実装されるであろう機能にほぼ一致 • しかしながら、従来の自動化ツールをベースに機能追加するよりも、こちらの方がより自然な モデルで汎用的なプラットホームを実装できるはず。
  • 12. NII dodai-deploy2.0 project Data Center Kernelモデルの可能性  VMインスタンス内部のアプリケーションコードからオートスケールなどの処理 が実施可能 – VMインスタンス内部でしか取れない負荷情報に基づいたより精緻なリソース配分 – 単なる負荷状況ではなく、アプリケーションロジックから推定される必要リソース量に 基づく「プロアクティブ」なリソース配分 • Hadoop MapReduceは、データ量の均等割による分散しかできないが、これであれば、アプリ ケーションコードがデータを解析中に自発的にスケールすることも可能  プログラミングモデルが、従来のOS上の「マルチプロセス/マルチスレッドプロ グラミング」に近くなる。 – このモデルから見ると、従来のクラウド上の自動化は、「シングルタスクシステム用の アプリを擬似マルチタスク化していた」ような制限があるように思える。このモデルで しか実現できない、新しいクラウドアプリケーションのパラダイムが開けると素晴らし い。 12
  • 13. NII dodai-deploy2.0 project Data Center Kernelモデルの可能性  自動化ライブラリ(glibc)の改変による抽象度の高い自動化を提供可能 – DC Kernel自体に埋め込まないので、アプリケーションごとにライブラリの差し替えが 可能。 • アプリケーションの特性に応じて最適なライブラリを選択可能 • より「インテリジェント」な自動化機構を研究/開発する共通プラットホームとなり得る  複数クラウドをDC Kernelで束ねることで、「場所を意識しないアプリケーショ ン実行」が可能に – 適切なクラウドの選択ロジックなどは、自動化ライブラリのレイヤで実装可能 13
  • 14. NII dodai-deploy2.0 project その他のアイデア  VMイメージの提供モデル – アプリケーションとVMイメージが蜜結合するので、VMイメージは、全世界共通の UUIDで管理する必要がある。 – 利用するクラウドに必要UUIDのイメージがあればそれを利用。 – ない場合は、ビルドデータから自前でmakeして配置するか、「イメージストア」から バイナリを購入して、利用するクラウドに配置する。  クラウド管理ツール的な使い方の例 〜 複数VM連携デプロイ機能の実装 – Upstartのようなイベントベースのフロー管理ツールで、イベントの発生に応じてアク ションを発生する。 – イベントの種類やアクションの種類は、さらなる検討が必要。  クラウド管理ツール的な使い方の例 〜 DC Kernel専用シェルの実装 – DC KernelのAPI(システムコール)を直接呼ぶ代わりに、シェルのように、コマンド ラインで各種操作ができるツールがあると便利。クラウド自動化の「シェルスクリプ ト」が書けるようになると良い。 14
  • 15. NII dodai-deploy2.0 project コンポーネントスタックの整理 ユーザ DCKを前提としたアプリケーション DCKを容易に利用するためのツール dckapp DCKのAPIを呼び出す ライブラリ dcktool libdck libdck Data Center Kernel本体 dck dckemu IaaS Infra 15 本来はIaaS基盤が提供するべきだが、 既存のIaaSでは未実装の機能を 代替として提供するモジュール AWS / OpenStack / Eucalyputus / Wakame VDCなどの既存の IaaS基盤を前提とする
  • 16. NII dodai-deploy2.0 project 各コンポーネントスタックで実装するもののアイデア  dcktool – dcksh – dckinit  dckapp – Autoscale httpd – Autoscale echo server  dkclib – Ontology based resource assignment library  dck –  dckemu – Shared memory service – Network virtualization service  IaaS – AWS/OpenStack/Eucalyptus/Wakame VDC/etc... 16
  • 17. NII dodai-deploy2.0 project Thank You! Etsuji Nakai Twitter @enakai00